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/leroyguillaume-adr-conventions
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
Use cases: frontend, writing
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 and code. 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-conventions
What's inside
- Skill name
adr-conventions- Description
- Architecture Decision Records in `docs/adr/`. TRIGGER when: adding or removing a component, datastore or external service (no library), changing how parts communicate, accepting an outside constraint; editing anything under `docs/adr/`; user asks whether something warrants an ADR. SKIP when: describing the system as it stands (`architecture-conventions`), or the decision leaves the architecture diagram unchanged (its reasoning goes in ARCHITECTURE.md).
- License
- MIT
- Instructions
- 165 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# ADR conventions An **Architecture Decision Record** captures one decision, at the moment it is taken, and is then frozen. It answers a question no other file can: *what did we know, what else was on the table, and why did we pick this?* **Always in English**, like every other document in the repository. ## The split with `ARCHITECTURE.md` These two are complementary and must not drift into each other: | | `ARCHITECTURE.md` | `docs/adr/` | | --- | --- | --- | | **Tense** | present — what *is* | past — what was decided, then | | **Scope** | the whole system, coherent | one decision, isolated | | **Lifecycle** | rewritten as the system changes | immutable once accepted | | **History** | never | that is the point | `ARCHITECTURE.md` is where history is banned precisely *because* the ADRs hold it. Without them, the pressure to narrate the past leaks into the design doc and rots it (see `architecture-conventions`). **A decision that changes the design updates both, in the same change**: the ADR records what was decided, and `ARCHITECTURE.md` — created if the project has none yet — is rewritten to describe the new state as though it had always been that way. `ARCHITECTURE.md` may link an ADR as the record; it must never narrate the change. ## When to write one The hard part, and where most ADR practices die — either nobody writes any, or everything gets one and nobody reads them. **The second failure is the common one**, and it is the expensive one: a repository with forty ADRs has no ADRs, and since they are immutable, nobody can quietly tidy them away afterwards. **The gate is architectural impact, not interestingness.** An ADR is for a decision that changes the *shape* of the system: what the components are, what each owns, how they talk to each other, what the whole thing depends on. The test is blunt — **would someone drawing the architecture diagram have to redraw it?** If not, then however good the decision is, however hard the call was, however credible the alternative, it is not an ADR. Write one when, and only when, the diagram changes because: - a component, a datastore, or an external service or system the project depends on is added or removed — a library is not one; - how the parts talk changes — protocol, sync to async, who owns what data; - a constraint from outside — org policy, a platform limit, a quota, a compliance rule — forces the design to bend around it. **When an ADR does carry a diagram, it is Mermaid** — the decision here is usually a shape, and two small diagrams (the option taken, the one rejected) argue it better than a page of prose. Never ASCII art, never a committed image: an ADR is immutable, so a diagram nobody can edit is one nobody can ever fix. See `diagram-conventions`. **Do not write one for anything that leaves the diagram unchanged**: an endpoint or a screen, a dependency bump, a refactor with no interface change, a naming or ergonomics choice, a default value, a config or file format, a CLI flag, an error-handling policy, a library picked over a near-identical one, or a deliberate deviation from one of these conventions. Those are real decisions and their reasoning is worth keeping — it goes in **`ARCHITECTURE.md` as standing rationale, in the present tense** (see `architecture-conventions`; create the file if the project has none yet), in a code comment where it is genuinely farfelu, or nowhere. **When it is not clear-cut, ask — and do not write it meanwhile.** How load-bearing and how permanent a decision feels is a judgement about *this* project, which the user holds and the diff does not. One question costs a sentence; a directory of ADRs nobody asked for costs every future reader's attention, permanently. **Never write an ADR unasked unless it is unambiguously one of the three cases above** — and never write a batch of them to document a project retrospectively. ## Files - **`docs/adr/NNNN-kebab-case-title.md`** — four-digit zero-padded sequence from `0001`, allocated in order and **never renumbered**, never reused. A number is a permanent address: it is cited from `ARCHITECTURE.md`, from commit messages, from other ADRs. - **The title states the decision, not the topic.** `0007-store-sessions-in-redis.md`, not `0007-session-storage.md`. Someone scanning the directory should read the decisions, not the agenda. - **`docs/adr/README.md`** — the index: a table of number, title and status, updated in the same change. Undiscoverable ADRs get rewritten by accident. ## Template ```markdown # NNNN. <the decision, as a sentence> - **Status**: accepted - **Date**: YYYY-MM-DD ## Context What forced a decision: the constraint, the problem, what was already true. Enough that someone who was not there can weigh the options themselves — and no more. Facts, not the narrative of the meeting. ## Decision What was decided, in the active voice: "we store sessions in Redis". A few lines. This is the part people come back for. ## Consequences What this makes easy, what it makes hard, and what it commits us to. The negative half is not optional — an ADR listing only benefits is an advertisement, and it is the part a future reader needs most. ## Alternatives considered Each credible option, and the specific reason it lost. "Postgres: another service to operate for a workload that fits in memory." One or two lines each; an option nobody seriously weighed does not belong here. ```
From leroyguillaume/claude, MIT.
More from leroyguillaume/claude
- 0.624score
api-conventions
leroyguillaume
HTTP/RPC API payloads in any language: DTOs, JSON casing, pagination, OpenAPI docs.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
architecture-conventions
leroyguillaume
ARCHITECTURE.md: the system as it stands, in the present tense.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
argocd-conventions
leroyguillaume
Argo CD objects in any GitOps repository.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
ci-conventions
leroyguillaume
Platform-agnostic CI pipelines: quality gate, Trivy scans, path filters, caching, releases.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
contributing-conventions
leroyguillaume
CONTRIBUTING.md: dev setup, tests, pre-commit and CI.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
dependency-update-conventions
leroyguillaume
Dependabot and Renovate configuration and their PRs.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
diagram-conventions
leroyguillaume
Diagrams in committed files: format and diagram type.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
docker-conventions
leroyguillaume
Dockerfiles: base images, multi-stage builds, non-root USER, hadolint and Trivy.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
documentation-conventions
leroyguillaume
Docs a human can maintain: one home per fact, links not copies.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
frontend-conventions
leroyguillaume
Frontend code: TypeScript, React, Biome, mobile-first.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
github-actions-conventions
leroyguillaume
GitHub Actions mechanics: workflows, pinned actions, SARIF, release notes, Releases, Pages.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
github-issue-conventions
leroyguillaume
Where remaining work goes on a GitHub repo: an issue via `gh`.
SkillAFreshness: A★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 3
- Open issues
- 0
- Last commit (this folder)
- Oct 2, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/leroyguillaume/claude
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from leroyguillaume
- 0.624score
architecture-conventions
leroyguillaume
ARCHITECTURE.md: the system as it stands, in the present tense.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
argocd-conventions
leroyguillaume
Argo CD objects in any GitOps repository.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
ci-conventions
leroyguillaume
Platform-agnostic CI pipelines: quality gate, Trivy scans, path filters, caching, releases.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
contributing-conventions
leroyguillaume
CONTRIBUTING.md: dev setup, tests, pre-commit and CI.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
dependency-update-conventions
leroyguillaume
Dependabot and Renovate configuration and their PRs.
SkillAFreshness: A★ 7Claude Code +9 - 0.624score
api-conventions
leroyguillaume
HTTP/RPC API payloads in any language: DTOs, JSON casing, pagination, OpenAPI docs.
SkillAFreshness: A★ 7Claude Code +9
Cite this page
adr-conventions skill. Agent Mart. https://agentmart.dev/skills/leroyguillaume-adr-conventions (last updated 2026-10-24)