Chalk Labs
Need help deploying adr-conventions?
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/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?* In English, like every document (`documentation-conventions`). ## 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` 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. An ADR's diagram, when it carries one, follows `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`), or in a code comment where it is genuinely farfelu. **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, unasked, 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. ``` Keep it to **one page**. Past ~150 lines it is usually several decisions wearing one number — split it. ## Status and the immutability rule `proposed` → `accepted` → `superseded by [ADR-NNNN](NNNN-….md)`, plus
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 (29 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
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-conventions 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-conventions skill. Agent Mart. https://agentmart.dev/skills/leroyguillaume-adr-conventions (last updated 2026-10-24)