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 skills add hams-ollo/zen-agent-skills --skill pr-describegit clone --depth 1 https://github.com/hams-ollo/zen-agent-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/hams-ollo/zen-agent-skills/pr-describe)<a href="https://agentmods.dev/skills/hams-ollo/zen-agent-skills/pr-describe"><img src="https://agentmods.dev/badge/skills/hams-ollo/zen-agent-skills/pr-describe/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hams-ollo/zen-agent-skills/pr-describe"><img src="https://agentmods.dev/badge/skills/hams-ollo/zen-agent-skills/pr-describe.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00117 | $0.02812 |
| Opus 5.5 | $0.00047 | $0.01125 |
| Sonnet 5.5 | $0.00023 | $0.00562 |
| Haiku 4.5 | $0.00012 | $0.00281 |
Grade A, and why
pr-describe 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 7d 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 — 194 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pr-describe
The back half of the work spine: after a branch is built, turn its diff into a pull
request description and a matching changelog entry, both in the target repo's own style.
It is the closing bookend of the kit spine, running immediately after doc-sync has
reconciled the documentation with what the branch changed.
It drafts text; it does not touch GitHub. It reads the diff and writes two artifacts
for the user to place: a PR body and a changelog entry. Creating or editing the actual PR
stays the user's action, surfaced as a gh command they run themselves.
What it produces
- A PR body: a structured description grounded only in what the diff supports, ready to
paste into GitHub or apply with
gh. - A changelog entry: one line (or block) matching the repo's existing
CHANGELOG.mdconventions, referencing the work item id when a.tasks/system is present.
Design choices
Settled decisions (resolved with the author); these four are not up for re-litigation:
- Produces both a PR body and a changelog entry from a single pass over the diff.
- Draft text only, never touches GitHub. It prints both artifacts and surfaces
gh pr create/gh pr edit --body-filefor the user to run. It works with or withoutghinstalled. This mirrorsproject-bootstrap's configs-only, no-surprise-side-effects rule. - Changelog format by inspection. It reads the repo's
CHANGELOG.mdand matches its heading, date, and id-reference style, rather than imposing one format. With no changelog present, it falls back to the Keep a Changelog convention. - Default range is the branch vs its merge-base with the default branch (the PR's actual commit range), with an explicit base/range override. When the branch is not ahead of base (still on the default branch, or the work is uncommitted), it falls back to describing the working-tree changes rather than dead-ending.
Procedure
Step 1: identify the changeset and survey it
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.
- 7d ago Changed · +6 lines · -56 tokens per session e28d90873e44
- 1mo ago Changed · +5 lines 9e8be584eabd
- 2mo ago First seen · 183 lines · 173 tokens per session scan A cf2a7f528843
pr-describe is a skill published in the GitHub repository hams-ollo/zen-agent-skills (2 stars, last pushed 7d ago), licensed MIT. It adds 117 tokens to every session and 2,812 once invoked, about $0.0005 per session on Opus 5.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
archive
Use when explicitly invoked to close out a change whose branch has already merged: confirm the merge from git alone, then move the change folder under changes/archive/ with its ship date. Trigger on '/sw:archive', '$sw:archive', 'archive this change', or a request to close out a merged change.
gsd-complete-milestone
Archive completed milestone and prepare for next version.
codex-issue-coordinator
Coordinates a large batch of GitHub issues through separate Codex worker threads, tested pull requests, review loops, and gated merges. Use when the user asks one Codex thread to manage several coding sessions or complete a parent issue, milestone, or issue batch.
release-archivist
Close out a spec-superflow change with verification, summary, and archive readiness. Invoke when implementation is complete, verification is underway, or the user asks for a final wrap-up.
cloudron-app-publishing
Distribute Cloudron apps via CloudronVersions.json version catalogs.
exit-strategy
Use when implementation is complete and all tests pass — guides the clean exit from a development branch with structured options for merge, PR, or cleanup.