Agent skill

managing-adrs

Create, update, and validate Architecture Decision Records (ADRs) following MADR 4.0 format. Use when the user mentions ADR, architecture decision, decision record, or asks to document a technical decision. Also use when creating new files in docs/decisions/. Handles numbering, frontmatter, section structure, and README index updates. Do NOT use for general documentation or non-architectural decisions.

Stars 26
Forks 2

Install this agent skill to your Project

npx add-skill https://github.com/sortie-ai/sortie/tree/main/.github/skills/managing-adrs

Metadata

Additional technical details for this skill

version
1775952000

SKILL.md

Managing Architecture Decision Records

This project stores ADRs in docs/decisions/ following MADR 4.0 with project-specific conventions documented below.

File Conventions

  • Path: docs/decisions/NNNN-kebab-case-title.md
  • Numbering: zero-padded four digits, sequential. See "Get Sequence Number" below.
  • Index: docs/decisions/README.md contains a table of all ADRs. Update it after every create, rename, or status change.

ADR Template

Use assets/adr-template.md as the starting point. The template contains the exact frontmatter and section structure. Copy it, fill in the content, remove sections marked optional if unused.

Key rules:

  • Frontmatter fields status and date are required. decision-makers is required for accepted decisions.
  • status values: proposed, accepted, deprecated, superseded by NNNN
  • date format: YYYY-MM-DD (date of last status change)
  • The H1 title is a short imperative phrase: "Use X for Y", not "Decision about X"
  • "Decision Outcome" must begin with Chosen option: **X**, because Y
  • "Considered Options" is a bullet list. Detailed analysis goes under "### Considered Options in Detail" inside "Decision Outcome"
  • Decision Drivers use numbered bold-label items: 1. **Label.** Description

Get Sequence Number

Two strategies depending on context:

Pre-assigned number (passed by caller or human): Use it directly. Do not call the script — this prevents duplicate numbers when multiple ADRs are created in parallel.

No number assigned (standalone use):

bash
bash scripts/next_adr_number.sh
# Output: 0004

For batch allocation (multiple ADRs in one session):

bash
bash scripts/next_adr_number.sh --count 3
# Output:
# 0004
# 0005
# 0006

Allocate all numbers upfront before creating any files. This avoids the script returning the same number twice when files haven't been written yet.

Operations

Create ADR

  1. Get the next ADR number (see "Get Sequence Number" above).
  2. Copy assets/adr-template.md to docs/decisions/NNNN-kebab-case-title.md.
  3. Fill in frontmatter: status: proposed, date: <today>, decision-makers: <name>.
  4. Write Context, Decision Drivers, Considered Options, and Decision Outcome.
  5. Remove unused optional sections (Consequences, Confirmation).
  6. Update docs/decisions/README.md — add a row to the table.

Update ADR Status

  1. Edit the status field in frontmatter.
  2. Update date to today.
  3. If superseded, set status: superseded by NNNN and link to the replacement ADR.
  4. Update the Status column in docs/decisions/README.md.

Validate ADRs

Check every file in docs/decisions/ (excluding README.md):

  • Filename matches NNNN-kebab-case-title.md
  • YAML frontmatter has status, date fields
  • date is valid YYYY-MM-DD
  • status is one of: proposed, accepted, deprecated, superseded by NNNN
  • decision-makers is present and non-empty when status is accepted
  • H1 title exists and is an imperative phrase
  • Sections present: "Context and Problem Statement", "Considered Options", "Decision Outcome"
  • "Decision Outcome" contains Chosen option: ** pattern
  • "Considered Options" is a bullet list
  • docs/decisions/README.md table has a row for this ADR with correct title and status

Report all violations. Do not auto-fix without confirmation.

Update README Index

Regenerate the table in docs/decisions/README.md by scanning all ADR files:

markdown
| ADR                              | Title         | Status |
| -------------------------------- | ------------- | ------ |
| [NNNN](NNNN-kebab-case-title.md) | H1 title text | Status |
  • Sort by ADR number ascending.
  • Title column uses the H1 text from the ADR file.
  • Status column uses the status frontmatter value, capitalized.
  • Preserve the introductory paragraph and heading above the table.

Expand your agent's capabilities with these related and highly-rated skills.

sortie-ai/sortie

context-files

Create or validate project context files (AGENTS.md, CLAUDE.md, GEMINI.md). Use when bootstrapping a new project, initializing agent configuration, writing a context file, or when asked to create, review, audit, or validate an existing context file. Handles codebase archaeology, user interviews, golden-rule validation, and platform-specific formatting. Do NOT use for creating Agent Skills (use creating-agent-skills instead) or .instructions.md files (use agent-customization instead).

26 2
Explore
sortie-ai/sortie

jira-syntax

Use when writing Jira issue descriptions, comments, or work logs. Also use when converting Markdown to Jira wiki markup, when the user says "format for Jira", "Jira markup", "wiki notation", or asks to create, update, or validate Jira ticket content. Handles bug report and feature request templates. Do NOT use for Jira API operations, JQL queries, or workflow transitions.

26 2
Explore
sortie-ai/sortie

creating-agent-skills

Use when creating, improving, comparing, evaluating or packaging Agent Skills following the agentskills.io specification. Also use when deciding whether a skill is the right solution vs MCP servers, custom instructions, AGENTS.md, or Cursor Rules. Handles SKILL.md authoring, frontmatter optimization, description writing, progressive disclosure, cross-platform compatibility, and distribution.

26 2
Explore
sortie-ai/sortie

git-commit

Use when asked to commit, save, or persist changes to Git. Handles atomic commits, branch safety, Conventional Commits format, and project style matching. Do NOT use for pushing, creating PRs, or branch management beyond safety checks.

26 2
Explore
sortie-ai/sortie

diataxis-documentation

Create, edit, and validate technical documentation using the Diataxis framework. Use when writing tutorials, how-to guides, reference docs, or explanations. Use when reviewing or auditing existing documentation for structural correctness. Use when deciding what type of document to write. Also use when the user mentions Diataxis, documentation quality, documentation types, or asks to write 'deep dive' articles, onboarding guides, API docs, or architectural explanations. Do NOT use for code comments, commit messages, changelogs, or README generation.

26 2
Explore
sortie-ai/sortie

managing-github-issues

Create, edit, search, close, and triage GitHub issues for this project using gh CLI. Use when asked to file a bug, request a feature, create a task, report a problem, search the backlog, triage issues, or manage the issue tracker. Also use when the user says "create an issue", "file a bug", "open a ticket", "add to backlog", "search issues", "close issue", or mentions GitHub Issues in any task-management context. Handles label/milestone assignment, duplicate detection, and project board integration. Do NOT use for pull requests (use creating-pr) or changelog entries (use changelog-maintenance).

26 2
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results