document-decision
Skill16 starsChanged 3 days agoApache-2.0View on GitHub
Create Architecture Decision Records (ADRs) in docs/arc42/decisions/. Use when user says 'document this decision', 'create an ADR', 'record architecture decision', 'why did we choose X', 'document the rationale', or when adding major dependencies, new frameworks, or changing fundamental patterns. Do NOT use for user-facing feature docs (use /document-feature) or syncing existing docs (use /update-doc).
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Create an Architecture Decision Record (ADR) to capture the "why" behind significant technical decisions.
- Distinctive: line 17
Read these files for context:
- Distinctive: line 40
Read any ADR that covers similar ground.
- Very specific: line 50
Content: Follow the template at docs/arc42/decisions/0000_00_00_template.md.
- Distinctive: line 58
If this decision supersedes a previous ADR, reference it explicitly in the Context section.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Document Architecture Decisions - Create ADRs
Create an Architecture Decision Record (ADR) to capture the "why" behind significant technical decisions. Takes an optional focus topic as $ARGUMENTS.
Root CLAUDE.md defines when ADRs are required (major dependencies, new frameworks, fundamental pattern changes). This skill handles the creation workflow.
Before You Start
Read these files for context:
- Template:
docs/arc42/decisions/0000_00_00_template.md— the required ADR structure (Context, Decision Drivers, Decision, Consequences) - Exemplar:
docs/arc42/decisions/2026_02_10_replace_phoenix_with_langfuse.md— a well-written ADR with detailed decision drivers, specific consequences split into positive and trade-offs - Existing ADRs: Browse
docs/arc42/decisions/to check for conflicts or decisions to supersede
Step 1: Analyze Changes
git diff --name-only main...HEAD
git diff --stat main...HEADIdentify which architectural choice was made and what alternatives were considered.
Step 2: Check for Existing ADRs
ls docs/arc42/decisions/Read any ADR that covers similar ground. If one exists, update it rather than creating a duplicate.
Step 3: Create the ADR File
Filename: docs/arc42/decisions/YYYY_MM_DD_short_decision_summary.md
- Date: today's date with underscores (
2026_02_19) - Summary: lowercase with underscores (
adopt_valkey_for_caching) - Convention follows existing files like
2026_02_10_replace_phoenix_with_langfuse.md
Content: Follow the template at docs/arc42/decisions/0000_00_00_template.md. The four required sections:
- Context — the problem or situation, referencing specific Swiss AI Hub components (NATS, Milvus, Dagster, LiteLLM, etc.)
- Decision Drivers — each driver as a bold label with explanation (see the Langfuse ADR for format)
- Decision — what was decided and how it applies to this codebase's architecture
- Consequences — split into "Positive" and "Trade-offs" subsections when there are many
If this decision supersedes a previous ADR, reference it explicitly in the Context section.
Step 4: Verify
# File exists in the right location
ls docs/arc42/decisions/$(date +%Y_%m_%d)_*.md
# Has all four required sections
grep -c '^## ' docs/arc42/decisions/$(date +%Y_%m_%d)_*.md
# Should be ≥ 4 (Context, Decision Drivers, Decision, Consequences)Troubleshooting
| Problem | Solution |
| Unsure if change warrants an ADR | If you debated between two approaches, it likely warrants one |
| Existing ADR covers similar ground | Update the existing ADR with Edit rather than creating a duplicate |
| Decision affects multiple scopes | Document once in docs/arc42/decisions/, not per-scope |
In this repository50 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- docs/CLAUDE.mdCLAUDE.md
- .github/actions/CLAUDE.mdCLAUDE.md
- arc42Skill
- audit-frontendSkill
- bot-frameworkSkill
- create-or-audit-claude-mdSkill
- create-or-audit-skillSkill
- create-or-audit-subagentSkill
- create-prSkill
- dagster-pipelinesSkill
- debug-agentSkill
- debug-frontendSkill
- debug-pipelineSkill
- design-systemSkill
- docker-devSkill
- document-featureSkill
- explainSkill
- generate-sdkSkill
- i18nSkill
- implement-feedback-from-prSkill
- likec4-dslSkill
- lintSkill
- merge-mainSkill
- nats-eventsSkill
- plan-issueSkill
- pr-demo-videoSkill
- primevue-lookupSkill
- rclone-guideSkill
- reflectSkill
- review-diffSkill
- scaffold-agentSkill
- scaffold-api-endpointSkill
- scaffold-api-repositorySkill
- scaffold-api-serviceSkill
- scaffold-bot-handlerSkill
- scaffold-composableSkill
- scaffold-event-displaySkill
- scaffold-frontend-componentSkill
- scaffold-frontend-pageSkill
- scaffold-frontend-subpageSkill
- scaffold-pipelineSkill
- setup-bot-connectionSkill
- splice-issueSkill
- sync-agent-docsSkill
- test-scopeSkill
- update-docSkill
- verify-sdk-syncSkill
- write-docSkill
- write-issueSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

