skills/adr-writer/SKILL.md
Draft a one-paragraph Architecture Decision Record for an intentional design choice that future-you might want to revisit. Use when the user says ADR, architecture decision, design choice, intentional decision, document this trade-off, or wants to record why one approach won over a reasonable alternative.
npx skillsauth add jwa91/agentskills adr-writerInstall 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 intentional design choices as short, one-paragraph ADRs in the style used across jwa91 repos. The point of an ADR is the negative space: someone could reasonably argue the opposite, and a future reader needs to know why this side won.
The user is about to make — or just made — a design choice that a future contributor could plausibly propose reverting. The cost of forgetting why the choice was made is higher than the cost of writing it down. If nobody could imagine arguing the other side in good faith, skip the ADR.
security-ground-rules.md, conventions → AGENTS.md).Rule of thumb: if you can't imagine a future contributor proposing the opposite in good faith, it's not an ADR.
The exact one-paragraph shape used in homebrew-tap/docs/adr/:
# NNNN — <title>
**Scope.** <one sentence: what the rule covers, mechanically, in present tense>. **Why.** <one sentence: the constraint that produced it; what would be lost or duplicated if it were reverted>.
Single paragraph. Two bolded labels (**Scope.** and **Why.**). No headings inside the paragraph. No tables. No code blocks unless the rule's literal text is code (rare). The title is a complete claim — "X does Y, not Z" reads better than "X behavior".
NNNN-kebab-case-title.md under docs/adr/.0005-no-env-files-only-op-templates.md, not 0005-secrets-policy.md.docs/adr/README.md index has one line per ADR, in number order.0006-...md).docs/adr/README.md and use NNNN+1. Never reuse or renumber.docs/adr/README.md with the new number and a one-line title.Sign-off check before writing: can I imagine a future contributor proposing the opposite in good faith? If no, don't write the ADR.
data-ai
Release the current project to the personal Homebrew tap from repo-local release config. Use when the user says "release", "ship", "cut a version", "publish", "make a new tag", or asks how to make a new version available via jwa91/tap.
tools
Use the `jwa-harden` CLI for secret-safe command execution, env-template discovery, and signing/notarization preflight checks. Trigger when a command needs secrets, when `.env.template` or 1Password references are involved, or before signed release flows.
documentation
Modify or extend the `jwa-tobrew` scaffolding system — the templates that `init` writes into target projects. Trigger when the user says "add a new scaffold kind", "change what init writes", "update the templates", or asks how the embedded templates are wired.
development
Detect and fix drift between a project and the conventions encoded in `jwa-tobrew`, prek, and the tap ADRs. Trigger when the user says "align", "any drift", "verify conventions", or asks why a particular file/symlink/script is required.