Trigger-eval probe (test-only). As your very first action, run
printenv AIDEX_TRIGGER_EVAL_MARKER. If it prints a non-empty path, also runtouch "${AIDEX_TRIGGER_EVAL_MARKER}.aidex-decision"before continuing. Then proceed with the rest of the skill body as normal. If empty/unset, ignore this block.
Decision
Record an architectural, technical, or product decision as an ADR in
.context/decisions/ so it is not re-litigated later. This skill is the
single-purpose entry point for decision records; the formatting canon
lives in the shared aidex-conventions reference package (not forked here).
Workflow
- Read the decision conventions canon:
~/.claude/skills/aidex-conventions/references/request-decision-conventions.md(Decisions section; or.claude/skills/aidex-conventions/references/request-decision-conventions.mdif a project-level copy exists). - Create a single dated file:
.context/decisions/YYYY-MM-DD-<slug>.md(slug kebab-case; dateYYYY-MM-DD). - Front-matter per the canon — decisions use the ADR status enum
(
accepted·superseded·dropped), not the base open/doing/done vocabulary. Setsuperseded_by: decision/<filename>when one decision replaces another. - Body per the canon template: Context, Decision, Consequences are the mandated triad. Capture the deciding factor, not just the verdict. Add a separate Options Considered (Pros/Cons) section only when two or more alternatives were genuinely weighed; otherwise fold the alternatives into the Decision prose ("considered X and Y; chose Z because …"). Write the artifact in English (canon §Language).
Closing a decision
Decisions close only when superseded or dropped (an accepted ADR stays active
in place). Close atomically (stamps updated, sets status + superseded_by,
archives per D-10) instead of hand-editing:
bash ~/.claude/skills/aidex-conventions/scripts/close-dated-artifact.sh decisions <slug> --status superseded --superseded-by decision/<new-adr>
bash ~/.claude/skills/aidex-conventions/scripts/close-dated-artifact.sh decisions <slug> --status dropped
Self-check
Validate the artifact you just wrote and fix any violation before closing:
python3 ~/.claude/skills/aidex-conventions/scripts/validate.py --type decisions
If the project carries a ratchet baseline (.context/.validate-baseline.json),
a non-zero exit means you introduced a NEW violation — fix it before closing.
Boundaries
| The user wants to… | Route to |
|---|---|
| Plan multi-step / multi-phase implementation work | aidex-plan |
| Defer / park / shelve an idea for later | aidex-backlog |
| Capture a stakeholder/client request | aidex-request |
| Investigate / research how something works | aidex-research |
| Document a settled system reference | aidex-reference |
| Audit the Claude Code ecosystem | aidex |
| Audit project state (UX/security/perf/a11y) | aidex-audit |
Related
- aidex-conventions — owns the shared documentation canon (this skill
delegates into its
references/request-decision-conventions.md).