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 stefan-stepzero/shipkit --skill shipkit-adrgit clone --depth 1 https://github.com/stefan-stepzero/shipkitWrote 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/stefan-stepzero/shipkit/shipkit-adr)<a href="https://agentmods.dev/skills/stefan-stepzero/shipkit/shipkit-adr"><img src="https://agentmods.dev/badge/skills/stefan-stepzero/shipkit/shipkit-adr/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/stefan-stepzero/shipkit/shipkit-adr"><img src="https://agentmods.dev/badge/skills/stefan-stepzero/shipkit/shipkit-adr.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.00068 | $0.01638 |
| Opus 5.5 | $0.00027 | $0.00655 |
| Sonnet 5.5 | $0.00014 | $0.00328 |
| Haiku 4.5 | $0.00007 | $0.00164 |
Grade A, and why
shipkit-adr 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 1mo 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 — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.
shipkit-adr - Land a Decision Atomically
Purpose: Record one architecture decision the moment it's made — as a single atomic transaction across both decision files, with a hard length cap on what enters the always-loaded lean index.
Why this exists: architecture.json is @-imported into CLAUDE.md, so every byte of it loads into every session. The moment a decision gets recorded is exactly when a long rationale is freshest and most tempting to paste in. This skill enforces the lean/archive split at that moment: full reasoning is preserved (archive), context stays cheap (lean).
Output: One entry appended to .shipkit/architecture-archive.json (full) + the capped projection in .shipkit/architecture.json (lean).
When to Invoke
User triggers:
- "Record this decision" / "log an ADR"
- "We decided X" (after a decision is settled in conversation)
- "ADR-NNN is superseded by this" / "that replaces the earlier decision"
- "Amend ADR-NNN"
Agent triggers: Any skill or agent that has just made an architecture-level decision mid-work lands it here instead of hand-editing architecture.json.
Prerequisites
None. If either decision file is missing, this skill initializes it (schemas below). The canonical convention both files follow is shipkit-engineering-definition/references/architecture-log-schema.md — read it for edge cases; the operative rules are inlined here.
Hard Caps (non-negotiable)
What enters the lean file is capped. Full text always survives in the archive — leaning relocates information, it never loses it.
| Lean field | Cap |
|---|---|
decision |
one line, ≤ 120 chars |
rationale |
one line, ≤ 160 chars |
| superseded entry | stub only: { id, status, supersededBy, decision } — nothing else |
If the user's phrasing exceeds a cap, compress it for the lean file and put the full text in the archive entry. Never widen the cap; never put alternatives in the lean file.
Process
Step 1: Capture the decision
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.
- 1mo ago First seen · 132 lines · 68 tokens per session scan A a894dc325976
shipkit-adr is a skill published in the GitHub repository stefan-stepzero/shipkit (1 stars, last pushed 3mo ago), licensed MIT. It adds 68 tokens to every session and 1,638 once invoked, about $0.0003 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
anti-deception
Use before responding to pressure for agreement, manufactured urgency, authority appeals, or requests to certify unsupported claims; separate evidence from persuasion and state uncertainty.
stuck
Diagnoses a broken course setup by reading the folder, so the student never has to describe the problem in English. Takes no argument. Reports which class they are on and which files are filled, then names one blocker and one fix: Claude Code opened at the wrong level, .claude/skills/ missing, skills not loading…
wrap-up
Saves today's work session as a four-line entry (did, decided, open, next) at the top of the project's log.md, after the student confirms it, so a fresh chat can continue tomorrow with /pick-up. Writes to projects/ /log.md or career-vault/log.md, one entry per project touched, never to new-client. Use when the student…
pick-up
Reads the newest entry of a project's log.md and tells the student where they left off: what they did and decided, what is open, and the next step. Takes an optional project name. With several projects and no name, shows a menu of each project's last entry. Read only. Use when the student says pick up, where did I…
grill-me
One move you can run on anything: point grill-me at a target and it makes you defend your thinking from first principles until the true matter is clear. Point it at your working contract and it rewrites the weak lines in place. Point it at a brief and it produces a Requirements Handshake. Point it at research, an…
information-architecture
Map the user journey first, then derive the screen inventory, navigation and hierarchy from it, flagging any screen that serves no journey step. Writes the four-part markdown plus an HTML diagram of the step-to-screen mapping. Use after the brief is settled and before tokens or UI.