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 daronthedragon/skillsmith --skill skillgit clone --depth 1 https://github.com/daronthedragon/skillsmithWrote 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/daronthedragon/skillsmith/skill)<a href="https://agentmods.dev/skills/daronthedragon/skillsmith/skill"><img src="https://agentmods.dev/badge/skills/daronthedragon/skillsmith/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/skills/daronthedragon/skillsmith/skill"><img src="https://agentmods.dev/badge/skills/daronthedragon/skillsmith/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.00116 | $0.01488 |
| Opus 5.5 | $0.00046 | $0.00595 |
| Sonnet 5.5 | $0.00023 | $0.00298 |
| Haiku 4.5 | $0.00012 | $0.00149 |
Grade A, and why
skillsmith 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 — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skillsmith
Most skills are decoration: a paragraph of quality words the model already agrees with, loaded into context on every turn, changing nothing. A skill that works is a procedure with a trigger, a persistence rule, and an observable effect someone can measure. Build only that kind.
Persistence
ACTIVE EVERY RESPONSE for the duration of a skill-building task. Still active when unsure whether the current edit counts. Off only when the user says "stop skillsmith" or the skill task is finished and linted.
Procedure
Run this every time a skill is created or changed, in order.
- Name the observable effect first. Before writing a line, state in one sentence what will be different in a transcript when the skill is active: fewer tool calls, a test command before every "done", replies under N lines. If you cannot name it, the skill has no purpose yet. Stop and ask.
- Scaffold, never freehand. Run
skillsmith new <name> --summary "..."(add--oneshotfor a run-once skill). It produces a SKILL.md and aneval.jsonthat pass lint by construction. Edit those; do not start from a blank file. - Write the trigger as situations, not a label. The
descriptionis the only text the harness reads to decide whether to load the skill. It must say when: tasks, user phrases, file types. It must also say when NOT, naming the nearby tasks the skill should stay out of. - Write the behaviour as numbered steps. Each step is a verb and an object, checkable from a transcript. Conditions name both branches. No step may be "be careful", "consider", or "try to".
- Add one before/after example. Instead-of / do. A real excerpt, not a description of one.
- Lint, and fix every error.
skillsmith lint <dir>. Errors mean the skill cannot work; warnings mean it will drift. Do not ship with errors. Do not argue with a warning in the summary - fix it or delete the rule it complains about. - Fill the eval with real checks. In
eval.json, setrunnerto the command that runs one prompt, write two or more prompts where the skill should change behaviour, and express each expected change as a regex the transcript will or will not contain. Never use a model as the judge.- Match the behaviour, not a word. To check "when the agent claims
success, a real run backs it", put the claim regex in the check's
givenfield and the proof regex inpattern. The check only bites whengivenmatches, so a run that never makes the claim passes vacuously - being cautious is not a failure. A check withoutgiventhat greps for one prescribed word reads a correct answer phrased differently as a failure. - Make the evidence observable. If a behaviour happens in a tool call -
running code, reading a file - the runner must emit a transcript that
contains the tool call, or the check cannot see it. For the Claude Code
CLI that means
--output-format stream-json --verbose; plain text shows only the final message and hides whether anything ran. - Make the tasks tempt the failure. A prompt the base model already passes cannot show a delta. Pick tasks where, without the skill, the model is likely to do the wrong thing - claim a value it could recall instead of compute, assert a state it cannot verify.
- Match the behaviour, not a word. To check "when the agent claims
success, a real run backs it", put the claim regex in the check's
- Run the eval and report the delta.
skillsmith eval <dir>/eval.json. A skill with no measurable delta is not done; it is decoration. Report the without → with numbers verbatim in your summary, and keep the eval even when it shows no change - an eval that cannot fail proves nothing, and the one that failed is the record that the passing one is honest.
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 · 133 lines · 116 tokens per session scan A d4a770393dbf
skillsmith is a skill published in the GitHub repository daronthedragon/skillsmith (2 stars, last pushed 2mo ago), licensed MIT. It adds 116 tokens to every session and 1,488 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
slopless
Use Slopless to review English Markdown with local prose rules and optional Jev semantic checks for vague phrasing, formulaic prose, weak rhythm, filler, and cliches.
iris-eval
Evaluate AI agent output quality, safety, and cost using the Iris MCP server. Use when building, testing, or shipping agents and the user wants to score output quality, detect PII or prompt injection, verify citations, track cost per query, enforce cost budgets, add tracing/observability to an agent, or set up…
llm-evaluation
LLM evaluation — automated metrics, human feedback, benchmarking. Use when testing performance, measuring AI quality, or establishing evaluation frameworks.
ai-cost-audit
Use before launching any LLM feature or when monthly API costs are growing unexpectedly. Requires token count measurement, call volume analysis, and cost projection at 10× scale. Blocks "it's cheap enough now" completions.
context-optimization
Use when prompt cost is too high, latency is above threshold, or context window limits are being approached. Requires measurement before and after each reduction. Blocks "I shortened the prompt so it should be cheaper" completions.
eval-before-ship
Use before merging, deploying, or demo'ing any LLM feature. Requires documented eval results — pass rate, failure analysis, baseline comparison. Blocks "it looked good when I tested it" completions.