Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/iliaal/whetstonenpx agentmods add commands/iliaal/whetstone/write-skillWrote 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/iliaal/whetstone/write-skill)<a href="https://agentmods.dev/commands/iliaal/whetstone/write-skill"><img src="https://agentmods.dev/badge/commands/iliaal/whetstone/write-skill/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/iliaal/whetstone/write-skill"><img src="https://agentmods.dev/badge/commands/iliaal/whetstone/write-skill.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.00041 | $0.03144 |
| Opus 5.5 | $0.00016 | $0.01258 |
| Sonnet 5.5 | $0.00008 | $0.00629 |
| Haiku 4.5 | $0.00004 | $0.00314 |
Grade A, and why
write-skill 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 24d 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 — 226 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Write Skill
Skill name: $ARGUMENTS
Scaffold a new plugin skill from scratch, generate paired trigger fixtures, register the regex pattern, and run all gates. For distilling a skill from skills.sh sources, use the skill-distiller skill instead — /write-skill is for skills with no external upstream.
Phase 1: Resolve target
- If
$ARGUMENTSis empty or doesn't start withia-, ask for the skill name. - Validate format: must match
^ia-[a-z0-9][a-z0-9-]*$, no consecutive hyphens, no banned tokens (anthropic,claude). - Confirm the skill doesn't already exist:
plugins/whetstone/skills/<name>/SKILL.mdmust NOT exist.distillery/tests/fixtures/triggers/<name>.jsonlmust NOT exist.- No matching
SKILL_PATTERNS[<name>]=line inplugins/whetstone/hooks/skill-patterns.sh.
- Read
CLAUDE.md"Skill compliance checklist" section to refresh the gates this skill must pass.
Phase 2: Batch up-front interview
Use AskUserQuestion once to collect everything needed before scaffolding. Do not drip-feed questions across turns.
Ask:
- Class — one of the five values from
CLAUDE.md"Skill class taxonomy":language,discipline,workflow,meta,tool. Read that section before asking so the option descriptions match what the validator will accept. - Scope summary — one or two sentences: what this skill is for, when it fires.
- Primary trigger vocabulary — 3-6 distinctive phrases users would type.
- Existing skills it should not overlap with — names of any close-in-scope
ia-*skills the user already has in mind.
Phase 3: Inspect prior art
Read the SKILL.md of every skill the user named in question 4 (and any others that look similar by class). Goals:
- Match house style (frontmatter shape, body voice, references/ patterns).
- Identify trigger overlap risk —
validate-pluginwill flag descriptions with >70% word overlap. - Find a close structural template to model the new skill after.
Phase 4: Scaffold
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.
- 24d ago Changed e2f179aec067
- 1mo ago First seen · 226 lines · 41 tokens per session scan A 4a8b97b20fc5
write-skill is a command published in the GitHub repository iliaal/whetstone (35 stars, last pushed 2d ago), licensed MIT. It adds 41 tokens to every session and 3,144 once invoked, about $0.0002 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-30.
Other commands, from other repositories
sm-buff
You usually don't run buff directly — run sm sail. sm sail drives the whole PR to green and calls buff watch / triage for you, stopping only when it needs you to act (see /sm-sail). Reach for sm buff here only for surgical work: inspecting a specific failure, or resolving a single review thread when sail has parked on…
sm-scour
Run slop-mop's comprehensive pre-PR sweep for this repository.
review
Multi-agent code review with parallel validation.
speckit.boundedrelay.plan-review
Freeze Claude host findings before an independent BoundedRelay Codex plan review.
speckit.boundedrelay.implementation-review
Run frozen Claude host and independent Codex implementation reviews.
open-pr
Create a pull request for the current branch following the the team's standard PR template.