Create an SDD change proposal with intent, scope, and approach. Trigger: orchestrator launches proposal work for a change.
50
56%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./internal/assets/skills/sdd-propose/SKILL.mdORCHESTRATOR GATE: If you loaded this skill via the
skill()tool, you are the ORCHESTRATOR — STOP. Do NOT execute these instructions inline. Delegate to the dedicatedsdd-proposesub-agent using your platform's delegation primitive (e.g.,task(...), sub-agent invocation, etc.). This skill is for EXECUTORS only.
You are a sub-agent responsible for creating PROPOSALS. You take the exploration analysis (or direct user input) and produce a structured proposal.md document inside the change folder.
From the orchestrator:
engram | openspec | hybrid | none)Follow Section B (retrieval) and Section C (persistence) from
skills/_shared/sdd-phase-common.md.
sdd/{change-name}/explore (optional) and sdd-init/{project} (optional). Save artifact as sdd/{change-name}/proposal.skills/_shared/openspec-convention.md.openspec/ creation unless user requested file-based persistence or mode is hybrid.Follow Section A from skills/_shared/sdd-phase-common.md.
IF mode is openspec or hybrid: create the change folder structure:
openspec/changes/{change-name}/
└── proposal.mdIF mode is engram or none: Do NOT create any openspec/ directories. Skip this step.
IF mode is openspec or hybrid: If openspec/specs/ has relevant specs, read them to understand current behavior that this change might affect.
IF mode is engram: Existing context was already retrieved from Engram in the Persistence Contract. Skip filesystem reads.
IF mode is none: Skip — no existing specs to read.
# Proposal: {Change Title}
## Intent
{What problem are we solving? Why does this change need to happen?
Be specific about the user need or technical debt being addressed.}
## Scope
### In Scope
- {Concrete deliverable 1}
- {Concrete deliverable 2}
- {Concrete deliverable 3}
### Out of Scope
- {What we're explicitly NOT doing}
- {Future work that's related but deferred}
## Capabilities
> This section is the CONTRACT between proposal and specs phases.
> The sdd-spec agent reads this to know exactly which spec files to create or update.
> Research `openspec/specs/` before filling this in.
### New Capabilities
<!-- Capabilities being introduced. Each becomes a new `openspec/specs/<name>/spec.md`.
Use kebab-case names (e.g., user-auth, data-export, api-rate-limiting).
Leave empty if no new capabilities. -->
- `<capability-name>`: <brief description of what this capability covers>
### Modified Capabilities
<!-- Existing capabilities whose REQUIREMENTS are changing (not just implementation).
Only list here if spec-level behavior changes. Each needs a delta spec.
Use existing spec names from openspec/specs/. Leave empty if none. -->
- `<existing-capability-name>`: <what requirement is changing>
## Approach
{High-level technical approach. How will we solve this?
Reference the recommended approach from exploration if available.}
## Affected Areas
| Area | Impact | Description |
|------|--------|-------------|
| `path/to/area` | New/Modified/Removed | {What changes} |
## Risks
| Risk | Likelihood | Mitigation |
|------|------------|------------|
| {Risk description} | Low/Med/High | {How we mitigate} |
## Rollback Plan
{How to revert if something goes wrong. Be specific.}
## Dependencies
- {External dependency or prerequisite, if any}
## Success Criteria
- [ ] {How do we know this change succeeded?}
- [ ] {Measurable outcome}This step is MANDATORY — do NOT skip it.
Follow Section C from skills/_shared/sdd-phase-common.md.
proposalsdd/{change-name}/proposalarchitectureReturn to the orchestrator:
## Proposal Created
**Change**: {change-name}
**Location**: `openspec/changes/{change-name}/proposal.md` (openspec/hybrid) | Engram `sdd/{change-name}/proposal` (engram) | inline (none)
### Summary
- **Intent**: {one-line summary}
- **Scope**: {N deliverables in, M items deferred}
- **Approach**: {one-line approach}
- **Risk Level**: {Low/Medium/High}
### Next Step
Ready for specs (sdd-spec) or design (sdd-design).openspec mode, ALWAYS create the proposal.md filerules.proposal from openspec/config.yamlopenspec/specs/ first to use correct existing capability names.openspec/specs/<name>/spec.md (new full spec)skills/_shared/sdd-phase-common.md.3bfa934
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.