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/onsager-ai/dev-skills/pr-lifecyclenpx skills add onsager-ai/dev-skills --skill pr-lifecyclegit clone --depth 1 https://github.com/onsager-ai/dev-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/onsager-ai/dev-skills/pr-lifecycle)<a href="https://agentmods.dev/skills/onsager-ai/dev-skills/pr-lifecycle"><img src="https://agentmods.dev/badge/skills/onsager-ai/dev-skills/pr-lifecycle.svg" alt="Measured on agentmods" height="20"></a>What 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.00206 | $0.03025 |
| Opus 5 | $0.00103 | $0.01512 |
| Sonnet 5 | $0.00041 | $0.00605 |
| Haiku 4.5 | $0.00021 | $0.00302 |
Grade A, and why
pr-lifecycle 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 4d ago.
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 — 153 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pr-lifecycle
Everything that happens after git push on a PR: spec-issue linking, CI triage, review-comment discipline, webhook subscription + the post-push sweep, and the manual ticking of Plan items / umbrella trackers on merge.
This is the repo-agnostic half. The consumer repo's CLAUDE.md / <repo>-dev-process overlays its CI-failure patterns, its scope (which repos this operates on), and any repo-local automation (a pr-spec-sync workflow, audit scripts) or the lack of it.
Tool discipline
- No
ghCLI, nohub, no direct GitHub API. Always usemcp__github__*. - Scope to the repo you're working on (and any sibling the repo's CLAUDE.md sanctions). Don't query unrelated repos.
- Don't open PRs unless the user explicitly asks. Creating one is a one-way door in this workflow.
Spec-issue linking (mandatory)
Every PR must either:
- Link to a spec issue in its body via
Closes #N/Fixes #N/Resolves #N(slice complete) orPart of #N/Refs #N(scaffolding), OR - Carry the
triviallabel (typo, doc-only, one-line obvious fix).
If neither, the PR is out of process. Comment asking the author to add a spec link — creating one via issue-spec if none exists — or apply the trivial label.
Which keyword to use
GitHub closes issues on merge when the PR body contains one of: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved — followed by #N. Pick the keyword based on what this PR actually delivers:
| PR delivers | Use |
|---|---|
| The acceptance test / vertical slice the spec asks for | Closes #N |
| A bug fix for a specific defect | Fixes #N |
| Scaffolding / one phase of a multi-phase spec | Part of #N |
| Related work that shouldn't close the spec | Refs #N |
Part of / Refs are not auto-close keywords — they just cross-link in the UI. Use them for scaffolding so the spec stays open for the real slice. Edit the PR body via mcp__github__update_pull_request (don't open a new PR just to fix the link); put the linking line at the top of the body.
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.
- 4d ago First seen · 153 lines · 206 tokens per session scan A 2bd67d8097cc
pr-lifecycle is a skill published in the GitHub repository onsager-ai/dev-skills (5 stars, last pushed 23d ago), licensed MIT. It adds 206 tokens to every session and 3,025 once invoked, about $0.0010 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-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
chronicle
Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…