src/doctrine/skills/spec-kitty-spdd-reasons/SKILL.md
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.
npx skillsauth add priivacy-ai/spec-kitty spec-kitty-spdd-reasonsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
spec.md, plan.md, tasks.md, per-WP prompts,
charter context, glossary, research notes, contracts, and relevant code.kitty-specs/<mission>/reasons-canvas.md from the
seven-section template fragment.Three branches:
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.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:
structured-prompt-driven-developmentreasons-canvas-fillreasons-canvas-reviewDIRECTIVE_038Manual fallback: read .kittify/charter/governance.yaml directly and look
for the same selectors under doctrine.selected_paradigms,
doctrine.selected_tactics, or doctrine.selected_directives.
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.src/doctrine/templates/fragments/reasons-canvas-template.md:
[see spec.md §X](../spec.md#x) over
inlining spec content. The canvas is a reasoning layer, not a copy.## 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.
Comparison-mode review pairs an implementation diff against the canvas:
data-model.md §Drift classification:
approved — diff matches canvas exactly.approved_with_deviation — small, documented divergence; record in
the canvas Deviations section.canvas_update_needed — implementation is correct, canvas is stale.glossary_update_needed — new canonical term surfaced; escalate to
glossary skill.charter_follow_up — divergence touches charter policy; escalate.follow_up_mission — divergence is real but out of scope for this
mission; file a follow-up.scope_drift_block — diff exceeds mission scope; block.safeguard_violation_block — diff violates a Safeguard; block hard.Surface the classification in the review output. Two of the eight
classifications (scope_drift_block, safeguard_violation_block) block
landing; the rest are advisory or escalate.
The charter is the governance source of truth. If a directive, tactic, or
norm declared in the charter conflicts with content in the canvas, the
charter wins. The canvas must update; the charter does not. Treat any
canvas claim that contradicts the charter as canvas_update_needed.
When canvas authoring or review surfaces a term that is missing,
ambiguous, or in conflict with the project glossary, do NOT redefine the
term inline. Escalate to the glossary skill (spec-kitty-glossary-context)
so the canonical entry is updated once and propagated everywhere.
src/doctrine/templates/fragments/reasons-canvas-template.mdsrc/doctrine/spdd_reasons/activation.py (is_spdd_reasons_active).kittify/charter/governance.yamlkitty-specs/<mission>/data-model.md §Drift classificationdevelopment
Load an agent profile on demand to adopt a specific role for the current session. Applies the profile's identity, governance scope, boundaries, and initialization declaration without requiring a running mission. Triggers: "act as the architect", "load the reviewer profile", "switch to implementer", "use the researcher persona", "start a session as planner", "adopt the curator role", "initialize profile", "assume the designer identity". Does NOT handle: mission advancement (use runtime-next), charter interview/generation (use charter-doctrine), or profile creation (use the charter synthesize workflow / edit the profile YAML directly).
tools
Operate Spec Kitty tracker workflows, tracker service discovery, binding, hosted routing, and tracker recovery.
tools
Operate Spec Kitty team sync, hosted SaaS sync, offline queue, diagnostics, and recovery flows.
tools
Operate Spec Kitty connector integrations and route connector work across tracker, sync, SaaS, and external services.