adr
Draft and maintain Architecture Decision Records from maintainer-supplied decisions and repository evidence.
Skill by juangcarmona
Chalk Labs
Need help deploying adr?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/juangcarmona-adr
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/adr
What's inside
- Skill name
adr- Description
- Draft and maintain Architecture Decision Records from maintainer-supplied decisions and repository evidence. Use when a durable architectural trade-off needs a reviewable record.
- License
- MIT
- Metadata
- author: juangcarmona · source: https://github.com/juangcarmona/agent-toolkit
- Instructions
- 88 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- template.md · references/
SKILL.md (first lines)
# adr ## Purpose One responsibility: record one significant decision as an Architecture Decision Record, so the _why_ and the road not taken survive the people who were in the room. The template is the single source of the document's shape. Copy it; never hand-roll the sections. ## When to use - When `propose` reaches a decision with lasting trade-offs. - When `review` finds that a lesson has graduated into an architectural decision worth recording. - Standalone, when a decision shapes the architecture, a dependency, a cross-cutting pattern, or anything hard to reverse: anything a future contributor would want the reasoning for. ## When not to use - A routine implementation choice with no lasting trade-off. It belongs in the commit narrative. - A temporary decision relevant only to delivering the current change. Keep it in the plan. - Reversing an existing decision by rewriting it. Write a new record and mark the old one superseded. Create an ADR when a decision is architecturally significant or has durable trade-offs that future contributors will need to understand. If the choice is local, easily reversible, or adequately explained by code and normal change history, do not create an ADR. A plan explains how a particular change will be delivered; an ADR preserves a durable architectural decision and its rejected alternatives. Create an ADR for lasting architectural consequences even when the decision first appeared in a plan. Link the ADR and plan or change instead of copying the plan narrative into the ADR. ## Workflow When an accepted ADR is indexed in arc42 section 09, preserve this table structure: ```markdown | Decision | ADR | Affected architecture | | --- | --- | --- | ``` 1. **Confirm decision authority.** Identify the maintainer or role authorized to decide. The decision must come from that authority; repository evidence can reveal current behavior and constraints but cannot establish intent or acceptance. If the decision is unknown, ask for it rather than inferring a choice from code, plans, or an issue. Keep new records `Proposed` unless the maintainer explicitly says the decision is accepted. 2. **Inspect the repository convention.** Read the existing ADR collection, its index, relevant accepted ADRs, and architecture decision index when present. Reuse the canonical location, filename, metadata, status vocabulary, and index. Never create a parallel collection. If no convention exists, use `docs/adr/`, create its `README.md` index, and follow the default format in [`references/template.md`](references/template.md). 3. **Name and number the record.** Use a short present-tense decision title. Follow the repository's established identifier and filename pattern. For the default format, take the highest existing `ADR-NNNN` identifier and increment it; numbers only increase and are never reused, including retired numbers. Use `ADR-NNNN-kebab-case-title.md` for the default filename. If the repository's existing pattern is ambiguous, preserve it and surface the ambiguity for review instead of starting a second scheme. 4. **Copy the template and complete it.** Fill Context with neutral, evidence-backed facts, constraints, assumptions, and the reason a decision is needed. State the supplied choice actively in Decision. List the main rejected alternatives and why each was rejected. Describe positive, negative, and neutral consequences. Add references. Separate observed facts, maintainer-supplied intent, and unresolved assumptions; do not present an inference as a decision. Remove every placeholder. 5. **Preserve history.** Reverse a decision by proposing a new ADR, not by rewriting the old rationale. Do not mark an existing ADR superseded until the replacement decision is accepted. Confirm a superseding relationship with the maintainer before recording it. 6. **Update the canonical ADR index.** Add a row for each record using the repository's existing index shape. If the default `README.md` index is used, link the ID/title and show status and date in numeric order. Keep the index navigational; rationale and consequences belong in the ADR. If an established repository has no index, report that and ask before creating one rather than silently inventing a convention. 7. **Update arc42 section 09 when applicable.** Only an `Accepted` ADR belongs in `docs/architecture/09-architecture-decisions.md`. Add or update a row with `Decision`, `ADR`, and `Affected architecture`, identifying relevant arc42 sections or areas. Keep status, context, rationale, alternatives, consequences, and history in the ADR. A superseded decision's entry must point to the record representing the current architecture. Do not change other arc42 sections here; architecture maintenance documents the resulting system shape. 8. **Present the record for review.** Show the complete diff, identify evidence and assumptions, report the path and identifier, and surface open questions. Leave acceptance of a proposed decision and acceptance of the documentation to the maintainer. ### Status vocabulary Drawn from a fixed set. Never invent a value. | Status | Meaning | | ------------------------ | ---------------------------------------------- | | `Proposed` | Under discussion; the default for a new record | | `Accepted` | Agreed and in effect | | `Rejected` | Considered and declined, kept for the record | | `Deprecated` | No longer applies, and not replaced | | `Superseded by ADR-NNNN` | Replaced by an accepted decision; link it | Records are immutable in spirit. To reverse a decision, write a new record and mark the old one superseded, never rewrite history. The date records when the status last changed. ## Validation - The filename and identifier follow the repository convention; under the default format the filename is `ADR-NNNN-kebab-case-title.md` with a unique, sequential four-digit `ADR-NNNN` identifier. - The document starts with YAML frontmatter containing the fields in the repository's convention; under the default format it has `id`, `title`, `status`, `date`, and `deciders`, with `supersedes` or `superseded_by` only for a confirmed relationship. - The document has its heading, valid frontmatter, and all five sections in order, with no leftover placeholders. - The status is a valid value from the vocabulary and the date is `YYYY-MM-DD`. - The decision and its acceptance state are supplied by an authorized maintainer, never inferred from implementation evidence. - Alternatives considered names at least the main rejected option, with a reason: this is what separates a decision record from a commit message. - The canonical ADR index has a matching entry, or the established absence of an index is reported without creating a competing convention. - When section 09 exists, it indexes accepted architectural decisions using only `Decision`, `ADR`, and `Affected architecture`; proposed decisions are absent, and an entry for a superseded decision points to the ADR representing the current architecture. ## Common pitfalls | Pitfall | Fix | | --- | --- | | Hand-rolling the sections | Copy `references/template.md`. It is the single source of the document's shape | | Reusing a number, including a retired one | Numbers only ever increase | | Inventing a status value | Use the fixed vocabulary, `Superseded by ADR-NNNN` included | | Rewriting an existing record to reverse it | Propose a new record; mark the old one superseded only after the replacement is accepted | | Inferring a decision from implementation | Ask the authorized maintainer for the decision; evidence establishes behavior, not intent | | Creating a parallel ADR collection | Reuse the repository's canonical folder and index | | Silently adding a convention to an established collection with no index | Report the gap and ask before changing the convention | | Titling the record with a topic | The title names the decision, in present tense | | Leaving Alternatives considered empty | Without the rejected option and its reason, this is a commit message | | Leaving template placeholder text in place | Every section is filled before the file is written | | Recording a routine implementation choice | Use an ADR only for significant decisions or durable trade-offs | | Treating a plan as the ADR | Keep delivery detail in the plan; link a durable ADR without copying it | | Adding a proposed ADR to arc42 section 09 | Index it only after acceptance | | Copying ADR details into arc42 section 09 | Keep section 09 to decision, ADR link and affected architecture | | Treating an inferred or proposed choice as accepted | Keep it Proposed until the maintainer explicitly accepts it |
From juangcarmona/agent-toolkit, MIT.
More from juangcarmona/agent-toolkit
- 0.570score
adopt
juangcarmona
Bootstrap, reconcile, or explicitly reset a project's lifecycle configuration to the shared defaults.
SkillAFreshness: AClaude Code +9 - 0.567score
architecture-docs
juangcarmona
Create, review, and maintain evidence-grounded arc42 architecture documentation from implementation evidence, ADRs, and product intent.
SkillAFreshness: AClaude Code +9 - 0.565score
implement
juangcarmona
Apply the approved plan on its branch, verify the change against the Definition of Done in both lanes, and mark the pull request ready for review.
SkillAFreshness: AClaude Code +9 - 0.565score
propose
juangcarmona
Turn a ready work item into a reviewable solution design with tasks and test impact, raised as a draft pull request.
SkillAFreshness: AClaude Code +9 - 0.565score
harden-process
juangcarmona
Turn one concrete failure into the smallest durable guard in the process itself.
SkillAFreshness: AClaude Code +9 - 0.565score
status
juangcarmona
Report where a work item sits in the lifecycle, what comes next, and what has drifted.
SkillAFreshness: AClaude Code +9 - 0.565score
integrate
juangcarmona
Land an approved change: enforce the Done gate, fold in the specifications, archive the plan, merge, and close the loop in the tracker.
SkillAFreshness: AClaude Code +9 - 0.565score
review
juangcarmona
Learn from a merged cycle: record what happened with measured effort and route the lessons into the process itself.
SkillAFreshness: AClaude Code +9 - 0.565score
review-entry
juangcarmona
Create one dated, per-work-item retrospective after a change has merged: what worked, what did not, what to change next time, and sourced effort figures.
SkillAFreshness: AClaude Code +9 - 0.561score
ff
juangcarmona
Run the configured development lifecycle end to end with bounded, independent agent reviews and durable evidence.
SkillAFreshness: AClaude Code +9 - 0.553score
plan
juangcarmona
Plan a refined work item using the lifecycle's existing proposal workflow.
SkillAFreshness: AClaude Code +9 - 0.529score
document-to-markdown
juangcarmona
Convert Word (.doc, .docx), PowerPoint (.ppt, .pptx), Excel (.xls, .xlsx), OpenDocument (.odt, .ods, .odp), RTF, EPUB, CSV, and PDF files to GitHub-Flavored…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/juangcarmona/agent-toolkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from juangcarmona
- 0.570score
adopt
juangcarmona
Bootstrap, reconcile, or explicitly reset a project's lifecycle configuration to the shared defaults.
SkillAFreshness: AClaude Code +9 - 0.567score
architecture-docs
juangcarmona
Create, review, and maintain evidence-grounded arc42 architecture documentation from implementation evidence, ADRs, and product intent.
SkillAFreshness: AClaude Code +9 - 0.565score
review
juangcarmona
Learn from a merged cycle: record what happened with measured effort and route the lessons into the process itself.
SkillAFreshness: AClaude Code +9 - 0.565score
implement
juangcarmona
Apply the approved plan on its branch, verify the change against the Definition of Done in both lanes, and mark the pull request ready for review.
SkillAFreshness: AClaude Code +9 - 0.565score
integrate
juangcarmona
Land an approved change: enforce the Done gate, fold in the specifications, archive the plan, merge, and close the loop in the tracker.
SkillAFreshness: AClaude Code +9 - 0.565score
propose
juangcarmona
Turn a ready work item into a reviewable solution design with tasks and test impact, raised as a draft pull request.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get adr running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
adr skill. Agent Mart. https://agentmart.dev/skills/juangcarmona-adr (last updated 2026-10-24)