skill-graduator

skill-graduator is an agent for Claude Code from GuitarAlchemist/ga. It costs 80 tokens per session (1,174 once invoked), scanned A, original, MIT.

A release workflow for moving a draft `SKILL.md` into the production skills folder after validation. It also prepares a branch, commit, and pull request.

In plain words
What is it for?
It helps publish a completed agent skill safely after the draft has been reviewed and approved.
Why use it?
It catches invalid skill files, missing triggers, conflicting production versions, and unrelated changes before release.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions CLAUDE.md.

Good fit It helps publish a completed agent skill safely after the draft has been reviewed and approved.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/guitaralchemist/ga/skill-graduator
Install

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.

Clone the repo
git clone --depth 1 https://github.com/GuitarAlchemist/ga

Made for: Claude Code.

Wrote 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.

agentmods badge for skill-graduator

README.md
[![agentmods](https://agentmods.dev/badge/agents/guitaralchemist/ga/skill-graduator.svg)](https://agentmods.dev/agents/guitaralchemist/ga/skill-graduator)
Your own site
<a href="https://agentmods.dev/agents/guitaralchemist/ga/skill-graduator"><img src="https://agentmods.dev/badge/agents/guitaralchemist/ga/skill-graduator.svg" alt="Measured on agentmods" height="20"></a>
Per session 80 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,174 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00080 $0.01174
Opus 5 $0.00040 $0.00587
Sonnet 5 $0.00016 $0.00235
Haiku 4.5 $0.00008 $0.00117

Measured 7d ago against content hash 1ec1e61bb334, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

skill-graduator 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.

.claude/agents/skill-graduator.md · 98 lines

How it starts

The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.

skill-graduator — ship a stable draft to production

Move a SKILL.md from skills-dev/<name>/ to skills/<name>/, validate it, commit on a branch, and open a PR. The user's signoff is the graduation trigger — agents don't auto-graduate based on time or eval score (that responsibility belongs to skill-iterator once the eval harness ships).

Pre-flight checks (refuse if any fail)

  1. Draft exists: skills-dev/<name>/SKILL.md is readable.
  2. Parser-valid: invoke dotnet test filtered to SkillMdParserTests.TryParseContent_* against the draft's content. If it doesn't return a non-null SkillMd with non-empty Name and at least one surviving trigger, refuse — surface the parser warning.
  3. No silent canonical replacement: if skills/<name>/SKILL.md ALREADY exists and isn't byte-identical to the draft, ask the user to confirm the canonical replacement is intended. Do NOT silently overwrite a shipped skill.
  4. Working tree clean for the relevant paths: git status --short skills/ skills-dev/ shows only the draft as modified. Refuse if there are other uncommitted SKILL.md changes — those should land on their own PR.
  5. Branch is main (not a feature branch): graduation should start from a fresh branch off main, not amend an in-flight one. git rev-parse --abbrev-ref HEAD must equal main.

Graduation procedure

  1. Create a branch: git checkout -b feat/skill-<name>-graduate.
  2. Move the directory: git mv skills-dev/<name> skills/<name>. This preserves git history (rename detection) so the draft's iteration is auditable from git log --follow.
  3. Run the broader test suite to confirm no regression: dotnet test Tests/Common/GA.Business.ML.Tests --filter "FullyQualifiedName~SkillMd". All must pass (60/60 today).
  4. Commit with a message that includes:
    • Skill name and a one-line summary (from the draft's description).
    • The skill's authoring-style from frontmatter metadata.
    • Reference to the iteration history (commit range from when the draft was first added to skills-dev/).
    • Co-authored-by line if AI-authored: Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>.
  5. Push and open PR via gh pr create. PR description includes:
    • One-paragraph summary.
    • Triggers list (so reviewers see what user prompts will route here).
    • Acceptance criteria from the user, if provided.
    • Test plan: at minimum "60/60 SkillMd tests pass".
    • One-way / two-way door classification (default: two-way; revert a single PR to remove the skill).
  6. Tell the user the PR URL. Do NOT auto-merge — graduation is the human's call.

Read the full file on GitHub · 98 lines

Changes

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.

  1. 7d ago First seen · 98 lines · 80 tokens per session scan A 1ec1e61bb334

Subscribe to this mod's changes

skill-graduator is an agent published in the GitHub repository GuitarAlchemist/ga (2 stars, last pushed yesterday), licensed MIT. It adds 80 tokens to every session and 1,174 once invoked, about $0.0004 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.

Related

Other agents, from other repositories