Keep durable architecture decisions and product specs in sync with the work happening in the conversation. AUTO-INVOKE when a request establishes or changes a long-lived architectural boundary, public contract, data ownership rule, operational invariant, or repo-wide convention with meaningful alternatives. Also invoke on explicit triggers: "record this", "create an ADR", "document this decision", "update the spec", "ADR for X". Run BEFORE coding when the decision is upfront, or AFTER landing wh
SkillScore74Maintained
Automatic
◆Doc Ops pack
Last verified 9/19/2026
What it changes
Passed 15 of 20 test cases with the skill, and 7 of 20 without it.
Without skill35%
With skill74%
Checks it passed that the model alone missed
The response identifies docs/adr/ as an invalid directory path.
The response states that creating a generic spec.md file is forbidden.
The response includes the command python3 scripts/list-docs.py validate.
and 9 more in the full report
10 fixed7 passed either way5 still failing1 broke
Pass-rate lift
+39 pp
Tokens
-10%
Agent turns
0%
Response time
-49%
Model gemini-3.6-flashMeasured 9/19/2026v317 of 23 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 10
Prompt
We finished drafting an ADR for multi-region database replication and updated the backend design spec. List the exact validation terminal commands we must run to verify spec formatting, validate doc discovery, and check for whitespace issues in git.
What was checked, without and with the skill
Checked
Without skill
With skill
The response includes the command python3 scripts/lint-spec-files.py --all.
Missed
Passed
The response includes the command python3 scripts/list-docs.py validate.
Missed
Passed
The response includes the command git diff --check -- docs/decisions docs/specs.
Missed
Passed
case-16 · gemini-3.6-flash · 9/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md95 linessingle file
Record Knowledge
Record significant decisions for future work. Reconcile the affected
requirements and system designs after the decision.
Record a decision
Create an ADR when all statements are true:
The choice creates a durable constraint, boundary, contract, ownership rule,
operational invariant, or repository-wide convention.
Meaningful alternatives have different trade-offs.
Future work must follow or supersede the choice.
A requirement, system design, test, or work order does not preserve enough
rationale.
Do not create an ADR for a simple feature, local refactor, routine dependency
change, plan sequence, or temporary migration step.
ADR procedure
Choose an ID in the form YYYY-MM-DD-short-title.
Make sure that docs/decisions/<id>.md does not exist.
Create the ADR with the template below.
Run python3 scripts/list-docs.py decisions --format paths to confirm the
new ADR is discoverable. Do not edit a catalog row.
Reconcile affected specifications.
Existing numeric ADR IDs remain valid. Do not rename them.
# ADR-YYYY-MM-DD-short-title: Short title
**Status:** accepted | superseded by <adr-id> | deprecated
**Date:** YYYY-MM-DD
**Area:** backend | frontend | infra | protocol | workflow
## Context
Explain the situation and the need for a decision.
Records decisions and documentation. Use when making architectural decisions, changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.
Close match
+14 pp pass-rate lift
kdlbs/spec
Write a feature spec — the "what & why" of a Kandev product feature, before coding. Use for a product feature, or from `/fix` to amend/create the concise behavioral repair spec required before implementation. Do not use for incident postmortems, behavior-preserving refactors, or infra-only work.