incremental-coding
Build in verifiable increments. Never implement more than can be tested right now. Ship partial working systems over complete broken ones.
适合你,如果希望每次提交的代码都能通过测试并稳定运行
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
~/.claude/skills/(项目级 .claude/skills/)~/.codex/skills/npx oh-my-skill add developersglobal/ai-agent-skills/incremental-codingcurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- developersglobal/ai-agent-skills/incremental-codingnpx oh-my-skill verify developersglobal/ai-agent-skills/incremental-coding怎么用
技能原文 SKILL.md
Overview
The biggest risk in software development is building a lot of code that doesn't work. Incremental coding limits this risk: build a little, verify it works, build more. At every step, the system is in a known-good state.
When to Use
- Any implementation that will take more than 2 hours
- When building in a complex domain you're uncertain about
- When multiple components need to integrate
Process
Step 1: Define the First Increment
- What is the smallest possible thing you can build that provides value and can be verified?
- It doesn't have to be feature-complete — just correct and verifiable.
- Example: "Add the endpoint skeleton with hardcoded response" before adding business logic.
Verify: The first increment can be verified in under 5 minutes.
Step 2: Build → Verify → Commit
- Build only the first increment.
- Run tests. Verify manually if needed. Confirm it works.
- Commit this working state.
- Repeat for the next increment.
Verify: There is a working commit after each increment.
Step 3: Integration Continuously
- Integrate with the real system as early as possible — not at the end.
- Test against real dependencies (DB, API, etc.) as early as possible.
- Fake integrations (mocks) should be replaced with real ones by the end.
Verify: By completion, all mocks replaced with real integration.
Common Rationalizations (and Rebuttals)
| Excuse | Rebuttal | |--------|----------| | "I need to build it all to know if it works" | No. Build the first piece and test it. Uncertainty is always reducible. | | "Integration is at the end" | Integration pain is proportional to time since last integration. Integrate continuously. |
Verification
- [ ] Implementation built in verifiable increments
- [ ] Working commit exists after each increment
- [ ] No long stretches of "broken" state in git history
- [ ] All mocks replaced with real integrations by completion
References
- [test-driven-development skill](../test-driven-development/SKILL.md)
- [task-decomposition skill](../task-decomposition/SKILL.md)