skills/create-adr/SKILL.md
Record an Architecture Decision Record (ADR) — a 1–3 sentence note capturing what was decided and why. Use when user says "create an ADR", "record this decision", "/create-adr", or just decided something architecturally significant. Don't use for forward-looking specs (use hb:prd) or general repo conventions (use CLAUDE.md).
npx skillsauth add helderberto/skills create-adrInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Capture architectural decisions as durable, minimal records future-you (and future-Claude) can read instead of guessing from code.
If any criterion is missing, say so and skip the ADR. Easy-to-reverse decisions get reversed; obvious decisions don't need recording; non-decisions ("we did the only thing that worked") aren't ADRs.
Cheap rejections prevent ADR sprawl. When in doubt, refuse and ask the user to confirm the decision really meets all three.
Restate the decision in one sentence. Check it against all three criteria explicitly. If it fails, tell the user which criterion failed and stop.
docs/adr/docs/adr/ exists, scan for the highest NNNN-*.md filename and increment.0001, 0002, …).Write docs/adr/NNNN-<kebab-slug>.md using the template below. Slug should be short and search-friendly (postgres-for-write-model, not decision-about-database-choice).
# {Short title of the decision}
{1–3 sentences: context, what was decided, and why.}
That's it. An ADR can be a single paragraph. The value is recording that a decision was made and why — not filling out sections.
Most ADRs won't need any of these.
proposed | accepted | deprecated | superseded by ADR-NNNN) — useful when decisions get revisited.Print the file path and the rendered content. Don't auto-commit — let the user stage it (matches their git rules).
docs/adr/ until you have a real ADR to put in it (lazy creation).git add here — the user stages explicitly./hb:prd.learn/learner.✅ Good — passes gate:
0003 — Manual SQL instead of an ORM
The query patterns are write-heavy and join-shaped in ways ORMs handle poorly; we hit perf cliffs in the spike. We accept the boilerplate cost in exchange for predictable plans and explicit transactions. Considered Prisma and Drizzle.
❌ Reject — fails "hard to reverse":
"We decided to use Prettier for formatting."
Reversible in one PR. Not an ADR — that's a .prettierrc and maybe a line in CLAUDE.md.
❌ Reject — fails "surprising without context":
"We decided to write tests."
Nobody will wonder why.
testing
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
documentation
Compact the current conversation into a handoff doc so a fresh agent can continue the work. Use when user asks to "handoff", "/handoff", "hand this off", or wants to end a session mid-task. Don't use for summarising completed work, writing PRDs/plans/ADRs, or committing changes.
development
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill, or asks "make a skill for X".
development
Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.