
Adr Index
- 636 installs
- 67k repo stars
- Updated August 4, 2026
- ruvnet/ruflo
adr-index is a Claude Code skill that discovers, indexes, and maintains Architecture Decision Records and their dependency graph for developers who need findable ADR catalogs as codebases evolve.
About
adr-index is a documentation automation skill from ruvnet/ruflo that runs scripts/import.mjs to build or rebuild an ADR index plus dependency graph in a single Bash call instead of hundreds of MCP round-trips. It persists every ADR under */docs/adr/ or */docs/adrs/ to the adr-patterns namespace and every relationship—supersedes, amends, related, depends-on—to adr-edges. The importer handles two formats found in the Ruflo monorepo: v3-style headings with Status lines and plugin-style YAML frontmatter with id and status fields. Developers reach for adr-index when ADR files multiply across packages and manual cross-referencing breaks down.
- Automatically scans your project for ADR files following the standard naming convention
- Generates a searchable index with decision titles, statuses, dates, and links
- Supports both Markdown and AsciiDoc ADR formats
- Outputs index in Markdown, JSON, or HTML formats for different consumption needs
- Can be run as a one-off command or integrated into CI for continuous documentation
Adr Index by the numbers
- 636 all-time installs (skills.sh)
- +10 installs in the week ending Jul 26, 2026 (Skillselion tracking)
- Ranked #347 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ruvnet/ruflo --skill adr-indexAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 636 |
|---|---|
| repo stars | ★ 67k |
| Last updated | August 4, 2026 |
| Repository | ruvnet/ruflo ↗ |
How do you index Architecture Decision Records automatically?
Automatically discover, index, and maintain a living catalog of Architecture Decision Records so decisions stay findable as the codebase evolves.
Who is it for?
Developers maintaining multi-package monorepos with v3-style or plugin-style ADR files who need a searchable decision catalog.
Skip if: Teams without Architecture Decision Records or projects that only need one-off ADR authoring without indexing.
When should I use this skill?
A developer asks to rebuild the ADR index, sync decision records after new ADRs land, or map supersedes and depends-on relationships across docs/adr folders.
What you get
Living ADR index, adr-patterns namespace entries, and adr-edges dependency graph for supersedes, amends, related, and depends-on links.
- ADR index catalog
- adr-edges dependency graph
By the numbers
- Supports 2 ADR formats: v3-style headings and plugin-style YAML frontmatter
- Indexes 4 relationship types: supersedes, amends, related, depends-on
Files
ADR Index
Persists every ADR under */docs/adr/ or */docs/adrs/ to the adr-patterns namespace and every relationship (supersedes / amends / related / depends-on) to adr-edges. Handles both ADR formats found in the Ruflo monorepo:
- v3-style:
# ADR-097: Titleheading +**Status**: Proposedline - plugin-style: YAML frontmatter (
id: ADR-NNNN,status: Proposed)
Implementation is in scripts/import.mjs (one Bash call) rather than dozens of per-ADR MCP tool calls — same effective behavior, materially faster, dual-format-aware, and false-positive-resistant for issue numbers.
When to use
- After importing ADRs from another project
- When the AgentDB graph is out of sync with the on-disk ADR files
- Bootstrapping ADR tracking on an existing codebase
Steps
1. Run the importer:
node plugins/ruflo-adr/scripts/import.mjsOptional env:
IMPORT_FORMAT=json— emit JSON instead of markdownIMPORT_DRY_RUN=1— parse + summarize, skip persistenceADR_ROOT=/path— scan a different root (default: cwd)
2. Inspect the summary — total ADRs, stored count, by-status breakdown, edge counts, dangling refs, status mismatches.
3. Verify graph integrity (optional but recommended) via the sibling adr-verify skill, which runs scripts/verify.mjs and exits 1 on cycles.
4. Search semantically via mcp__claude-flow__memory_search against the populated namespace:
memory_search --query "federation budget" --namespace adr-patternsStorage shape
adr-patterns namespace, key <ADR-id>::<basename>, value (text):
<title> — <first paragraph of Context>
file: <relative path>
status: <Proposed|Accepted|Superseded|...>
date: <ISO date>
tags: <comma-separated>adr-edges namespace, key <relation>:<FROM>-><TO>:<timestamp-rand>, value:
{ "from": "ADR-097", "to": "ADR-086", "relation": "related", "capturedAt": "<ISO>" }False-positive guard
#1697 / commit abc123 / PR 1234 references inside ADR bodies are stripped before regex extraction so they don't get misread as ADR-1697 etc. See extractAdrRefs() in scripts/import.mjs.
Cross-references
adr-create— produces the ADR files this skill consumesadr-review— runs overadr-patternsfor compliance checksadr-verify(sibling skill) — runsscripts/verify.mjsfor graph-integrity gating
Related skills
How it compares
Pick adr-index when ADR files already exist on disk and you need a rebuilt index graph, not when drafting the first ADR from scratch.
FAQ
What ADR formats does adr-index support?
adr-index supports v3-style ADRs with # ADR-097: Title headings plus **Status** lines and plugin-style ADRs with YAML frontmatter containing id and status fields, both found in the Ruflo monorepo.
Where does adr-index store indexed decisions?
adr-index persists ADR content to the adr-patterns namespace and relationship edges—supersedes, amends, related, depends-on—to the adr-edges namespace via scripts/import.mjs.