
Sdd Propose
Draft an SDD change proposal that locks intent, scope, and approach before writing specs or implementation plans.
Install
npx skills add https://github.com/fearovex/claude-config --skill sdd-proposeWhat is this skill?
- Creates a change proposal with clear intent, defined scope, and technical approach (WHAT/WHY before HOW)
- Triggered by `/sdd-propose <change-name>`, create proposal, define change scope, or sdd proposal
- Optional PRD template pairing for substantial cross-team or user-facing changes; skip for internal refactors
- Resolves skill from project-local `.claude/skills/sdd-propose` then global `~/.claude/skills` catalog
- Without an approved proposal, downstream specs and design are explicitly out of scope in the SDD flow
Adoption & trust: 1 installs on skills.sh; 1 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Grill Memattpocock/skills
Grill With Docsmattpocock/skills
Brainstormingobra/superpowers
Lark Tasklarksuite/cli
Lark Workflow Standup Reportlarksuite/cli
Cavemanjuliusbrussee/blueprint
Journey fit
Primary fit
Proposals are the scope contract before technical artifacts—Validate scope is the canonical shelf where intent and boundaries are agreed. Scope subphase matches defining WHAT/WHY and change boundaries before sdd-spec and design work.
Common Questions / FAQ
Is Sdd Propose safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Sdd Propose
# sdd-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`](../../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. --- ## Process ### Skill Resolution When the orchestrator launches this sub-agent, it resolves the skill path using: ``` 1. .claude/skills/sdd-propose/SKILL.md (project-local — highest priority) 2. ~/.claude/skills/sdd-propose/SKILL.md (global catalog — fallback) ``` Project-local skills override the global catalog. See `docs/SKILL-RESOLUTION.md` for the full algorithm. --- ### Step 0a — Load project context Follow `skills/_shared/sdd-phase-common.md` **Section F** (Project Context Load). Non-blocking. ### Step 0b — Domain context preload This step is **non-blocking**: any failure (missing directory, unreadable file, no match) MUST produce at most an INFO-level note in the output. This step MUST NOT produce `status: blocked` or `status: failed` on its own. 1. **List candidate files**: list all `.md` files in `ai-context/features/`. Exclude `_template.md` and any file whose name begins with an underscore (`_`). If the directory does not exist or is empty after exclusions, skip this step silently and proceed to Step 1. 2. **Apply the filename-stem matching heuristic**: - Split the `<change-name>` on hyphens (`-`) to obtain stems. - Discard any single-character stems. - For each candidate file, compute its domain slug (filename without `.md`). - A match occurs when: the domain slug appears anywhere in `<change-name>` **OR** any change-name stem appears anywhere in the domain slug (case-insensitive comparison). 3. **Load matching files**: for each file that matches, read its full contents and treat them as enrichment context for proposal authoring. If multiple files match, load all of them. If a file cannot be read (e.g. permissions issue), log an INFO note and continue — do not block. 4. **If no file matches**: skip silently. Proceed to Step 1 without error or warning. 5. **When files are loaded**: note the loaded paths in the Step 6 output summary and include them in the `artifacts` list (marked as read, not written). **Algorithm reference**: ``` stems = change_name.split("-").filter(s => s.length > 1) for each feature_file in ai-context/features/ (excluding _ prefix files): domain = feature_file.stem (filename without .md) if domain in change_name OR any stem in domain -> match ``` **Examples**: - change `add-payments-gateway` -> stems `[add, payments, gateway]` -> matches `features/payments.md` - change `auth-token-refresh` -> stems `[auth, token, refresh]` -> matches `features/auth.md` - change `improve-project-audit` -> stems `[improve, project, audit]` -> no match -> skip silently ### Step 0c — Spec context preload Follow `skills/_shared/sdd-phase-common.md` **Section G** (Spec Context Preload). Non-blocking. --- ### Step 1 — Read prior context I load the exploration artifact from engram: - `mem_search(query: "sdd/{change-name}/explore")` → `mem_get_observation(id)` for full content. - If not found: