adr-review — Claude Code skill: what it does, how to install
Reviews git diffs against accepted Architecture Decision Records to detect violations, forbidden patterns, and architecture drift before merging code.
npx skills add ruvnet/ruflo --skill adr-review -a claude-codeWhat adr-review does
The skill inspects changes between main and the current branch using git diff. For every modified file, it searches for ADR identifiers, scans the docs/adr/ directory with Grep, and runs semantic searches via the ruflo-core MCP tools.
Analysis focuses exclusively on accepted records. It reads the Decision and Consequences sections to spot code that contradicts established architecture, implements rejected technologies, or alters modules against explicit warnings.
To trace dependencies, the skill queries the adr-edges namespace for supersedes, amends, and depends-on links. Running adr-index beforehand is necessary if that memory namespace is empty, because outdated decisions would otherwise go unnoticed. The output is a structured report with violations, warnings, and unlinked changes.
What it helps with
- detect code violations against accepted architecture records
- catch usage of rejected technologies or design patterns
- verify modified files against documented architectural constraints
- identify references to superseded or outdated ADR documents
Example prompts for the agent
- Review changes in the current branch against accepted ADRs.
- Run adr-review for branch staging and list all architectural violations.
- Compare the latest diff with docs/adr/ and generate a compliance report.
How to install adr-review
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-review -a claude-code2Manually: put the files in place
~/.claude/skills/adr-review/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/adr-review/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-review -a codex2Manually: put the files in place
.agents/skills/adr-review/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-review -a cursor2Manually: put the files in place
.cursor/skills/adr-review/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo adr-review2Manually: put the files in place
.github/skills/adr-review/SKILL.md1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-review -a gemini-cli2Platform CLI
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-adr/skills/adr-reviewManually: put the files in place
.devin/skills/adr-review/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill adr-review -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set104
The whole set →Similar
Questions about adr-review
How to install adr-review in Claude Code?
Run npx skills add ruvnet/ruflo --skill adr-review -a claude-code in your terminal.
What does adr-review verify?
It checks your git diff against accepted ADRs in docs/adr/. The skill flags contradictions to agreed decisions, rejected patterns, and broken module constraints.
What is required before checking ADR relationships?
If the adr-edges memory namespace is unpopulated, run adr-index first. The skill needs this graph to detect dependencies and superseded architectural decisions.
Source text
SKILL.md · MIT
--- name: adr-review description: Review code changes against accepted ADRs for compliance violations argument-hint: "[--branch BRANCH]" allowed-tools: mcp__plugin_ruflo-core_ruflo__agentdb_hierarchical-recall mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__memory_search Bash Read Grep Glob --- # ADR Review Review code changes against accepted Architecture Decision Records to detect violations, drift, and non-compliance. ## When to use Before merging a PR, after significant code changes, or as part of a periodic compliance check. Use this to ensure code changes respect the architectural decisions the team has agreed upon. ## Steps 1. **Get diff** -- Run `git diff main...HEAD --name-only` (or the specified branch) to list changed files. Then run `git diff main...HEAD` to get the full diff content. 2. **Find relevant ADRs** -- For each changed file: - `Grep` the file for ADR references (`ADR-\d+`) - `Grep` `docs/adr/` for ADRs that mention the changed file paths or modules - Call `mcp__plugin_ruflo-core_ruflo__memory_search` with the file path and change summary to find semantically related ADRs 3. **Load ADR content** -- `Read` each relevant ADR file. Focus on: - The **Decision** section (what was decided) - The **Status** (only enforce "accepted" ADRs) - The **Consequences** (expected constraints) 4. **Check for violations** -- Analyze each changed file against its relevant ADRs: - Does the code change contradict an accepted decision? - Does it use a technology/pattern that an ADR explicitly rejected? - Does it modify a module in a way the ADR's consequences warned against? - Is the code referencing a deprecated or superseded ADR? 5. **Query relationship graph** -- Call `mcp__plugin_ruflo-core_ruflo__memory_list` with namespace `adr-edges` (rows are keyed `<relation>:<from>__<to>` with relation `supersedes`, `amends` or `depends-on`) to check if any referenced ADR has been superseded. If the namespace is empty, run `adr-index` first. If a referenced ADR is superseded, flag that the code references an outdated decision. 6. **Report** -- Present findings as a compliance report: ``` ## ADR Compliance Report ### Violations - [ ] <file>:<line> — violates ADR-NNN: <reason> ### Warnings - [!] <file> references superseded ADR-NNN (replaced by ADR-MMM) ### Compliant - [x] <file> — consistent with ADR-NNN ### Unlinked Changes - [?] <file> — no ADR coverage (consider creating one) ``` 7. **Suggest actions** -- For each violation, suggest whether to update the code or propose a new ADR to supersede the violated one.
© ruvnet · MIT · ruvnet/ruflo