/spec-kitty-spdd-reasons
Drive REASONS Canvas authoring and review for Spec Kitty missions that opted in to Structured-Prompt-Driven Development (SPDD) via charter selection. Triggers: "use SPDD", "use REASONS", "generate a REASONS canvas", "apply structured prompt driven development", "make this
$ npx -y skills add Priivacy-ai/spec-kitty --skill spec-kitty-spdd-reasons --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/spec-kitty-spdd-reasons
Context preview
The summary Claude sees to decide when to auto-load this skill.
Drive REASONS Canvas authoring and review for Spec Kitty missions that opted in to Structured-Prompt-Driven Development (SPDD) via charter selection. Triggers: "use SPDD", "use REASONS", "generate a REASONS canvas", "apply structured prompt driven development", "make this
SKILL.md
spec-kitty-spdd-reasons.SKILL.mdname: spec-kitty-spdd-reasons
description: >-
Drive REASONS Canvas authoring and review for Spec Kitty missions that
opted in to Structured-Prompt-Driven Development (SPDD) via charter
selection.
Triggers: "use SPDD", "use REASONS", "generate a REASONS canvas",
"apply structured prompt driven development", "make this mission SPDD".
Does NOT handle: enforcing SPDD on projects whose charter has not
selected the doctrine pack (escalate to charter workflow instead). Does
NOT mirror code as prose; code remains the source of truth for current
behavior.
spec-kitty-spdd-reasons
Drive REASONS Canvas authoring and review for missions that opted in to Structured-Prompt-Driven Development (SPDD) via charter selection. The canvas is a thin, agent-curated reasoning layer that sits next to the spec, plan, and tasks; it is **not** a duplicate system mirror.
This skill is documentation for the agent. It assumes the SPDD/REASONS doctrine pack (paradigm, tactics, styleguide, directive, template) has already been shipped under `src/doctrine/` and that activation can be detected via the helper described below.
---
What this skill does
- Detects whether the SPDD/REASONS pack is active for the current project.
- Loads mission context: `spec.md`, `plan.md`, `tasks.md`, per-WP prompts,
charter context, glossary, research notes, contracts, and relevant code.
- Generates or updates `kitty-specs/<mission>/reasons-canvas.md` from the
seven-section template fragment.
- Compiles per-WP REASONS summaries when an implementer or reviewer asks
for one (a focused slice of the canvas scoped to a single work package).
- Runs comparison-mode review: traces a diff against the canvas and
classifies divergences using the drift taxonomy.
What this skill does NOT do
- It does NOT mirror the code as prose. The canvas references source
artifacts; it does not duplicate them. Code remains the source of truth for current behavior.
- It does NOT overwrite user-authored mission artifacts. When a canvas
section already contains user content, the skill **merges** by appending or refining, never by silent rewrite.
- It does NOT silently enforce SPDD on projects that did not opt in via
charter. If the user demands enforcement and the charter is not configured, escalate to the charter workflow.
Activation rules
Three branches:
1. **Active** — charter selected the SPDD/REASONS pack (paradigm `structured-prompt-driven-development`, tactic `reasons-canvas-fill`, tactic `reasons-canvas-review`, or directive `DIRECTIVE_038`). Proceed with canvas authoring or review using the seven-section template at `src/doctrine/templates/fragments/reasons-canvas-template.md`. 2. **Inactive + ad-hoc request** — user asked to "use REASONS" once, without charter opt-in. Proceed, but stamp the canvas header with a "not formally opted in via charter" note so reviewers know the canvas is advisory only. 3. **Inactive + enforcement demand** — user wants REASONS enforced as a gate but the charter has not selected the pack. Do NOT enforce. Escalate to the charter workflow: suggest running the charter interview to add the paradigm or directive, then return to this skill.
How to detect activation
Programmatic (preferred):
from doctrine.spdd_reasons.activation import is_spdd_reasons_active
active = is_spdd_reasons_active(repo_root)
The helper inspects `.kittify/charter/governance.yaml` and `.kittify/charter/directives.yaml` and returns `True` iff any of the four selectors is present:
- paradigm `structured-prompt-driven-development`
- tactic `reasons-canvas-fill`
- tactic `reasons-canvas-review`
- directive `DIRECTIVE_038`
Manual fallback: read `.kittify/charter/governance.yaml` directly and look for the same selectors under `doctrine.selected_paradigms`, `doctrine.selected_tactics`, or `doctrine.selected_directives`.
How to author the canvas
1. **Read mission artifacts**: `kitty-specs/<mission>/spec.md`, `plan.md`, `tasks.md`, per-WP prompts, `research/*`, `contracts/*`, the project glossary, and any source files the spec or plan calls out. 2. **Map content to the seven sections** using the template at `src/doctrine/templates/fragments/reasons-canvas-template.md`:
- **Requirements** — problem statement, acceptance criteria, DoD.
- **Entities** — domain concepts, relationships, canonical glossary
terms.
- **Approach** — selected strategy and tradeoffs considered.
- **Structure** — code surfaces affected, components, dependencies,
ownership boundaries.
- **Operations** — ordered implementation steps, test strategy.
- **Norms** — coding/style conventions, observability and team rules.
- **Safeguards** — hard constraints, security rules, performance limits,
things not to break. 3. **Link, don't duplicate**: prefer `[see spec.md §X](../spec.md#x)` over inlining spec content. The canvas is a reasoning layer, not a copy. 4. **Preserve user content**: if the canvas already exists, read it before writing. Merge new content into existing sections; never blow away user-authored prose. 5. **Append-only Deviations**: the `## Deviations` section is append-only. New entries go at the bottom in the form `- <date> — <wp> — <description> — <rationale>`. Never rewrite or re-order existing entries.
Output path: `kitty-specs/<mission>/reasons-canvas.md`.
How to review with the canvas
Comparison-mode review pairs an implementation diff against the canvas:
1. **Trace** every changed file in the diff to a Requirement and an Operation step in the canvas. Unmapped changes are signal. 2. **Detect** uninvented entities — files, functions, modules, or domain terms that appear in the diff but not in the canvas, the spec, the plan, or the glossary. 3. **Verify** the diff respects the canvas Norms and Safeguards (style/observability/security/performance/invariants). 4. **Classify** every divergence
Read more
name: spec-kitty-spdd-reasons description: >- Drive REASONS Canvas authoring and review for Spec Kitty missions that opted in to Structured-Prompt-Driven Development (SPDD) via charter selection. Triggers: "use SPDD", "use REASONS", "generate a REASONS canvas", "apply structured prompt driven development", "make this mission SPDD". Does NOT handle: enforcing SPDD on projects whose charter has not selected the doctrine pack (escalate to charter workflow instead). Does NOT mirror code as prose; code remains the source of truth for current behavior.
spec-kitty-spdd-reasons
Drive REASONS Canvas authoring and review for missions that opted in to Structured-Prompt-Driven Development (SPDD) via charter selection. The canvas is a thin, agent-curated reasoning layer that sits next to the spec, plan, and tasks; it is **not** a duplicate system mirror.
This skill is documentation for the agent. It assumes the SPDD/REASONS doctrine pack (paradigm, tactics, styleguide, directive, template) has already been shipped under `src/doctrine/` and that activation can be detected via the helper described below.
---
What this skill does
- Detects whether the SPDD/REASONS pack is active for the current project.
- Loads mission context: `spec.md`, `plan.md`, `tasks.md`, per-WP prompts,
charter context, glossary, research notes, contracts, and relevant code.
- Generates or updates `kitty-specs/<mission>/reasons-canvas.md` from the
seven-section template fragment.
- Compiles per-WP REASONS summaries when an implementer or reviewer asks
for one (a focused slice of the canvas scoped to a single work package).
- Runs comparison-mode review: traces a diff against the canvas and
classifies divergences using the drift taxonomy.
What this skill does NOT do
- It does NOT mirror the code as prose. The canvas references source
artifacts; it does not duplicate them. Code remains the source of truth for current behavior.
- It does NOT overwrite user-authored mission artifacts. When a canvas
section already contains user content, the skill **merges** by appending or refining, never by silent rewrite.
- It does NOT silently enforce SPDD on projects that did not opt in via
charter. If the user demands enforcement and the charter is not configured, escalate to the charter workflow.
Activation rules
Three branches:
1. **Active** — charter selected the SPDD/REASONS pack (paradigm `structured-prompt-driven-development`, tactic `reasons-canvas-fill`, tactic `reasons-canvas-review`, or directive `DIRECTIVE_038`). Proceed with canvas authoring or review using the seven-section template at `src/doctrine/templates/fragments/reasons-canvas-template.md`. 2. **Inactive + ad-hoc request** — user asked to "use REASONS" once, without charter opt-in. Proceed, but stamp the canvas header with a "not formally opted in via charter" note so reviewers know the canvas is advisory only. 3. **Inactive + enforcement demand** — user wants REASONS enforced as a gate but the charter has not selected the pack. Do NOT enforce. Escalate to the charter workflow: suggest running the charter interview to add the paradigm or directive, then return to this skill.
How to detect activation
Programmatic (preferred):
from doctrine.spdd_reasons.activation import is_spdd_reasons_active active = is_spdd_reasons_active(repo_root)
The helper inspects `.kittify/charter/governance.yaml` and `.kittify/charter/directives.yaml` and returns `True` iff any of the four selectors is present:
- paradigm `structured-prompt-driven-development`
- tactic `reasons-canvas-fill`
- tactic `reasons-canvas-review`
- directive `DIRECTIVE_038`
Manual fallback: read `.kittify/charter/governance.yaml` directly and look for the same selectors under `doctrine.selected_paradigms`, `doctrine.selected_tactics`, or `doctrine.selected_directives`.
How to author the canvas
1. **Read mission artifacts**: `kitty-specs/<mission>/spec.md`, `plan.md`, `tasks.md`, per-WP prompts, `research/*`, `contracts/*`, the project glossary, and any source files the spec or plan calls out. 2. **Map content to the seven sections** using the template at `src/doctrine/templates/fragments/reasons-canvas-template.md`:
- **Requirements** — problem statement, acceptance criteria, DoD.
- **Entities** — domain concepts, relationships, canonical glossary
terms.
- **Approach** — selected strategy and tradeoffs considered.
- **Structure** — code surfaces affected, components, dependencies,
ownership boundaries.
- **Operations** — ordered implementation steps, test strategy.
- **Norms** — coding/style conventions, observability and team rules.
- **Safeguards** — hard constraints, security rules, performance limits,
things not to break. 3. **Link, don't duplicate**: prefer `[see spec.md §X](../spec.md#x)` over inlining spec content. The canvas is a reasoning layer, not a copy. 4. **Preserve user content**: if the canvas already exists, read it before writing. Merge new content into existing sections; never blow away user-authored prose. 5. **Append-only Deviations**: the `## Deviations` section is append-only. New entries go at the bottom in the form `- <date> — <wp> — <description> — <rationale>`. Never rewrite or re-order existing entries.
Output path: `kitty-specs/<mission>/reasons-canvas.md`.
How to review with the canvas
Comparison-mode review pairs an implementation diff against the canvas:
1. **Trace** every changed file in the diff to a Requirement and an Operation step in the canvas. Unmapped changes are signal. 2. **Detect** uninvented entities — files, functions, modules, or domain terms that appear in the diff but not in the canvas, the spec, the plan, or the glossary. 3. **Verify** the diff respects the canvas Norms and Safeguards (style/observability/security/performance/invariants). 4. **Classify** every divergence
Spec-Driven Development for serious software developers. Spec Coding with with Claude, Cursor, Gemini, Codex. Kanban dashboard, git worktrees, auto-merge and more.
Other skills on spec-kitty.
- /ad-hoc-profile-load
Legacy alias for resolver-backed profile loading. Use the canonical spk-doctrine-profile-load skill for identity, boundaries, and governance. Triggers: "act as the architect", "load the reviewer profile", "switch to researcher", "use the planner role", "adopt a profile".
Open skill - /adversarial-squad
Deploy a bounded, profile-loaded adversarial review squad at an SDD point-cut (post-spec, post-plan, post-tasks, pre-merge, or an ad-hoc decision) so independent doctrine lenses converge on findings one reviewer would miss. Triggers: "deploy a squad", "adversarial squad",
Open skill - /spec-kitty-bulk-edit-classification
Recognize when a mission is a bulk edit and drive the occurrence-classification guardrail on the user's behalf. Triggers: user says any variant of "rename X to Y", "change the terminology", "migrate all occurrences", "replace across the codebase", "the X feature is now the Y
Open skill - /spec-kitty-charter-doctrine
Run charter interview, generation, context, and sync workflows for project governance in Spec Kitty 3.x. Access doctrine artifacts programmatically via DoctrineService. Resolve agent profiles. Load action-scoped governance context iteratively, not all at once. Triggers:
Open skill - /spec-kitty-git-workflow
Understand how Spec Kitty manages git: what git operations Python handles automatically, what agents must do manually, worktree lifecycle, auto-commit behavior, merge execution, and the safe-commit pattern. Triggers: "how does spec-kitty use git", "worktree management",
Open skill - /spec-kitty-glossary-context
Curate and apply canonical terminology across Spec Kitty missions. Triggers: "update the glossary", "use canonical terms", "check terminology", "add a term", "fix term drift", "glossary conflicts", "resolve ambiguity", "review terminology consistency". Does NOT handle: runtime
Open skill

