New to Claude Skills? Learn how to install them →

ruvnet on GitHub

ADR Verify

Free

Ensure the integrity of your ADR graph.

by ruvnet67.6k stars on ruvnet/ruflo
2 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What ADR Verify does

ADR Verify is a crucial tool designed for developers and teams managing Architecture Decision Records (ADRs). It acts as a companion to adr-index, providing essential checks on the integrity of your ADR graph after it has been populated. By reading the persisted graph, ADR Verify surfaces potential issues such as dangling references, supersede cycles, and status mismatches. This ensures that your ADR management remains reliable and that all references are valid and up-to-date.

The skill identifies three main types of integrity issues. First, it detects dangling references, which occur when an edge points to an ADR ID that does not exist in the adr-patterns. This often happens when an ADR is deleted or exists in a sibling repository. Second, it checks for supersede cycles, a critical issue where two or more ADRs reference each other as superseding, indicating data corruption. Lastly, ADR Verify flags status mismatches, where an ADR is the source of a supersede edge but does not have its own status updated accordingly.

To use ADR Verify effectively, it is recommended to run it immediately after adr-index to confirm that the graph is healthy. Additionally, it can be integrated into Continuous Integration (CI) pipelines as a fail-closed gate, ensuring that any integrity issues are caught before they can affect production. The skill also allows for optional configurations, such as outputting results in JSON format or enforcing strict verification that exits with an error code on any detected issue.

While ADR Verify is robust, it does have limitations. It cannot detect ADRs that have been deleted from disk without any references, which can lead to discrepancies in reported ADR counts. In such cases, running adr-reindex is necessary to reconcile these discrepancies. Overall, ADR Verify is an essential tool for maintaining the integrity of ADRs in any development environment.

When to use it

Use this skill right after running `adr-index` or as part of your CI process to ensure the integrity of your ADRs.

When not to use it

This skill is not suitable for detecting deleted ADRs that have no edges referencing them; use `adr-reindex` for that purpose.

What you can build with it

Post-Index Verification

Run ADR Verify immediately after `adr-index` to ensure your ADR graph is free from integrity issues.

Continuous Integration Checks

Integrate ADR Verify into your CI pipeline to catch any ADR integrity problems before deployment.

Pre-Publication Review

Use ADR Verify before publishing any ADR-related releases to confirm that all records are accurate and consistent.

How to install ADR Verify

View source

1. Install with the skills CLI

npx skills add ruvnet/ruflo/adr-verify --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by ruvnet

ADR Verify

Companion to adr-index. After import, reads the persisted graph and surfaces integrity issues:

  • Dangling refs — edge points at an ADR ID that doesn't exist in adr-patterns. Common cause: the referenced ADR is in a sibling repo or got deleted.
  • Supersede cyclesADR-A supersedes ADR-B and ADR-B supersedes ADR-A (or longer cycles). Always data corruption.
  • Status mismatches — an ADR is the source of a supersedes edge but its own status isn't Superseded. Usually a missed status update during a successor ADR's promotion.

What this skill cannot catch: an adr-patterns row for an ADR that was deleted from disk and has zero edges referencing it or from it — invisible to every check above (issue #2666). If the reported ADR count looks higher than what's actually on disk, run adr-reindex, not adr-verify again.

When to use

  • Right after adr-index to confirm the graph is healthy
  • In CI as a fail-closed gate (VERIFY_STRICT=1 exits 1 on any issue)
  • Before publishing an ADR-related release

Steps

node plugins/ruflo-adr/scripts/verify.mjs

Optional env:

  • VERIFY_FORMAT=json — JSON instead of markdown
  • VERIFY_STRICT=1 — exit 1 on ANY issue (default: only on cycles)

Exit codes

CodeMeaning
0Graph healthy (or dangling refs / status mismatches present in non-strict mode)
1Supersede cycle detected, OR strict mode + any issue present

Cross-references

  • adr-index — populates the data this skill verifies
  • scripts/import.mjs — has its own dry-run validation; this skill is the read-back companion
  • adr-reindex — reconciles a deleted ADR that adr-verify cannot detect

Frequently asked questions about ADR Verify

Similar skills