Context
Drop-in ADR toolkit for AI coding agents (Claude Code, Cursor, Copilot, Codex). Skill + agent + instructions + template. MIT.
npx -y skills add rvdbreemen/adr-kit --skill contextAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Find ADRs relevant to a task before implementation. Use for ADR context, governing decisions, architecture constraints, or why a design exists. Read-only.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.5 KB, as published. Nobody here has run it
adr-kit context
Use $ARGUMENTS as the task topic. If empty, use the current user request or
ask for one short topic when the request does not identify one.
You are running /adr-kit:context. Purpose: surface the ADRs that constrain the
task at hand before writing code, so you implement within existing decisions
instead of rediscovering or contradicting them. This is read-only — it never
edits ADRs or code, so it is safe to call from parallel subagents.
Procedure
-
Take the topic from the argument. If none was given, ask the user for a short topic or task description (one phrase is enough).
-
Treat schema-v2
docs/adr/ADR-INDEX.jsonas the generated local query database. Never treat it as the decision authority or edit it by hand; source Markdown remains authoritative. Run the shared deterministic query engine from the project root and keep the default limit of 5:python <adr-kit-plugin-path>/bin/adr-context --format json --limit 5 "<topic>"- Use
--adr-dir <path>if the project keeps ADRs somewhere other thandocs/adr/. - Use
--min-score <0-1>to tighten or loosen the relevance cutoff (default0.1). - Include known
--paths,--components,--symbols, or--topics. Filter with--statusor--authority; use--historyonly when the task needs Rejected, Superseded, or Deprecated rationale. - Keep governing Accepted and advisory Proposed results separate.
- If the JSON graph is missing or stale, report the fallback and
python bin/adr-index docs/adras the repair command. Use--strict-indexwhen fallback would be unsafe.
- Use
-
If the result is an empty list (
[]): tell the user plainly — "No ADRs match '<topic>'; all existing ADRs may apply, or none constrain this work." Do not invent relevance. Stop here. -
Otherwise, for each returned ADR,
Readthe file and present it as readable context, not just a filename:ADR-NNN — <title>(relevance:<score>)- returned status and format;
- returned decision summary, authority, role, and matched signals;
- declared related ADR ids when they explain the match;
- file path, then
Readthat source ADR before stating a binding constraint.
Order by relevance (highest first), most relevant ADR last in your message so it stays closest to the work that follows.
-
Briefly state the net constraint: in one or two sentences, what these decisions require or forbid for the task. Then proceed with (or hand back to) the implementation.
Boundaries
- Read-only. Never modify ADRs, code, or status during a context load.
- Report relevance honestly — a low score means "weakly related", not "must comply". Do not inflate scores to seem thorough.
- The ranker is a heuristic. If the user mentions a decision you do not see in
the results, widen with a different topic or lower
--min-scorerather than assuming no ADR exists. - Query the index first and open only returned sources; do not scan every ADR merely to discover relevance.
- Loading context is not approval to violate a decision. If the task conflicts
with an Accepted ADR, surface the conflict and use
/adr-kit:judgeor/adr-kit:adrto resolve it.