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 agentmods add skills/abhimanyusingh-gh/software-craftsmanship/craftnpx skills add abhimanyusingh-gh/software-craftsmanship --skill craftgit clone --depth 1 https://github.com/abhimanyusingh-gh/software-craftsmanshipWrote 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/abhimanyusingh-gh/software-craftsmanship/craft)<a href="https://agentmods.dev/skills/abhimanyusingh-gh/software-craftsmanship/craft"><img src="https://agentmods.dev/badge/skills/abhimanyusingh-gh/software-craftsmanship/craft.svg" alt="Measured on agentmods" 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.00047 | $0.01717 |
| Opus 5 | $0.00023 | $0.00859 |
| Sonnet 5 | $0.00009 | $0.00343 |
| Haiku 4.5 | $0.00005 | $0.00172 |
Grade A, and why
craft 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 yesterday.
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 — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Craft
The non-negotiables (apply always, no reference read needed)
- Scope isolation. Every read, write, aggregate, export, and storage path filters on the full
<scope-key>, enforced at the lowest layer that can rather than at N call sites. A dropped scope key is a cross-customer data leak: blocker, never a nit. - Reuse before writing. Search for an existing implementation first; extend or parameterize rather than clone. Name every reused symbol on the contract card. Duplicated logic: 2× → should-fix, 3× → request-changes.
- No narrative comments. The code is the doc. Comment only a genuinely non-obvious why — a hidden invariant, a known workaround, a surprising external constraint. No file-header docstrings, no "TODO until the issue lands".
- Const-as-enum over repeated string literals. Any fixed variant set gets a named constant object plus derived type, in preference to a language
enumkeyword. Consume the exported enum; never re-type its values. - No raw
stringfor semantic values. Branded types for IDs and domain primitives, const enums for finite value sets. Grep for the existing brand before creating one. - Export only what has an in-PR consumer — no speculative exports, no barrels nothing imports through. But when a dead-code tool flags something, classify before deleting: scaffolding is deleted, a spec-required capability is wired to its consumer in the same PR. Deleting a capability is not cleanup.
- YAGNI. Nothing beyond what the issue requires. No speculative props, no single-caller indirection, no "while I'm here" expansions.
- Debloat on touch. Editing a file means scanning the surrounding 50–100 lines for dead code, duplicated logic, repeated literals, oversized functions, mixed concerns. Fix or flag in the same commit.
- Deliberate before coding. Produce an edge-case checklist, then a one-paragraph plan stating what's guarded and what's deliberately not done — before implementation.
- Tests define the product. A red test is fixed in product code, seed data, or config. Never re-pin an assertion — the only sanctioned edits to an assertion are compile-blocking typos, framework misuse that never caught a bug, and stripping banned patterns. Removing a test is a separate question with a separate bar:
TEST-NODELETE. - Full unfiltered gates before push. Never scope the test run to changed files as the gate. If anything is red, don't push.
- Docs ship in the same commit as the change they describe. No "docs follow-up later."
- Raise and stop. Auto-merge is off by default: run the full review loop, then surface the PR for the owner to merge.
- Evidence over assertion. Every claim of compliance carries the command and its actual output. A green suite is not evidence that nothing regressed — deleting or weakening a test to reach green is a blocker, and a comment explaining a removal is the tell, not the justification.
references/verification.mdcarries the checks.
What ships with it
10 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/accessibility.md 3.5 KB
- references/authoring.md 18 KB
- references/defect-classes.md 7.3 KB
- references/frontend.md 13 KB
- references/orchestration.md 16 KB
- references/review.md 7.5 KB
- references/tenancy.md 6.5 KB
- references/testing.md 15 KB
- references/verification.md 6.9 KB
- references/workflow.md 14 KB
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.
- yesterday First seen · 96 lines · 47 tokens per session scan A 0ca2d8434c15
craft is a skill published in the GitHub repository abhimanyusingh-gh/software-craftsmanship (1 stars, last pushed 3d ago), licensed MIT. It adds 47 tokens to every session and 1,717 once invoked, about $0.0002 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-09-04.
Other skills, from other repositories
quiz-me
Quiz the user on root cause and intended fix BEFORE writing any non-trivial code, then verify comprehension of every change after. Use when the user asks for a bug fix, refactor, or feature and wants to stay technically sharp instead of vibe-coding. Also use when the user says "quiz me", "don't let me vibe code", or…
website-deploy-builder
Plan what to build on Website Deploy (simple-host.app). Helps a user decide whether their idea fits the static + light-backend model, maps it to concrete patterns (shared JSON state with atomic ops, append-only collections, private/password-locked pages on a custom domain, drop-in comments/feedback widgets…
connect-domain
Connect a user's own custom domain (subdomain e.g. recipes.brand.com via CNAME, or apex e.g. brand.com via A record) to a site already deployed on simple-host. Use when a user wants their site served from their own domain with automatic HTTPS, or wants a private/password-protected site (privacy is offered only on a…
personal-voice-capture
Use when a user wants an agent to learn, encode, or improve their personal writing voice as a reusable skill through source-text ingestion and iterative calibration edits.
demo-video-factory
Generate a custom 26s product-demo video from any SaaS URL — brand-matched scenes, a recreated product-UI "wow" scene, real screenshots, and a soundtrack. Use whenever the user wants a demo, promo, launch, or marketing video for a website or product.
servo-flow
The servo process for a piece of work, phase by phase. Use at the start of any non-trivial task to know which phase you are in and which skill to run next.