Loading...
Loading...
Create structured change proposals and specification differences using an OpenSpec specification-driven approach. It is used for feature planning, proposal creation, specification writing, introducing new capabilities, or initiating development processes. Trigger words include "openspec proposal", "planning", "create proposal", "plan change", "specify feature", "new feature", "new characteristic", "new requirement", "add feature planning", "design specification"
npx skill4agent add forztf/open-skilled-sdd openspec-proposal-creation-cnPlanning Progress:
- [ ] Step 1: Review existing specifications
- [ ] Step 2: Generate unique change ID
- [ ] Step 3: Generate directory structure
- [ ] Step 4: Draft proposal.md (why, what, impact summary)
- [ ] Step 5: Create tasks.json implementation checklist
- [ ] Step 6: Write spec-delta.md specification differences (ADDED/MODIFIED/REMOVED)
- [ ] Step 7: Validate proposal structure
- [ ] Step 8: Present to user and request approval# List all existing specifications
find spec/specs -name "spec.md" -type f
# List ongoing changes to avoid conflicts
find spec/changes -maxdepth 1 -type d -not -path "*/archive"
# Search related requirements
grep -r "### Requirement:" spec/specs/add-<feature>fix-<issue>update-<component>remove-<feature>add-user-authenticationfix-payment-validationupdate-api-rate-limitsremove-legacy-endpointsls spec/changes/ | grep -i "<proposed-id>"# Replace {change-id} with the actual ID
mkdir -p spec/changes/{change-id}/specs/{capability-name}mkdir -p spec/changes/add-user-auth/specs/authentication# Implementation Tasks
```json
[
{
"number": 1,
"category": "Phase 1: Infrastructure",
"task": "Environment setup tasks - database schema, dependencies, etc.",
"steps": [
{ "step": "Initialize Git repository and configure .gitignore", "completed": false },
{ "step": "Create and activate Python virtual environment", "completed": false },
{ "step": "Create requirements.txt or pyproject.toml and install dependencies (FastAPI, SQLAlchemy, Pydantic, Alembic, etc.)", "completed": false },
{ "step": "Design initial database ER diagram", "completed": false },
{ "step": "Configure database connection string and environment variables (.env)", "completed": false },
{ "step": "Initialize Alembic migration environment", "completed": false }
],
"passes": false
}
]
**Best Practices**:
- Each task can be completed independently
- Add test tasks for each major component
- Add test tasks for each major component
- Include testing and validation tasks
- Sort by dependency (database before API, etc.)
- Typically 5-15 tasks; split if more
- Process only 1 step at a time
## ADDED Requirements## MODIFIED Requirements## REMOVED Requirements## ADDED Requirements
### Requirement: User Login
WHEN the user submits valid credentials,
the system SHALL authenticate the user and create a session.
#### Scenario: Successful Login
GIVEN the user's email is "user@example.com" and password is "correct123"
WHEN the user submits the login form
THEN the system creates an authenticated session
AND redirects to the dashboardStructure Checklist:
- [ ] Directory exists: `spec/changes/{change-id}/`
- [ ] proposal.md includes Why/What/Impact
- [ ] tasks.json contains numbered task list (5-15 items)
- [ ] Specification delta includes operation headers (ADDED/MODIFIED/REMOVED)
- [ ] Requirements follow the `### Requirement: <name>` format
- [ ] Scenarios use the `#### Scenario:` format (four hashes)# Count delta operations (should be > 0)
grep -c "## ADDED\|MODIFIED\|REMOVED" spec/changes/{change-id}/specs/**/*.md
# Validate scenario format (show line numbers)
grep -n "#### Scenario:" spec/changes/{change-id}/specs/**/*.md
# Check requirement titles
grep -n "### Requirement:" spec/changes/{change-id}/specs/**/*.md## Proposal Summary
**Change ID**: {change-id}
**Scope**: {brief description}
**Files Created**:
- spec/changes/{change-id}/proposal.md
- spec/changes/{change-id}/tasks.json
- spec/changes/{change-id}/specs/{capability}/spec-delta.md
**Next Steps**:
Please review the proposal. If approved or revised, reply with "openspec development" or "complete tasks in order" to start implementation.ADDED RequirementsMODIFIED RequirementsREMOVED Requirementstemplates/