Borrowing it
Nothing to install: this file belongs to pvliesdonk/scholar-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/pvliesdonk/scholar-mcp/main/.agents/skills/writing-release-notes/SKILL.mdgit clone --depth 1 https://github.com/pvliesdonk/scholar-mcpWrote 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/pvliesdonk/scholar-mcp/writing-release-notes)<a href="https://agentmods.dev/skills/pvliesdonk/scholar-mcp/writing-release-notes"><img src="https://agentmods.dev/badge/skills/pvliesdonk/scholar-mcp/writing-release-notes/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/pvliesdonk/scholar-mcp/writing-release-notes"><img src="https://agentmods.dev/badge/skills/pvliesdonk/scholar-mcp/writing-release-notes.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.00035 | $0.04691 |
| Opus 5.5 | $0.00014 | $0.01876 |
| Sonnet 5.5 | $0.00007 | $0.00938 |
| Haiku 4.5 | $0.00003 | $0.00469 |
Grade A, and why
writing-release-notes 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 1mo 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- writing-release-notes — 100% identical, 286 lines differ
How it starts
The opening of the file, as written. The whole thing — 412 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing release notes
The pages under docs/releases/ are the canonical human-facing narrative of
each release; the GitHub release body is a summary plus a link to them, and
CHANGELOG.md is the machine-written commit-level audit trail. This skill is
the contract for producing a page: what to research, what counts as evidence,
what the page looks like, and which gates it must pass. Every requirement
below was established empirically by trial runs recorded on
pvliesdonk/fastmcp-server-template#347; where this skill says "must", a trial
produced the failure the rule prevents.
Choose the mode
prepare-next: research through the selected release branch head and writedocs/releases/next.md.refresh-known-target: update an existingdocs/releases/X.Y.mdentry for the stable identity shared by an RC series.backfill/redraft: update a shipped canonical page.
Before research, record the repository, base branch, mode, stable target when known, previous stable tag, and range-end commit SHA. Ask the human for any value that cannot be derived unambiguously.
An existing page's <!-- notes-range-end: SHA --> watermark records where its
last accepted research ended. For prepare-next, RANGE_END is the selected
release branch head. For canonical refreshes and backfills, use the stable
identity and exact vX.Y.Z summary markers already present in the page.
Incremental research (patch and redraft modes)
The accepted page is the cache; do not re-research a range the page already covers. When the page carries the watermark:
- If the watermark SHA equals
RANGE_END, the page's researched content is already current: do no re-research and leave the prose alone. Say what you verified in the pull request body. - Otherwise research only
WATERMARK..RANGE_END(the same fan-out and evidence rules, over the delta), fold the findings into the existing narrative — extend a theme, add one, or leave prose untouched when the delta is stamps and mechanics — and verify claims the delta might have invalidated rather than re-deriving the whole page. - Always move the watermark to
RANGE_ENDwhen you touch the page, and write it (once, at the top of the page after the front matter or title) when you create a page.
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.
- 1mo ago Changed · +8 lines · -82 tokens per session 84b29e5ec6f0
- 1mo ago First seen · 404 lines · 117 tokens per session scan A 5b304e723b43
writing-release-notes is a skill published in the GitHub repository pvliesdonk/scholar-mcp (2 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 4,691 once invoked, about $0.0001 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
polish-docs-meta
Finalize documentation and project metadata for a ship-ready release. Use after implementation is complete, tests pass, and devcheck is clean. Safe to run at any stage — each step checks current state and only acts on what still needs work.
release-and-publish
Ship a release end-to-end across every registry this project targets (npm, MCP Registry). Runs the final verification gate, pushes commits and tags, then publishes to each applicable destination. Assumes git wrapup (version bumps, changelog, commit, annotated tag) is already complete — this skill is the post-wrapup…
publish-release
Releases a new McpOrchestrator version end to end — version bump PR, tag, and the automated deploy to GitHub Releases, NuGet, and the MCP Registry. Use when asked to release, publish, deploy, ship, or bump the version of McpOrchestrator.
release-notes
Writes user-facing release notes from a git commit range. Use when asked to draft release notes, a changelog entry, or "what's new" text for a release.
release-and-publish
Ship a release end-to-end across every registry the project targets (npm, MCP Registry, GitHub Releases for .mcpb bundles, GHCR). Runs the final verification gate, fast-forwards main when the release rode a release PR, creates the annotated tag on the commit main now points at, pushes commits and tags, then publishes…
git-wrapup
Land working-tree changes as logical commits — the work grouped by concern, topped by a release commit (version bump, changelog, regenerated artifacts). The work commits land first, then the version bump, verification, and the release commit on top. Stops at "committed locally on main" — or, when the project releases…