Agent skill

Writing Adrs

by fullsend-ai in fullsend-ai/fullsend

A skill your agent uses when writing, proposing, or accepting Architecture Decision Records (ADRs) in this repo.

Apache-2.0Auto-check passedDevelopment

Install Writing Adrs

skills CLI
$ npx skills add fullsend-ai/fullsend --skill writing-adrs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fullsend-ai/fullsend writing-adrs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fullsend-ai/fullsend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/writing-adrs .claude/skills/writing-adrs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
writing-adrs
GitHub stars
149
Token cost
~2.3k tokens
SKILL.md length
1,111 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when writing, proposing, or accepting Architecture Decision Records (ADRs) in this repo.

  • Works in 7 steps: Find the next number. List docs/ADRs/ on… → Read the template. Use… → Fill in frontmatter. relates_to must… → …
  • Accepting Architecture Decision Records (ADRs) in this repo
  • SKILL.md covers Overview, When to Use, The Rules and Checklist, plus 3 more sections
  • Calls make

What it does

Writing Adrs is an agent skill from fullsend-ai/fullsend. Use when writing, proposing, or accepting Architecture Decision Records (ADRs) in this repo. Use when a decision has crystallized from a problem doc and needs to be recorded, or when updating living documents after an ADR is accepted.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Architecture decision records. The repository describes itself as: On the path to fully autonomous agentic engineering. The licence is Apache-2.0.

When your agent uses it

  • Accepting Architecture Decision Records (ADRs) in this repo
  • A decision has crystallized from a problem doc and needs to be recorded
  • Updating living documents after an ADR is accepted

Example prompts

  • “/writing-adrs”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Find the next number. List docs/ADRs/ on current main, then scan
  2. Read the template. Use docs/ADRs/0000-adr-template.md exactly.
  3. Fill in frontmatter. relates_to must reference existing filenames
  4. Choose the right status. Use Accepted when the decision is made.
  5. Write the ADR. Follow the conciseness rules above.
  6. Run linters. Stage your changes, then execute make lint and fix any errors before committing.
  7. If status is Accepted, update living documents (see below).

What it can do on your machine

Read from SKILL.md and the folder at commit e05aed3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Writing Adrs loads about 2.3k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,111 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fullsend-ai/fullsend at commit e05aed3, republished under its Apache-2.0 licence (© fullsend-ai). 1,111 words, ~2,306 tokens.

Download SKILL.mdSave it as .claude/skills/writing-adrs/SKILL.md (or your agent's skills folder).
name
writing-adrs
description
Use when writing, proposing, or accepting Architecture Decision Records (ADRs) in this repo. Use when a decision has crystallized from a problem doc and needs to be recorded, or when updating living documents after an ADR is accepted.

Writing ADRs

Overview

An ADR records exactly one decision. Problem docs explore; ADRs decide. docs/architecture.md and problem docs are the current state (mutable). ADRs are point-in-time records that can receive minor annotations but should not be substantially rewritten.

ADRs are point-in-time records, not evolving documents

An ADR captures a decision and the context that existed when it was made. It is not a living design document -- that role belongs to docs/architecture.md.

That said, accepted ADRs are not 100% frozen. Minor annotations after the fact are welcome and encouraged:

Acceptable modifications to an accepted ADR:

  • Changing its status (e.g., from Accepted to Deprecated or Superseded)
  • Adding cross-reference links to related or superseding ADRs
  • Adding short notes that connect the ADR to newer decisions or clarifications
  • Fixing typos, broken links, or formatting

These annotations keep ADRs useful as navigational aids rather than dead-end documents. When a reader lands on an older ADR, links to subsequent decisions help them find the current state of thinking.

Not acceptable -- write a new ADR instead:

  • Substantially rewriting Context to reflect updated understanding
  • Editing the Decision to match a revised approach
  • Modifying Consequences based on what actually happened
  • Turning the ADR into a running log of how the decision evolved

If a decision turned out to be wrong, that is what supersession is for. The original ADR remains as a historical record of what was decided and why. For ongoing design narrative, use docs/architecture.md.

docs/architecture.md is always current

Unlike ADRs, docs/architecture.md is a living document. It must always reflect the current state of architectural decisions. When a new ADR is accepted (or when an ADR supersedes an older one), docs/architecture.md must be updated to reflect the latest decision. It is the single place a reader can go to understand what is true now, without tracing a chain of ADRs.

When to Use

  • A specific decision has emerged from discussion in a problem doc
  • You need to frame an upcoming decision
  • An ADR has been accepted and living documents need updating

Do NOT use for open-ended exploration -- that belongs in problem docs.

The Rules

One decision per ADR

Each ADR decides a single thing. If you find yourself writing "Additionally, we decide..." or "We also require...", stop. That is a second ADR.

Be concise
  • Context: 1-3 short paragraphs. Link to problem docs for background instead of restating them.
  • Decision: State the decision directly. A few paragraphs at most.
  • Consequences: 3-5 bullet points. Each one sentence.
SectionTargetAnti-pattern
Context1-3 paragraphsRestating entire problem docs
Options (if any)1 paragraph eachMulti-page analysis per option
DecisionDirect statement + brief rationaleBurying the decision in prose
Consequences3-5 one-sentence bulletsEssay-length explanations

Problem docs exist. Architecture.md exists. Reference them:

markdown
# Good
The threat model establishes least-privilege as a cross-cutting principle
(see [security-threat-model.md](../problems/security-threat-model.md)).

# Bad
[3 paragraphs restating the threat model's least-privilege section]
Cross-reference other ADRs

If this decision builds on or relates to another ADR, say so in Context.

Normative specs (docs/normative/)
  • Use when the decision needs byte-level or field-level contracts, JSON Schema (or equivalent), canonical YAML or snapshots, or compatibility / conformance artifacts aimed at multiple implementations or automated checks.
  • Do not use for open-ended trade-off exploration (that stays in problem docs), for a single architectural choice with no large artifact (keep that in the ADR only), or for duplicating ADR 0003-style repository convention without a versioned contract (do not invent a normative subtree for that).
  • Relationship: the ADR states the decision, high-level versioning expectations, and links to docs/normative/<topic>/v<major>/...; the normative folder holds the detailed, versioned contract (v1, v2, …).

Checklist

Follow these steps in order:

  1. Find the next number. List docs/ADRs/ on current main, then scan open pull requests for new docs/ADRs/NNNN-*.md files so you do not collide with in-flight ADRs. Pick the lowest unused four-digit NNNN.
  2. Read the template. Use docs/ADRs/0000-adr-template.md exactly.
  3. Fill in frontmatter. relates_to must reference existing filenames (without .md) from docs/problems/. Use "*" only for ADRs that truly apply to all problem areas. The status in frontmatter must match the ## Status heading in the body (the linter enforces this). The number in the title field and the # heading must have no leading zeros (e.g., "1. Use ADRs", not "0001. Use ADRs"). The four-digit zero-padded format is only for filenames.
  4. Choose the right status. Use Accepted when the decision is made. Use Deprecated or Superseded when retiring an ADR. Include an Options section only when there are genuine alternatives worth documenting; if the decision is obvious, just decide it.
  5. Write the ADR. Follow the conciseness rules above.
  6. Run linters. Stage your changes, then execute make lint and fix any errors before committing.
  7. If status is Accepted, update living documents (see below).
Show full SKILL.md (350 more words)Show less

Updating Living Documents After Acceptance

When an ADR is accepted, the current-state documents must reflect the decision.

docs/architecture.md

Add a "Decided:" line or short paragraph under the relevant component. Keep the existing structure -- do NOT rewrite entire sections. Add a link to the ADR. Remove or annotate open questions that the ADR resolves. Add new open questions for consequences that surface new unknowns.

markdown
## Agent Sandbox

[existing description unchanged]

**Decided:**

- Filesystem access model: ephemeral read-only source mounts with separate
  writable workspace ([ADR 0002](ADRs/0002-ephemeral-sandbox-filesystems.md)).

**Open questions:**

- [remaining unanswered questions]
- [any new questions raised by the ADR's consequences]
Problem docs

If an ADR resolves an open question in a problem doc, annotate that question with a link to the ADR. Do NOT delete the question -- mark it answered:

markdown
- ~~How do agents access source code?~~ Decided in
  [ADR 0002](../ADRs/0002-ephemeral-sandbox-filesystems.md).

If the ADR partially answers a question, add a parenthetical:

markdown
- How do we provide agents with resources? (Filesystem access decided in
  [ADR 0002](../ADRs/0002-ephemeral-sandbox-filesystems.md); tool and API
  access remain open.)
What NOT to update
  • Do not update documents unrelated to the ADR's relates_to problem areas.
  • Do not rewrite sections. Make surgical additions.
  • Do not change the tone or structure of existing prose.

Red Flags -- Stop and Reconsider

  • Context section restates information from problem docs at length
  • You wrote "Additionally, we decide..." -- split into two ADRs
  • You're rewriting a section of architecture.md -- make a surgical edit instead
  • relates_to lists more than 3 problem docs -- the decision may be too broad
  • You didn't stage and run make lint -- stop and do it
  • You're substantially rewriting the Context, Decision, or Consequences of an accepted ADR -- write a new superseding ADR instead
  • You're turning an old ADR into a running changelog -- use docs/architecture.md for evolving design narrative

Common Mistakes

MistakeFix
Bundling multiple decisionsSplit into separate ADRs
Verbose contextLink to problem docs
Forgetting frontmatter relates_toCheck template, list problem doc filenames
Not updating architecture.mdFollow the update checklist above
Rewriting existing doc sectionsMake surgical additions only
Skipping lintersStage changes, then run make lint before committing
Wrong ADR numberCheck existing files in docs/ADRs/ first
Substantially rewriting an accepted ADRWrite a new ADR that supersedes it
Omitting cross-references to related ADRsLink older ADRs to newer related decisions
Treating old ADRs as evolving design docsUse docs/architecture.md for living narrative
Forgetting to update architecture.mdIt must always reflect current decisions
Leading zeros in title numberUse "1. Title" not "0001. Title" — zero-padded numbers are only for filenames

© fullsend-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/writing-adrs of fullsend-ai/fullsend.

Open the folder on GitHubat commit e05aed3

Compare with similar skills

Writing Adrs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Writing Adrs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Writing Adrs this skillfullsend-ai/fullsend149—~2.3kAutomated safety check: PassApache-2.0
PR Design DocOpenHands/OpenHands90k—~2.4kAutomated safety check: PassMIT
Cto AdvisorIbrahim-3d/orchestrator-supaconductor3814 repos~2.4kAutomated safety check: PassMIT
Architecture DecisionDonchitos/Claude-Code-Game-Studios26k—~1.7kAutomated safety check: PassMIT
Improve Codebase Architectureywwynm/EverythingDone14415 repos~1.3kAutomated safety check: PassGPL-3.0
Domain Modelingbrim-borium/spotify_sdk1665 repos~806Automated safety check: PassApache-2.0

Similar skills

  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Cto Advisor

    Ibrahim-3d/orchestrator-supaconductor

    Technical leadership guidance for engineering teams, architecture decisions, and technology strategy.

    381 GitHub starsUsed in 4 repos~2.4k tokens
    DevelopmentAuto-check passed
  • Architecture Decision

    Donchitos/Claude-Code-Game-Studios

    Create an ADR documenting a technical decision: context, alternatives considered, consequences.

    26k GitHub stars~1.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Improve Codebase Architecture

    ywwynm/EverythingDone

    Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/.

    144 GitHub starsUsed in 15 repos~1.3k tokens
    DevelopmentAuto-check passed
  • Domain Modeling

    brim-borium/spotify_sdk

    Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.

    166 GitHub starsUsed in 5 repos~806 tokens
    DevelopmentAuto-check passed
  • Design Doc Mermaid

    SpillwaveSolutions/design-doc-mermaid

    Create Mermaid diagrams (flowchart, sequence, class, ER, state, C4, architecture) from text or source code.

    176 GitHub starsUsed in 1 repo~5.6k tokens
    DevelopmentAuto-check passed

More from fullsend-ai/fullsend

All 15 skills in this repo
  • Cutting Releases

    fullsend-ai/fullsend

    A skill your agent uses when the user wants to tag a release, cut a release candidate, or ship a new version.

    149 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Topissues

    fullsend-ai/fullsend

    Build a merged RICE priority table: top unassigned backlog issues plus issues assigned to the current user.

    149 GitHub stars~523 tokensUpdated today
    Auto-check passed
  • User Forum Whats New

    fullsend-ai/fullsend

    A skill your agent uses when preparing the Fullsend user forum "What's New" agenda, a Tuesday-to-Tuesday recap, forum-host talk-track notes, or copy-paste HTML of shipped changes for users.

    149 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Adr Corner

    fullsend-ai/fullsend

    Find open GitHub pull requests that add or change Architecture Decision Records and report attribution, summaries, discussion points, and dates.

    149 GitHub stars~654 tokensUpdated today
    Auto-check passed
  • Nextwork

    fullsend-ai/fullsend

    Build a readiness-oriented queue of open issues/PRs — assigned work plus their open GitHub blockers — and recommend the next action for each.

    149 GitHub stars~5.3k tokensUpdated today
    Auto-check passed
  • Analyze Transcript

    fullsend-ai/fullsend

    Analyze fullsend agent run transcripts from GitHub Actions artifacts.

    149 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Categories

Questions about Writing Adrs

What does Writing Adrs do?

A skill your agent uses when writing, proposing, or accepting Architecture Decision Records (ADRs) in this repo. Writing Adrs is an agent skill from fullsend-ai/fullsend. Use when writing, proposing, or accepting Architecture Decision Records (ADRs) in this repo.

When should I use Writing Adrs?

Writing Adrs fits situations like: accepting Architecture Decision Records (ADRs) in this repo; A decision has crystallized from a problem doc and needs to be recorded; updating living documents after an ADR is accepted.

How do I install Writing Adrs in Claude Code?

Run `npx skills add fullsend-ai/fullsend --skill writing-adrs -a claude-code`. Or copy the skill folder (skills/writing-adrs in fullsend-ai/fullsend) into .claude/skills/writing-adrs in your project. Claude Code loads it when a task matches its description.

How do I install Writing Adrs in Codex?

Run `npx skills add fullsend-ai/fullsend --skill writing-adrs -a codex`. Or copy the skill folder (skills/writing-adrs in fullsend-ai/fullsend) into .agents/skills/writing-adrs in your project. Codex loads it when a task matches its description.

Can I use Writing Adrs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fullsend-ai/fullsend --skill writing-adrs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/writing-adrs, .gemini/skills/writing-adrs, .github/skills/writing-adrs and .opencode/skills/writing-adrs in your project.

What does Writing Adrs need to run?

Going by SKILL.md and its folder, Writing Adrs needs the command-line tools its instructions call (make).

Does Writing Adrs access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Writing Adrs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Writing Adrs use?

Writing Adrs is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Writing Adrs use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Writing Adrs?

Skills that share tags, products or a category with Writing Adrs: PR Design Doc (OpenHands/OpenHands, 90k stars), Cto Advisor (Ibrahim-3d/orchestrator-supaconductor, 381 stars), Architecture Decision (Donchitos/Claude-Code-Game-Studios, 26k stars) and Improve Codebase Architecture (ywwynm/EverythingDone, 144 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Writing Adrs?

fullsend-ai (a GitHub organization) maintains it in fullsend-ai/fullsend, which has 149 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 10, 2026.

Source: fullsend-ai/fullsend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.