# Spdd Reasons Canvas

> Use to create or review a Structured-Prompt-Driven Development REASONS Canvas before code generation: Requirements, Entities, Approach, Structure, Operations, Norms, Safeguards.

- Skill: `danmestas/spdd-reasons-canvas` (Agent Skill)
- Install (CLI): `npx skillmds@latest add danmestas/spdd-reasons-canvas`
- Raw SKILL.md: https://api.skillmd.com/api/skills/danmestas/spdd-reasons-canvas/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: danmestas (https://skillmd.com/u/danmestas)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/danmestas/spdd-reasons-canvas

---


# SPDD REASONS Canvas

Write the executable prompt/spec that governs code generation.

**Announce at start:** "I'm using the spdd-reasons-canvas skill to turn the aligned analysis into an executable prompt."

## Canvas template

```markdown
# <Change> REASONS Canvas

## R — Requirements
- Problem:
- Definition of done:
- Acceptance criteria:
- Scope out:

## E — Entities
- Domain entities / value objects:
- Relationships:
- State and lifecycle rules:
- External systems:

## A — Approach
- Strategy:
- Trade-offs accepted:
- Alternatives rejected:
- Compatibility / migration approach:

## S — Structure
- Components and files:
- Interfaces / contracts:
- Dependency direction:
- Data flow:

## O — Operations
1. <atomic, testable implementation operation>
2. ...

## N — Norms
- Naming:
- Error handling:
- Observability:
- Testing:
- Repository conventions:

## S — Safeguards
- Security:
- Data integrity:
- Performance:
- Backward compatibility:
- Non-goals the agent must not cross:
```

## Quality bar

- Requirements are traceable to aligned acceptance criteria.
- Entities and Structure are grounded in existing code where code exists.
- Operations are ordered, atomic, and testable.
- Norms encode team conventions; Safeguards encode non-negotiable boundaries.
- No placeholders, speculative APIs, or "similar to above" shortcuts.

## Review gate

Run `spdd-abstraction-first` against the canvas before `spdd-generate`. If review changes behavior or design intent, edit the canvas first and re-review the affected sections.

