ywai/skills/sdd-propose/SKILL.md
Create a change proposal with intent, scope, and approach. Trigger: "propose", "propuesta", "proposal", "new change", "nuevo cambio", "sdd new", "sdd propose", "/sdd:new", "sdd:ff", "fast-forward", "fast forward". When triggered by "sdd:ff" or "fast-forward": after creating the proposal, AUTOMATICALLY continue by executing sdd-spec, sdd-design, and sdd-tasks in sequence (do NOT stop after the proposal).
npx skillsauth add Yoizen/dev-ai-workflow sdd-proposeInstall 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.
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 | none)Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
engram: Read and follow skills/_shared/engram-convention.md. Artifact type: proposal. Retrieve explore and sdd-init/{project} as dependencies if they exist.openspec: Read and follow skills/_shared/openspec-convention.md. Create proposal.md in the change directory.none: Return the full proposal content inline. Do NOT create any project files.Load any existing specs relevant to this change to understand current behavior:
sdd/ artifacts in the current projectopenspec/specs/ domains affected by this change# 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}
## Approach
{High-level technical approach. How will we solve this?
Reference the recommended approach from exploration if available.}
### Alternatives Considered
| Approach | Summary | Why Rejected |
|----------|---------|-------------|
| {Alternative 1} | {brief description} | {reason} |
| {Alternative 2} | {brief description} | {reason} |
## Effort Estimation
- **Size**: {XS / S / M / L / XL}
- **Estimated files**: {N new, M modified, K deleted}
- **Complexity drivers**: {what makes this easy/hard}
- **Suggested SDD depth**: {full pipeline / fast-track (proposal→tasks→apply)}
> | Size | Guideline |
> |------|----------|
> | XS | Single file, < 50 lines changed |
> | S | 1-3 files, straightforward |
> | M | 4-10 files, some design decisions |
> | L | 10+ files, cross-module, needs design |
> | XL | Architecture change, multi-phase |
## 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
- [ ] {Specific, measurable outcome — e.g., "API returns 200 for valid requests"}
- [ ] {Testable condition — e.g., "All new endpoints have >80% test coverage"}
- [ ] {Observable result — e.g., "Dashboard loads in <2s with 1000 records"}
mem_save with topic_key: sdd/{change-name}/proposalopenspec/changes/{change-name}/proposal.md## Proposal Created
**Change**: {change-name}
**Persistence**: {engram (ID: #{id}) | openspec (path) | none (inline)}
### Summary
- **Intent**: {one-line summary}
- **Scope**: {N deliverables in, M items deferred}
- **Approach**: {one-line approach}
- **Effort**: {XS/S/M/L/XL}
- **Risk Level**: {Low/Medium/High}
- **SDD Depth**: {full pipeline / fast-track}
### Next Step
Ready for specs (sdd-spec) or design (sdd-design).
| Situation | Action | |-----------|--------| | Exploration was not done first | Read the codebase yourself to fill gaps; note assumptions | | Change name conflicts with existing change | Suggest alternative name or ask orchestrator to continue/replace | | Scope is too large for one proposal | Suggest splitting into sequential changes; create the first one | | User requirements are contradictory | List contradictions and ask orchestrator for resolution | | Cannot determine rollback strategy | Flag as HIGH risk; suggest feature flags or phased rollout |
none mode, NEVER create or modify any project filesrules.proposal from openspec/config.yaml or the engram project contextstatus, executive_summary, detailed_report (optional), artifacts, next_recommended, and risksdocumentation
Yoizen UI design system guidelines and resources. Trigger: When working on Yoizen UI components, styling, colors, typography, or icons.
development
TypeScript strict patterns and best practices. Trigger: When writing TypeScript code - types, interfaces, generics.
development
Tailwind CSS 4 patterns and best practices. Trigger: When styling with Tailwind - cn(), theme variables, no var() in className.
data-ai
name: skill-sync description: > Sync skill metadata with the Auto-invoke sections in AGENTS.md. Trigger: When you change a skill's metadata (metadata.scope/metadata.auto_invoke), regenerate the Auto-invoke tables, or run ./skills/skill-sync/assets/sync.sh. metadata: author: Yoizen version: "1.0" scope: [root] auto_invoke: - "skill operations" - "workflow" - "sdd" author: Yoizen version: "1.0" scope: [root] auto_invoke: - "skill operations" - "workflow"