一键导入
sdd-propose
Create a change proposal with intent, scope, and approach. Trigger: When the orchestrator launches you to create or update a proposal for a change.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a change proposal with intent, scope, and approach. Trigger: When the orchestrator launches you to create or update a proposal for a change.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Design or review REST APIs, define endpoints, request/response schemas, or evaluate API contracts. Use when the user is designing a new API, reviewing an existing one, or asking about HTTP conventions.
Perform a structured code review. Use when the user asks to review code, check a PR, audit a file, or validate an implementation against best practices.
Systematically investigate and fix bugs, errors, or unexpected behavior. Use when the user reports a bug, shares an error/stacktrace, or asks why something isn't working.
Write or improve technical documentation. Use when the user asks to document code, write a README, generate API docs, write a technical spec, or explain how something works for other engineers.
Improve the internal structure of code without changing its behavior. Use when the user asks to clean up, refactor, simplify, or reduce complexity in existing code.
Review code or configuration for security vulnerabilities. Use when the user asks to audit security, check for vulnerabilities, review auth logic, or validate input handling.
| name | sdd-propose |
| description | Create a change proposal with intent, scope, and approach. Trigger: When the orchestrator launches you to create or update a proposal for a change. |
| license | MIT |
| metadata | {"author":"gentleman-programming","version":"2.0"} |
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)Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
If mode is engram:
Read dependencies (two-step — search returns truncated previews):
mem_search(query: "sdd/{change-name}/explore", project: "{project}") → get observation ID (optional — may not exist)mem_get_observation(id: {id}) → full exploration contentmem_search(query: "sdd-init/{project}", project: "{project}") → project context (optional)mem_get_observation(id: {id}) → full project contextSave your artifact:
mem_save(
title: "sdd/{change-name}/proposal",
topic_key: "sdd/{change-name}/proposal",
type: "architecture",
project: "{project}",
content: "{your full proposal markdown}"
)
topic_key enables upserts — saving again updates, not duplicates.
(See skills/_shared/engram-convention.md for full naming conventions.)
If mode is openspec: Read and follow skills/_shared/openspec-convention.md.
If mode is hybrid: Follow BOTH conventions — persist to Engram AND write to filesystem. Retrieve dependencies from Engram (primary) with filesystem fallback.
If mode is none: Return result only. Never create or modify project files.
Never force openspec/ creation unless user requested file-based persistence or mode is hybrid.
Do this FIRST, before any other work.
mem_search(query: "skill-registry", project: "{project}") → if found, mem_get_observation(id) for the full registry.atl/skill-registry.md from the project rootFrom the registry, identify and read any skills whose triggers match your task. Also read any project convention files listed in the registry.
Create the change folder structure:
openspec/changes/{change-name}/
└── proposal.md
If openspec/specs/ has relevant specs, read them to understand current behavior that this change might affect.
# 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.}
## 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.
If mode is engram:
mem_save(
title: "sdd/{change-name}/proposal",
topic_key: "sdd/{change-name}/proposal",
type: "architecture",
project: "{project}",
content: "{your full proposal markdown from Step 4}"
)
If mode is openspec or hybrid: the file was already written in Step 4.
If mode is hybrid: also call mem_save as above (write to BOTH backends).
If you skip this step, the next phase (sdd-spec) will NOT be able to find your proposal and the pipeline BREAKS.
Return to the orchestrator:
## Proposal Created
**Change**: {change-name}
**Location**: openspec/changes/{change-name}/proposal.md
### 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.yamlstatus, executive_summary, detailed_report (optional), artifacts, next_recommended, and risks