ctx-decision-add
Record architectural decision. Use when a trade-off is resolved or a non-obvious design choice is made that future sessions need to know.
Best use case
ctx-decision-add is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Record architectural decision. Use when a trade-off is resolved or a non-obvious design choice is made that future sessions need to know.
Teams using ctx-decision-add should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ctx-decision-add/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ctx-decision-add Compares
| Feature / Agent | ctx-decision-add | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Record architectural decision. Use when a trade-off is resolved or a non-obvious design choice is made that future sessions need to know.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
Record an architectural decision in DECISIONS.md. ## When to Use - After resolving a trade-off between alternatives - When making a non-obvious design choice - When the "why" behind a choice needs to be preserved - When future sessions need to understand why something is the way it is ## When NOT to Use - Minor implementation details (use code comments instead) - Routine maintenance or bug fixes - Configuration changes that don't affect architecture - When there was no real alternative to consider ## Decision Formats ### Quick Format (Y-Statement) For lightweight decisions, use a single statement: > "In the context of **[situation]**, facing **[constraint]**, we decided for > **[choice]** and against **[alternatives]**, to achieve **[benefit]**, > accepting that **[trade-off]**." Example: > "In the context of needing a CLI framework, facing Go ecosystem options, > we decided for Cobra and against urfave/cli, to achieve better subcommand > support, accepting that it has more boilerplate." ### Full Format For significant decisions, gather: 1. **Context**: What situation prompted this decision? What constraints exist? 2. **Alternatives**: What options were considered? (At least 2) 3. **Decision**: What was chosen? 4. **Rationale**: Why this choice over the alternatives? 5. **Consequence**: What changes as a result? (Both positive and negative) ## Gathering Information If the user provides only a title, ask: 1. "What prompted this decision?" → Context 2. "What alternatives did you consider?" → Options 3. "Why this choice over the alternatives?" → Rationale 4. "What are the consequences (good and bad)?" → Consequence For quick decisions, offer the Y-statement format instead. ## Cross-Referencing When a decision **supersedes** an earlier one: - Mark the old decision as "Superseded by [new decision]" - Reference the old decision in the new one - Capture lessons learned from the original decision When decisions are **related**: - Note "See also: [related decision]" in consequences ## Execution Provenance flags (`--session-id`, `--branch`, `--commit`) are **required**. Get these values from the hook-relayed provenance line in your context (e.g., `Session: abc12345 | Branch: main @ 68fbc00a`). **Prefer this skill over raw `ctx add decision`**: the conversational approach lets you automatically pick up session ID, branch, and commit from the provenance line already in your context window. **Quick format:** ```bash ctx add decision "Use Cobra for CLI framework" \ --session-id abc12345 --branch main --commit 68fbc00a \ --context "Need CLI framework for Go project" \ --rationale "Better subcommand support than urfave/cli, team familiarity" \ --consequence "More boilerplate, but clearer command structure" ``` **Full format with alternatives:** ```bash ctx add decision "Use PostgreSQL for primary database" \ --session-id abc12345 --branch main --commit 68fbc00a \ --context "Need ACID-compliant database for e-commerce transactions" \ --rationale "PostgreSQL offers JSONB, full-text search, and team has experience. Chose over MySQL (weaker JSON) and MongoDB (no multi-doc ACID)." \ --consequence "Single database handles transactions and search. Team needs PostgreSQL-specific training." ``` ## Quality Checklist Before recording, verify: - [ ] Context explains the problem clearly - [ ] At least one alternative was considered - [ ] Rationale addresses why alternatives were rejected - [ ] Consequence includes both benefits and trade-offs
Related Skills
ctx-add-decision
Record architectural decision. Use when a trade-off is resolved or a non-obvious design choice is made that future sessions need to know.
ctx-verify
Verify before claiming completion. Use before saying work is done, tests pass, or builds succeed.
ctx-skill-creator
Create, improve, test, and deploy skills. Full skill lifecycle from intent to working skill file.
ctx-sanitize-permissions
Audit tool permissions for dangerous or overly broad entries. Use to ensure safe agent configuration.
ctx-recall
Browse session history. Use when referencing past discussions or finding context from previous work.
ctx-prompt
Apply, list, and manage saved prompt templates from .context/prompts/. Use when the user asks to apply, list, or create a reusable template like code-review or refactor.
ctx-journal-normalize
Normalize journal source markdown for clean rendering. Use after journal site shows rendering issues: fence nesting, metadata formatting, broken lists.
ctx-import-plans
Import plan files into project specs directory. Use to convert external plans into project-tracked specs.
ctx-compact
Archive completed tasks and trim context. Use when context files are growing large.
ctx-check-links
Audit docs for dead links. Use before releases, after restructuring docs, or when running a documentation audit.
ctx-add-task
Add a task. Use when follow-up work is identified or when breaking down complex work into subtasks.
ctx-add-learning
Record a learning. Use when discovering gotchas, bugs, or unexpected behavior that future sessions should know about.