
adr-review
Review code changes against accepted ADRs for compliance violations
- Installs
- 745
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/ruvnet/ruflo --skill adr-review- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads adr-review automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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
-
Get diff -- Run
git diff main...HEAD --name-only(or the specified branch) to list changed files. Then rungit diff main...HEADto get the full diff content. -
Find relevant ADRs -- For each changed file:
Grepthe file for ADR references (ADR-\d+)Grepdocs/adr/for ADRs that mention the changed file paths or modules- Call
mcp__plugin_ruflo-core_ruflo__memory_searchwith the file path and change summary to find semantically related ADRs
-
Load ADR content --
Readeach relevant ADR file. Focus on:- The Decision section (what was decided)
- The Status (only enforce "accepted" ADRs)
- The Consequences (expected constraints)
-
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?
-
Query relationship graph -- Call
mcp__plugin_ruflo-core_ruflo__memory_listwith namespaceadr-edges(rows are keyed<relation>:<from>__<to>with relationsupersedes,amendsordepends-on) to check if any referenced ADR has been superseded. If the namespace is empty, runadr-indexfirst. If a referenced ADR is superseded, flag that the code references an outdated decision. -
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) -
Suggest actions -- For each violation, suggest whether to update the code or propose a new ADR to supersede the violated one.
FAQ
What does the adr-review skill do?
Review code changes against accepted ADRs for compliance violations
How do I install adr-review?
Run npx skills add https://github.com/ruvnet/ruflo --skill adr-review in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/adr-review/ (personal) or .claude/skills/adr-review/ (project).
Which AI agents can use adr-review?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is adr-review safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains adr-review?
It is published by ruvnet in ruvnet/ruflo. It has 745 recorded installs.
More from ruvnet/ruflo
swarm-orchestration
ruvnet/ruflo
Multi-agent swarm coordination for complex tasks. Uses hierarchical topology with specialized agents to break down and execute complex work across multiple files and modules. Use when: 3+ files need changes, new feature implementation, cross-module refactoring, API changes with tests, security-related changes, performance optimization across codebase, database schema changes. Skip when: single file edits, simple bug fixes (1-2 lines), documentation updates, configuration changes, quick exploration.
agent-arch-system-design
ruvnet/ruflo
Agent skill for arch-system-design - invoke with $agent-arch-system-design
agent-workflow
ruvnet/ruflo
Agent skill for workflow - invoke with $agent-workflow
security-audit
ruvnet/ruflo
Comprehensive security scanning and vulnerability detection. Includes input validation, path traversal prevention, CVE detection, and secure coding pattern enforcement. Use when: authentication implementation, authorization logic, payment processing, user data handling, API endpoint creation, file upload handling, database queries, external API integration. Skip when: read-only operations on public data, internal development tooling, static documentation, styling changes.
github-project-management
ruvnet/ruflo
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.