sdd
Source-driven development
Implement against primary sources, not memory. Confirm behavior in official docs, specs, or upstream code before committing to an approach.
Workflow
- List claims: identify framework or library claims in the task (API shape, lifecycle, limits, defaults).
- Find primary sources: prefer official docs, language specs, maintainers' references, and upstream source.
- Pin versions: verify docs match the version used in this repo.
- Implement to source: choose patterns and APIs that the source explicitly supports.
- Record evidence: capture links or short notes in PR/issue comments when behavior is non-obvious.
- Verify locally: run tests or a minimal reproduction proving the source-backed behavior.
Source quality order
- Official product/library documentation
- Language/runtime specifications
- Maintainer-authored examples or release notes
- Upstream source code
- Third-party blogs and forum posts (supporting evidence only)
See also
designfor contract-first boundariesbuildfor vertical slicing after source confirmationreferences/testing-patterns.mdfor proof-oriented verification
Red flags
- Implementing from memory for version-sensitive APIs
- Treating third-party blog posts as authoritative sources
- Mixing docs from different major versions
- Shipping code without validating source-backed assumptions
More from cniska/skills
tdd
Drive implementation with red-green-refactor. Use when building features or fixing bugs test-first.
11explore
Explore a task or design through systematic questions until reaching shared understanding. Use before implementing complex or ambiguous work.
9pr
Create a pull request with review and verify. Use when the branch is ready to merge.
9plan
Design a feature or behavior change through dialogue. Use when asked to plan, scope, design, or break down work before coding.
9review
Run all review skills against the current branch diff. Use when reviewing a feature branch before merge.
9simplify
Simplify code by reducing complexity while preserving exact behavior. Use after a feature is working, during review when complexity is flagged, or when encountering unclear code.
5