About sdd-propose
sdd-propose is a Claude Code skill for drafting a change proposal that establishes intent, scope, and technical approach before specification and design. It supports optional PRDs for substantial, user-facing or cross-team changes.
Key features
- 01Define change intent and scope
- 02Outline technical approach
- 03Optionally pair with a PRD
- 04Resolve project-local or global skill
Use cases
- 01Propose a cross-team change
- 02Set scope before technical design
- 03Document a substantial product change
MCP support
The skill describes an Engram MCP workflow for saving a pointer and summary after writing the proposal artifact. If Engram MCP is unavailable, it still writes the artifact to disk.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ fearovex-labs/ agent-config --skill sdd-proposeAfter installing, type/sdd-proposein Claude Code to confirm it loaded.
Details
From the project READMEsdd-propose
Creates a change proposal with clear intent, defined scope, and technical approach.
Triggers: /sdd-propose <change-name>, create proposal, define change, sdd proposal
Purpose
The proposal defines the WHAT and WHY before entering into technical details. It is the scope contract of the change. Without an approved proposal, there are no specs or design.
For substantial proposals (cross-team scope, multiple stakeholders, or
user-facing product changes), optionally pair the proposal with a PRD using
docs/templates/prd-template.md. The
PRD captures problem statement, target users, user stories, NFRs, and
acceptance criteria — feeding directly into the sdd-spec phase. Skip the
PRD for internal refactors or single-stakeholder changes.
Skill resolution
Project-local → global, in order:
1. .claude/skills/sdd-propose/SKILL.md (project-local — highest priority)
2. ~/.claude/skills/sdd-propose/SKILL.md (global catalog — fallback)
See docs/SKILL-RESOLUTION.md for the full algorithm.
Claude execution wiring
These notes bind the tool-neutral logic above to the Claude Code harness. They are the EXECUTION layer that does not port to other tools.
- Step 0a preload — follow
skills/_shared/sdd-phase-common.mdSection F (Project Context Load). Non-blocking. - Step 0c preload — follow
skills/_shared/sdd-phase-common.mdSection G (Spec Context Preload). Non-blocking. - Artifact reads — use the harness
Read("docs/sdd/{change-name}/explore.md")tool (disk-primary, per_shared/sdd-phase-common.mdSection B). If a disk file is absent (legacy change), fall back tomem_search(query: "sdd/{change-name}/explore")→mem_get_observation(id). - Proposal persistence — disk-primary, per
_shared/sdd-phase-common.mdSection C: firstWrite("docs/sdd/{change-name}/proposal.md", <full markdown>), thenmem_savea pointer + summary withtopic_key: sdd/{change-name}/proposal,type: architecture,project: {project}. If Engram MCP is unreachable: still write the disk artifact; skip the engram pointer only. The Step 3a-bis gate failure path MUST NOT callWriteormem_save. - Orchestrator output — return the neutral Output Contract as the JSON block
the orchestrator expects; the persisted-pointer artifact entry is
engram:sdd/{change-name}/proposal. The manual next steps are/sdd-spec <change-name>and/sdd-design <change-name>(can run in parallel).