From adr-refine
Critique a draft Architecture Decision Record: surface unclear context, missing tradeoffs, and codebase inconsistencies. Auto-invoked by the adr skill; also use when the user says "review this ADR", "refine this ADR", "is this ADR good enough to commit?", or "re-refine after implementation".
How this skill is triggered — by the user, by Claude, or both
Slash command
/adr-refine:adr-refineThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
An ADR draft is not done when it's written — it's done when it survives a critique pass. This skill runs that pass. Its job is to make a future reader's life easier by catching the problems the author couldn't see while drafting.
An ADR draft is not done when it's written — it's done when it survives a critique pass. This skill runs that pass. Its job is to make a future reader's life easier by catching the problems the author couldn't see while drafting.
This skill is the refinement half of the ADR workflow. The adr skill writes the draft; this skill interrogates it. Implementation work should not begin until both have run and the user has accepted the refined ADR.
adr. The adr skill's final step invokes this one on the file it just wrote. No user action required.Accepted, don't refine — propose a superseding ADR instead. The historical record matters, and Accepted ADRs are immutable except for the status/reference updates documented in the adr skill.Print review notes in this exact structure. Omit a section only if it has genuinely nothing to flag — prefer saying "nothing flagged here" over silently dropping a heading, so the user knows you looked.
## Review notes for ADR NNNN: {title}
### Unclear context
- {thing a future reader with only the code + ADR won't understand, and why}
### Missing tradeoffs
- {alternative not considered, or consequence not named, with a pointer to what's missing}
### Hand-wavy language
- {quoted phrase} → {why it's vague and what concrete version would look like}
### Codebase inconsistencies
- {claim in the ADR} vs {what the code actually shows, with file:line reference}
### Questions for you
1. {direct question about an ambiguity — do not guess}
2. ...
### Suggested edits
{cross-cutting rewrites that don't belong to a single category above — e.g., a reframing of the Context section, or a consolidation that affects multiple bullets. Single-category fixes belong inline with their category bullet, not here.}
### Overall
{one or two sentences: is this close to commit-ready, or does it need a structural rework? Be direct.}
Unclear context. Will a reader five years from now, who has only the code and this ADR, understand why a decision had to be made at all? Context that describes the world as it will be ("we use Rails 8") rather than the world as it was ("at the time, we were choosing a framework") ages badly.
Missing tradeoffs. A decision with no negative consequences is suspicious. So is a decision that names only one alternative. Push on: what did we not pick, and why? What does this make harder or impossible?
Hand-wavy language. Flag hedging ("we might", "consider", "probably"), vague decisions ("use a background job system" without naming the library), and non-consequences ("more complex", "some risk"). Quote the phrase and suggest a concrete replacement.
Codebase inconsistencies. This is the highest-value check and the one most likely to be skipped. If the ADR says "the existing auth middleware does X", actually read the middleware. If it says "there are no background jobs today", actually grep for ActiveJob and perform_later. An ADR built on a wrong premise is worse than no ADR.
Questions you shouldn't paper over. If something is ambiguous, ask. Do not guess and do not fabricate context. A short list of direct questions is more valuable than a long draft that hides its assumptions.
Link hygiene. If this ADR supersedes or builds on a prior one, is it linked? If another ADR in the repo covers overlapping ground, flag the overlap.
Refinement converges when the remaining items are polish — wording, link hygiene, formatting consistency — rather than substance (missing tradeoff, unverified claim, wrong premise, ambiguous decision). At that point the ADR is done refining; say so and stop, even if minor improvements are still imaginable.
If substantive issues — wrong framing, wrong scope, wrong decision, unverified premises — are still surfacing after the user has already revised the ADR in response to a prior round of refinement, the problem is structural, not refinable. Stop running passes and flag it as needing a rethink — see the "Infinite refinement" anti-pattern.
adr skill) for a reason. Critique and propose — don't overwrite.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub beflagrant/skills-marketplace --plugin adr-refine