adr-index

Indexes architecture decision records and their relationships into a searchable memory graph.

70.1k|8.4k|Updated Jun 2, 2025
One-click install
npx skills add https://github.com/ruvnet/claude-flow --skill adr-index
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adr-index
Source: https://github.com/ruvnet/claude-flow/tree/main/plugins/ruflo-adr/skills/adr-index
Command: npx skills add https://github.com/ruvnet/claude-flow --skill adr-index

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Keeping an ADR knowledge graph in sync with on-disk decision records is tedious when done through dozens of individual memory tool calls, and stale or missing entries make architectural history hard to search and reason about.

Core Features & Use Cases

  • Bulk ADR Import: Scans */docs/adr/ and */docs/adrs/ directories and persists every ADR to the adr-patterns namespace in one Bash call via scripts/import.mjs.
  • Relationship Graph Building: Extracts supersedes, amends, related, and depends-on edges into the adr-edges namespace with deterministic keys and idempotent upserts.
  • Dual-Format Parsing: Handles both v3-style ADRs (heading plus status line) and plugin-style ADRs (YAML frontmatter), while stripping issue and commit references that would otherwise be misread as ADR numbers.
  • Use Case: After importing ADRs from another project into a monorepo, run the importer once to populate the AgentDB graph, then search semantically with memory_search for queries like "federation budget".

Quick Start

Run the adr-index skill to scan all ADR files in the repository and rebuild the ADR index and dependency graph in memory.

Frequently Asked Questions about adr-index

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I index architecture decision records into a searchable graph?

Run the import script with node plugins/ruflo-adr/scripts/import.mjs. It scans docs/adr and docs/adrs directories, parses each ADR, and upserts records into the adr-patterns namespace and relationships into adr-edges in one Bash call.

What ADR formats does the importer support?

It supports two formats: v3-style ADRs with a heading like '# ADR-097: Title' plus a status line, and plugin-style ADRs using YAML frontmatter with id and status fields. Both are parsed in the same run.

Can I test the ADR import without writing to memory?

Yes, set IMPORT_DRY_RUN=1 to parse and summarize ADRs without persisting anything. You can also set IMPORT_FORMAT=json for machine-readable output and ADR_ROOT to scan a different directory.

Why do issue numbers get misread as ADR references?

References like #1697, PR 1234, or commit hashes inside ADR bodies can match ADR-number regex patterns. The importer strips these before extraction via extractAdrRefs() so they never become false edges.

What are the limitations of re-running the ADR indexer?

The indexer only adds or upserts records, never removes them. If an ADR file is deleted, its stored row remains, so use the sibling adr-reindex skill to reconcile deletions and adr-verify to check graph integrity.