Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/simpx/loopat/promotenpx skills add simpx/loopat --skill promotegit clone --depth 1 https://github.com/simpx/loopatWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00133 | $0.00687 |
| Opus 5 | $0.00067 | $0.00344 |
| Sonnet 5 | $0.00027 | $0.00137 |
| Haiku 4.5 | $0.00013 | $0.00069 |
Grade A, and why
promote scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
promote — share a loop's context
Promote moves what's worth keeping from this loop into shared main. It is
deliberate — do it when the work is genuinely worth sharing, not on every
turn. You run plain git; if the merge conflicts, you resolve it yourself (you
are the merge agent — no other agent, no script).
Steps
cd into the worktree you want to promote — /loopat/context/notes,
/loopat/context/knowledge, /loopat/context/personal, or a repo workdir —
then capture your work and merge the latest consensus:
git add -A && git commit -m "<what you're sharing>"
git fetch origin
git merge origin/main
If the merge conflicts, resolve it now, here:
- Edit each conflicted file; reconcile the
<<<<<<< ======= >>>>>>>markers by keeping both sides' meaning — this is notes/knowledge, so merge the information, don't drop a side. git addthe resolved files, thengit committo finish the merge.- (
git merge --abortbacks out cleanly.)
Then land it — how depends on the layer:
# ungated — notes · personal — straight into main:
git push origin HEAD:main
# gated — knowledge — commit and STOP. Do NOT push anywhere:
# your commits wait on this loop's local `loop/<id>` ref as a PROPOSAL;
# the driver reviews & merges them in the Context UI.
# repos — follow the team's flow for that repo (PR, or direct push):
git push origin HEAD
gh pr create --base main --head "$(git symbolic-ref --short HEAD)" --fill
If git push is rejected (non-fast-forward — main moved while you
worked), re-run git merge origin/main, resolve again, push again. It converges.
Rules
- Always merge, never rebase — both parents survive, so a bad merge is revertible.
- Resolve conflicts here, yourself — never hand off to another agent.
notes/personalpush straight tomain.knowledgeis gated: commit and stop — never push knowledgemain; the proposal is reviewed in the Context UI. Repos follow the team's flow (PR or direct push).- Trunk is
main(your runtime context block names it if it ever differs). - Solo works the same:
originis just a loopat-hosted local repo — same commands.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 59 lines · 0 tokens per session scan A d67b50f6eead
promote is a skill published in the GitHub repository simpx/loopat (81 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 133 tokens to every session and 687 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
visual-acceptance
UI/视觉改动交付前的终验方法论——多主题截图矩阵复现、像素真值判据链、CSS 层叠陷阱、布局漂移审查、before/after 存证。当视觉改动需要验收(而非实现)时使用:交付前最后一环,回答「看得见的部分真的对吗」。.
E2E Testing Nori Skillsets Subcommands
Use when you need to interactively test a nori-skillsets CLI subcommand end-to-end via tmux, with full filesystem isolation.
TUI Puppeteering with tmux
Use when automating or testing TUI/CLI applications - provides isolated tmux sessions with scripts for input, output capture, and state verification.
design-prototype
Frontend UI prototype workflow — clarify intent, explore directions, preview across viewports, diff against references, deliver with screenshot evidence.
office-docx
生成与读取 Word 文档(.docx)——报告、合同、交付文档、投标书;原生 docx 渲染,支持 heading/paragraph/table/code/list 内容块与居中标题.
issue-review
Triage a copperhead GitHub issue, attempt reproduction, and check it against the spec. Use when the user asks to review an issue, e.g. /issue-review 42 or /issue-review .