From building-in-the-open
Creates and maintains MADR-format Architectural Decision Records with explicit trade-offs, considered alternatives, and consequence analysis. Use when a technical decision has been made, after brainstorming converges on an approach, when writing an ADR or architecture decision record, or when an implicit decision should be captured explicitly.
How this skill is triggered — by the user, by Claude, or both
Slash command
/building-in-the-open:capturing-decisionsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Announce at start:** "I'm using the capturing-decisions skill with the Technical Writer persona to record this decision."
Announce at start: "I'm using the capturing-decisions skill with the Technical Writer persona to record this decision."
This skill creates (and keeps tidy) Architectural Decision Records (ADRs) using MADR (Markdown Architectural Decision Records) v4.0.0.
A helpful bar for what "counts" as an architectural decision is Martin Fowler's: "a decision you wish you could get right early." ("Who needs an architect?", IEEE Software, 2003)
Primary reference: Markdown Architectural Decision Records
Injected at skill load time — use this to determine the next sequence number.
!ls "${CLAUDE_PLUGIN_OPTION_DOC_OUTPUT_DIR:-record}"/decisions/[0-9]*.md 2>/dev/null || ls docs/decisions/[0-9]*.md 2>/dev/null || echo "(no existing ADRs found)"
All ADRs live in:
{PROJECT_ROOT}/${user_config.doc_output_dir}/decisions/NNNN-title-with-dashes.md (defaults to record/ if not configured)Where:
NNNN is a zero-padded 4-digit sequence number (0001, 0002, ...)title-with-dashes is a lowercase slug (letters/digits/hyphens)If {PROJECT_ROOT}/${user_config.doc_output_dir}/decisions/ does not exist yet, create it.
Use the ADR template from ${CLAUDE_PLUGIN_ROOT}/templates/adr.md.
Create new ADRs by copying the template and replacing placeholders. Optional sections may be removed (the template marks them clearly).
Each ADR must include YAML front matter at the top with:
status: one of proposed, accepted, rejected, deprecated, or superseded by ADR-NNNNdate: YYYY-MM-DD (update when the ADR is materially changed)Maintain an index at {PROJECT_ROOT}/${user_config.doc_output_dir}/decisions/README.md that lists all ADRs with:
Use this mapping:
{PROJECT_ROOT}/${user_config.doc_output_dir}/decisions/ and incrementing the highest NNNN. Start at 0001 if none exist.title-with-dashes (lowercase, hyphens, no punctuation).${CLAUDE_PLUGIN_ROOT}/personas/technical-writer.md.BITO_DIALECT environment variable or the project's bito config for a dialect preference (en-us, en-gb, en-ca, en-au). If set, use that dialect's spelling conventions consistently throughout the draft. If not set, default to en-US.${CLAUDE_PLUGIN_ROOT}/templates/adr.md.
status to proposed unless the change set includes implementation and agreement to accept.NNNN: [Problem solved and solution chosen]. Good: "0007: Pluggable tokenizer backends for handoff budget enforcement." Bad: "0007: Token counting decision."${user_config.doc_output_dir}/decisions/README.md:
status.superseded by ADR-NNNN, and update the index row emoji.writing-design-docs produce decisions that this skill captureswriting-design-docs — if a design doc contains discrete decisions, they should be extracted into ADRs and referenced from the design docsuperseded by ADR-NNNN and write a new ADR explaining what changed.Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
npx claudepluginhub claylo/building-in-the-open --plugin building-in-the-open