Adr Index
Build or rebuild the ADR index + dependency graph by running scripts/import.mjs (handles v3-style and plugin-style ADR formats; one Bash call vs hundreds of MCP round-trips)
- Skill ID
- ruvnet/ruflo/adr-index
- Publisher
- ruvnet
- Repository
- ruflo
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
ruvnet/ruflo/adr-indexInstalls these files- SKILL.md
What this skill tells the agent
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
- 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)
- Inspect the summary — total ADRs, stored count, by-status breakdown, edge counts, dangling refs, status mismatches.
- Verify graph integrity (optional but recommended) via the sibling
adr-verifyskill, which runsscripts/verify.mjsand exits 1 on cycles.
- Search semantically via
mcp__plugin_ruflo-core_ruflo__memory_searchagainst 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, deterministic key <relation>:<FROM>-><TO>, value:
{ "from": "ADR-097", "to": "ADR-086", "relation": "related", "capturedAt": "<ISO>" }Both ADR records and relationship edges are stored with explicit upsert semantics. Re-running adr-index refreshes changed metadata in place and does not create duplicate copies of an unchanged semantic edge.
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.
What this skill cannot do
adr-index only ever adds/upserts. If an ADR file was deleted (or a relation line removed from a surviving file), the row it wrote stays forever — adr-verify won't catch it either, since an orphan has no dangling ref and forms no cycle. Use the sibling adr-reindex skill to reconcile a deletion (issue #2666).
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 gatingadr-reindex(sibling skill) — drop-and-rebuild reconcile for a deleted ADR file (this skill can only add, never remove)
More from ruvnet
Use this skill in a project
Open any RiverX project, search the Skills panel for ruvnet/ruflo/adr-index, and install it in one click.
