Reliable Engineering through Spec-Driven Development
Structured workflow for features and bugs requiring planning, specifications, and architecture decisions before implementation. Mainly based on the SDD plugin.
For simple features, use Feature Development with Quality Gates workflow.
When to Use
Features requiring complex development
Significant architectural changes or integrations
Required Plugins
Workflow
Specification Creation
Optional, but highly recommended to switch the model to sonnet[1m] to keep it focused for a longer time.
Important: this does not mean that Sonnet will be used for the work itself. By default, sonnet is used as the orchestrator to launch opus agents that perform the actual work.
/model sonnet[1m]Create a task file with the initial prompt:
You can adjust the task file to incorporate additional details and criteria at this point, but it is not required.
Run the planning process:
It will perform the following refinement process to update the task file with a more detailed specification:
It will output the updated task file to .specs/tasks/todo/design-implement-authentication-middleware-with-jwt-support.feature.md and create new skills if needed. It also produces scratchpads and verification reports along the way to properly evaluate each step of the process. You can safely ignore all of them.
At this point you can verify and adjust the specification, then run the /plan --refine command again for agents to update the rest of the specification where it doesn't align with your changes. It uses a top-to-bottom approach, meaning all sections below your changes will be rethought and updated accordingly.
Code Generation
Once you are happy with the specification, you can run the implementation process:
It will perform the following actions:
It will automatically write tests, verify them, build the solution, and confirm it works as expected.
Once implementation is complete, you can review and adjust it, then run /implement --refine again for the agent to update the rest of the implementation if it doesn't align with your changes or feedback.
Commit and Push
Once complete, you can use the git plugin to commit changes and create a pull request.
Last updated