agentleFS
jeremymcsjeremymcs/skills/to-adr/SKILL.md

to-adr

Skill8 starsChanged 6 months agoMITView on GitHub

Turn an architecture discussion, design conversation, rejected proposal, or selected refactoring direction into a complete Architecture Decision Record. Use after a conversation has clarified context, decision, alternatives, tradeoffs, consequences, or an architecture choice that future contributors should not re-litigate.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

19 rules. 0 are common, 17 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill after an architecture or design conversation has produced a decision worth preserving.

    line 10
  2. Distinctive:

    Read the current conversation first.

    line 17
  3. Distinctive:

    If the discussion came from architecture work, preserve the project's domain language and architecture vocabulary: module, interface, …

    line 19
  4. Very specific:

    Look for docs/adr/, adr/, decisions/, CONTEXT.md, DESIGN.md, and existing ADR files.

    line 21
  5. Very specific:

    If no convention exists, create docs/adr/NNNN-title.md starting at 0001.

    line 23
  6. Distinctive:

    Check whether an ADR is justified.

    line 24
  7. Distinctive:

    Write an ADR for decisions that future contributors or agents need to understand.

    line 25
  8. Distinctive:

    Do not write an ADR for ephemeral priority calls, obvious implementation details, or undecided options.

    line 26
  9. Distinctive:

    If the conversation rejected a tempting architecture direction for a load-bearing reason, that can be an ADR.

    line 27
  10. Distinctive:

    Ask one targeted question if the decision, status, or chosen option is unclear.

    line 29
  11. Distinctive:

    Do not ask for information that can be inferred from the conversation or existing ADRs.

    line 30
  12. Distinctive:

    Keep implementation snippets out unless they encode the decision more clearly than prose.

    line 36
  13. Distinctive:

    Check for broken numbering, duplicate titles, unresolved placeholders, and stale contradictions with existing ADRs.

    line 39
  14. Distinctive:

    Use this only when the project has no existing ADR format.

    line 44
  15. Distinctive:

    Do not invent a decision. If the conversation only explored options, draft a proposed ADR and mark the unresolved question clearly.

    line 74
  16. Distinctive:

    Do not re-litigate existing ADRs unless the conversation explicitly decided to supersede or reopen one.

    line 75
  17. Distinctive:

    Do not create multiple ADRs unless the conversation contains multiple independent decisions.

    line 76
  18. Distinctive:

    Do not create issues or PRs unless the user explicitly asks.

    line 77
  19. Distinctive:

    Prefer one complete ADR over a generic summary document.

    line 79

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

To ADR

Use this skill after an architecture or design conversation has produced a decision worth preserving.

The goal is to write a durable ADR from the discussion, not to restart architecture exploration.

Workflow

  1. Gather decision context.
    • Read the current conversation first.
    • Identify the decision, why it came up, alternatives discussed, constraints, tradeoffs, and consequences.
    • If the discussion came from architecture work, preserve the project's domain language and architecture vocabulary: module, interface, implementation, depth, seam, adapter, leverage, and locality.
  2. Inspect existing project conventions.
    • Look for docs/adr/, adr/, decisions/, CONTEXT.md, DESIGN.md, and existing ADR files.
    • Match the existing ADR location, numbering, title style, status vocabulary, and format.
    • If no convention exists, create docs/adr/NNNN-title.md starting at 0001.
  3. Check whether an ADR is justified.
    • Write an ADR for decisions that future contributors or agents need to understand.
    • Do not write an ADR for ephemeral priority calls, obvious implementation details, or undecided options.
    • If the conversation rejected a tempting architecture direction for a load-bearing reason, that can be an ADR.
  4. Fill gaps only when necessary.
    • Ask one targeted question if the decision, status, or chosen option is unclear.
    • Do not ask for information that can be inferred from the conversation or existing ADRs.
  5. Write the ADR.
    • Include enough context that a future agent understands why the decision was made.
    • Explain alternatives and rejected options without straw-manning them.
    • Make consequences concrete: what gets easier, what gets harder, and what follow-up work remains.
    • For architecture ADRs, describe how the decision changes locality, leverage, test surface, and future seams.
    • Keep implementation snippets out unless they encode the decision more clearly than prose.
  6. Verify.
    • Confirm the ADR path and title.
    • Check for broken numbering, duplicate titles, unresolved placeholders, and stale contradictions with existing ADRs.
    • Report what was created or updated.

Default ADR Format

Use this only when the project has no existing ADR format.

# NNNN - Decision title

Status: Proposed | Accepted | Superseded

Date: YYYY-MM-DD

## Context

What situation, pressure, constraint, or recurring confusion led to this decision?

## Decision

What did we decide?

## Alternatives Considered

- Option: why it was not chosen.

## Consequences

- Positive consequence.
- Negative or tradeoff consequence.
- Follow-up work required.

Guardrails

  • Do not invent a decision. If the conversation only explored options, draft a proposed ADR and mark the unresolved question clearly.
  • Do not re-litigate existing ADRs unless the conversation explicitly decided to supersede or reopen one.
  • Do not create multiple ADRs unless the conversation contains multiple independent decisions.
  • Do not create issues or PRs unless the user explicitly asks.
  • Preserve precise terms from CONTEXT.md and existing ADRs.
  • Prefer one complete ADR over a generic summary document.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.