Load to create, search, or supersede an architecture decision record.
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/decider/SKILL.mdProblems with a kendex-owned skill go through kendex report; check ownership in the file first.
Numbered decision documents indexed in one INDEX.md (default docs/decisions/), with a search CLI, canonical format, and creation/supersession workflows.
.agents/skills/decider/scripts/decisions <command> [options]Actions (search, search --issue, list, next-id, get, check), search coverage and scoring, output shapes, and the DECISIONS_DIR / DECISIONS_BASE_REF / DECISION_ID_* environment: decisions --help. There is no bare issue action; use search --issue.
Read a hit's INDEX row first. Read an active or superseded record's document before treating it as binding. When considering a withdrawn option, read its retained document and withdrawal reason. A removed record's reason lives where its Rationale cell names it, the comment at the code or the principle doc's section. An active decision binds design policy; a suggestion contradicting it is invalid unless the decision itself is flawed. One marked superseded binds only what its status leaves active; a withdrawn one binds nothing; a removed one binds through the code or principle doc its INDEX row names.
A record exists to stop a reversal: a reviewer or a future agent, reading the code alone, would undo the choice because the code cannot show its reason. Judge the reach and the reason, not the number of sites.
Warranted:
Not warranted:
AGENTS.md line.A record is short: the choice, why, the main rejected alternative, the revisit trigger, with its ID, status, issue or evidence link and partial-supersession scope. Shortening a record keeps its ID and status; moving a reason into code is not a reversal. A record whose choice is routine is removed once its reason lives in the code or principle doc it governs: removal is not withdrawal and changes no policy. A withdrawal with no replacement is a retirement. Follow workflows/update-decision.md: retain a significant withdrawn decision's short document with status Withdrawn and the withdrawal reason; remove a routine record's document after moving its reason. Keep the INDEX row in both cases so the ID stays reserved. Supersede only changed policy.
| Workflow | Trigger |
|---|---|
workflows/create-decision.md | A choice under the bar above is settled |
workflows/update-decision.md | A new decision supersedes, partially supersedes, or revisits an existing one, or an existing one is retired or removed |
Format: schemas/decision-format.md (constraints), templates/decision-entry.md (document skeleton), templates/index-row.md (INDEX row). The finished example is the docs-writing skill's examples/decision.md.
Never create a decision document without explicit user approval. When work settles a choice under the bar, say on completion: "this introduced a decision worth recording: [summary]. Want me to create a decision entry?"
vanillagreencom/kendex
32d7bc7
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.