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.
git clone --depth 1 https://github.com/metaschema-framework/claude-pluginsWrote 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/commands/metaschema-framework/claude-plugins/draft-release)<a href="https://agentmods.dev/commands/metaschema-framework/claude-plugins/draft-release"><img src="https://agentmods.dev/badge/commands/metaschema-framework/claude-plugins/draft-release/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/commands/metaschema-framework/claude-plugins/draft-release"><img src="https://agentmods.dev/badge/commands/metaschema-framework/claude-plugins/draft-release.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.00000 | $0.02169 |
| Opus 5.5 | $0.00000 | $0.00868 |
| Sonnet 5.5 | $0.00000 | $0.00434 |
| Haiku 4.5 | $0.00000 | $0.00217 |
Grade A, and why
draft-release 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 2mo 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 — 288 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Draft Release Command
Generate comprehensive GitHub release notes for a given tag, creating a new draft release or updating an existing one.
Arguments
tag(required): The release tag (e.g.,v3.0.0.M1)
Instructions
Execute the following steps to generate and publish draft release notes:
Step 1: Validate Environment
Verify we're in a git repository with a GitHub remote:
# Check we're in a git repo
git rev-parse --git-dir
# Get the GitHub remote URL and extract owner/repo
git remote get-url origin
Extract the repository in owner/repo format from the remote URL. If not a GitHub repository, STOP and inform the user.
Step 2: Validate Tag Exists
# Verify the tag exists
git rev-parse --verify "$TAG" 2>/dev/null
If the tag doesn't exist, STOP and inform the user the tag was not found.
Step 3: Find Previous Tag
# Find the most recent tag before the target tag
git describe --tags --abbrev=0 "$TAG^" 2>/dev/null
# If no previous tag, use the initial commit
git rev-list --max-parents=0 HEAD
Inform the user: Analyzing release $TAG... Previous tag: $PREVIOUS_TAG
Step 4: Get Date Range for PR Query
# Get the date of the previous tag
git log -1 --format=%cI "$PREVIOUS_TAG"
# Get the date of the current tag
git log -1 --format=%cI "$TAG"
Step 5: Fetch Merged PRs
Use the GitHub CLI to fetch all PRs merged between the tags:
gh pr list \
--repo "$OWNER/$REPO" \
--state merged \
--limit 500 \
--json number,title,author,body,mergedAt,additions,deletions,labels \
--jq ".[] | select(.mergedAt >= \"$PREV_DATE\" and .mergedAt <= \"$TAG_DATE\")"
Inform the user: Found $COUNT PRs merged between tags
Step 6: Categorize PRs
Analyze each PR and categorize using conventional commit prefixes in the title:
| Title Prefix | Category |
|---|---|
feat: or feat( |
new_features |
fix: or fix( |
bug_fixes |
docs: or docs( |
documentation |
build: or build( or ci: or ci( |
build_ci |
test: or test( |
test_coverage |
refactor: or refactor( or perf: or perf( |
build_ci |
build(deps): OR author login is dependabot or renovate |
dependencies |
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.
- 2mo ago First seen · 288 lines · 0 tokens per session scan A 8b98d471eeac
draft-release is a command published in the GitHub repository metaschema-framework/claude-plugins (10 stars, last pushed 8mo ago), licensed CC0-1.0. It costs nothing until one of its globs matches a file; then it loads 2,169 tokens. 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.
draft-release compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| draft-releasemetaschema-framework/claude-plugins | Command | 10 | 8mo ago | CC0-1.0 | A | 0 | Claude Code |
| landgmickel/flow-next | Command | 721 | 2d ago | MIT | A | 13 | Claude Code |
| qualityDesko77/claude-code-skills-1c | Command | 92 | 5d ago | MIT | A | 18 | Claude Code |
| release-notesOpenHands/extensions | Command | 179 | today | MIT | A | 44 | Claude Code |
| release-managerruvnet/agentic-flow | Command | 838 | yesterday | none | A | 0 | Claude Code |
| create-prdsswift/ion | Command | 5 | 3d ago | MIT | A | 28 | Claude Code |
| rally-merge-prddgonzal3/rally | Command | 6 | yesterday | MIT | A | 0 | Claude Code |