incremental-implementation
Skill1.4k starsChanged 9 days agoApache-2.0View on GitHub
Delivers changes incrementally in thin, verifiable slices. Use when implementing any feature or change that touches more than one file, or when picking up the next task from a plan. Use when rolling a change out behind a feature flag, when you're about to write a large amount of code at once, or when a task feels too big to land in one step.
- Reads credentials
We split this skill into the rules it gives an agent
14 rules. 12 are common, 2 are distinctive, and 0 are very specific to this project.
12
Common
Most of the 69 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 68
When backend and frontend need to develop in parallel:
- Common: line 87
If Slice 1 fails, you discover it before investing in Slices 2 and 3.
- Common: line 93
Before writing any code, ask: "What is the simplest thing that could work?"
- Common: line 95
After writing code, review it against these checks:
- Common: line 122
Remove comments you don't fully understand
- Common: line 123
Add features not in the spec because they "seem useful"
- Common: line 126
If you notice something worth improving outside your task scope, note it — don't fix it:
- Common: line 145
After each increment, the project must build and existing tests must pass.
- Common: line 149
If a feature isn't ready for users but you need to merge increments:
- Common: line 181
Avoid deleting something in one commit and replacing it in the same commit — separate them
- Common: line 185
When directing an agent to implement incrementally:
- Distinctive: line 201
After each increment, verify with the repository's own commands (see the test-driven-development skill's Discover the Stack First section):
- Distinctive: line 211
Note: Run each verification command after a change that could affect it.
- Common: line 239
After completing all increments for a task:
“Common” is measured: kept by at least 6 in 10 of the 69 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Incremental Implementation
Overview
Build in thin vertical slices — implement one piece, test it, verify it, then expand. Avoid implementing an entire feature in one pass. Each increment should leave the system in a working, testable state. This is the execution discipline that makes large features manageable.
When to Use
- Implementing any multi-file change
- Building a new feature from a task breakdown
- Refactoring existing code
- Any time you're tempted to write more than ~100 lines before testing
When NOT to use: Single-file, single-function changes where the scope is already minimal.
The Increment Cycle
┌──────────────────────────────────────┐
│ │
│ Implement ──→ Test ──→ Verify ──┐ │
│ ▲ │ │
│ └───── Commit ◄─────────────┘ │
│ │ │
│ ▼ │
│ Next slice │
│ │
└──────────────────────────────────────┘For each slice:
- Implement the smallest complete piece of functionality
- Test — run the test suite (or write a test if none exists)
- Verify — confirm the slice works as expected (tests pass, build succeeds, manual check)
- Commit -- save your progress with a descriptive message (see
git-workflow-and-versioningfor atomic commit guidance) - Move to the next slice — carry forward, don't restart
Slicing Strategies
Vertical Slices (Preferred)
Build one complete path through the stack:
Slice 1: Create a task (DB + API + basic UI)
→ Tests pass, user can create a task via the UI
Slice 2: List tasks (query + API + UI)
→ Tests pass, user can see their tasks
Slice 3: Edit a task (update + API + UI)
→ Tests pass, user can modify tasks
Slice 4: Delete a task (delete + API + UI + confirmation)
→ Tests pass, full CRUD completeEach slice delivers working end-to-end functionality.
Contract-First Slicing
When backend and frontend need to develop in parallel:
Slice 0: Define the API contract (types, interfaces, OpenAPI spec)
Slice 1a: Implement backend against the contract + API tests
Slice 1b: Implement frontend against mock data matching the contract
Slice 2: Integrate and test end-to-endRisk-First Slicing
Tackle the riskiest or most uncertain piece first:
Slice 1: Prove the WebSocket connection works (highest risk)
Slice 2: Build real-time task updates on the proven connection
Slice 3: Add offline support and reconnectionIf Slice 1 fails, you discover it before investing in Slices 2 and 3.
Implementation Rules
Rule 0: Simplicity First
Before writing any code, ask: "What is the simplest thing that could work?"
After writing code, review it against these checks:
- Can this be done in fewer lines?
- Are these abstractions earning their complexity?
- Would a staff engineer look at this and say "why didn't you just..."?
- Am I building for hypothetical future requirements, or the current task?
SIMPLICITY CHECK:
✗ Generic EventBus with middleware pipeline for one notification
✓ Simple function call
✗ Abstract factory pattern for two similar components
✓ Two straightforward components with shared utilities
✗ Config-driven form builder for three forms
✓ Three form componentsThree similar lines of code is better than a premature abstraction. Implement the naive, obviously-correct version first. Optimize only after correctness is proven with tests.
Rule 0.5: Scope Discipline
Touch only what the task requires.
Do NOT:
- "Clean up" code adjacent to your change
- Refactor imports in files you're not modifying
- Remove comments you don't fully understand
- Add features not in the spec because they "seem useful"
- Modernize syntax in files you're only reading
If you notice something worth improving outside your task scope, note it — don't fix it:
NOTICED BUT NOT TOUCHING:
- src/utils/format.ts has an unused import (unrelated to this task)
- The auth middleware could use better error messages (separate task)
→ Want me to create tasks for these?Rule 1: One Thing at a Time
Each increment changes one logical thing. Don't mix concerns:
Bad: One commit that adds a new component, refactors an existing one, and updates the build config.
Good: Three separate commits — one for each change.
Rule 2: Keep It Compilable
After each increment, the project must build and existing tests must pass. Don't leave the codebase in a broken state between slices.
Rule 3: Feature Flags for Incomplete Features
If a feature isn't ready for users but you need to merge increments:
// Feature flag for work-in-progress
const ENABLE_TASK_SHARING = process.env.FEATURE_TASK_SHARING === 'true';
if (ENABLE_TASK_SHARING) {
// New sharing UI
}This lets you merge small increments to the main branch without exposing incomplete work.
Rule 4: Safe Defaults
New code should default to safe, conservative behavior:
// Safe: disabled by default, opt-in
export function createTask(data: TaskInput, options?: { notify?: boolean }) {
const shouldNotify = options?.notify ?? false;
// ...
}Rule 5: Rollback-Friendly
Each increment should be independently revertable:
- Additive changes (new files, new functions) are easy to revert
- Modifications to existing code should be minimal and focused
- Database migrations should have corresponding rollback migrations
- Avoid deleting something in one commit and replacing it in the same commit — separate them
Working with Agents
When directing an agent to implement incrementally:
"Let's implement Task 3 from the plan.
Start with just the database schema change and the API endpoint.
Don't touch the UI yet — we'll do that in the next increment.
After implementing, run the repository's test and build commands to
verify nothing is broken."Be explicit about what's in scope and what's NOT in scope for each increment.
Increment Checklist
After each increment, verify with the repository's own commands (see the test-driven-development skill's Discover the Stack First section):
- The change does one thing and does it completely
- All existing tests still pass (the repository's test command:
npm test,./gradlew test,pytest, ...) - The build succeeds (the repository's build command)
- Type checking passes, where the stack has one (
npx tsc --noEmit,mypy, ...) - Linting passes (the repository's lint command)
- The new functionality works as expected
- The change is committed with a descriptive message
Note: Run each verification command after a change that could affect it. After a successful run, don't repeat the same command unless the code has changed since — re-running on unchanged code adds no information.
Common Rationalizations
| Rationalization | Reality |
| "I'll test it all at the end" | Bugs compound. A bug in Slice 1 makes Slices 2-5 wrong. Test each slice. |
| "It's faster to do it all at once" | It feels faster until something breaks and you can't find which of 500 changed lines caused it. |
| "These changes are too small to commit separately" | Small commits are free. Large commits hide bugs and make rollbacks painful. |
| "I'll add the feature flag later" | If the feature isn't complete, it shouldn't be user-visible. Add the flag now. |
| "This refactor is small enough to include" | Refactors mixed with features make both harder to review and debug. Separate them. |
| "Let me run the build command again just to be sure" | After a successful run, repeating the same command adds nothing unless the code has changed since. Run it again after subsequent edits, not as reassurance. |
Red Flags
- More than 100 lines of code written without running tests
- Multiple unrelated changes in a single increment
- "Let me just quickly add this too" scope expansion
- Skipping the test/verify step to move faster
- Build or tests broken between increments
- Large uncommitted changes accumulating
- Building abstractions before the third use case demands it
- Touching files outside the task scope "while I'm here"
- Creating new utility files for one-time operations
- Running the same build/test command twice in a row without any intervening code change
Verification
After completing all increments for a task:
- Each increment was individually tested and committed
- The full test suite passes
- The build is clean
- The feature works end-to-end as specified
- No uncommitted changes remain
See Also
Per-increment verification is the local check. Before declaring a task done, apply the project-wide Definition of Done as the final gate, the standing bar every increment clears regardless of the task. See ../_references/definition-of-done.md.
Trending
Steady: 1 new project took it in the last 4 weeks, 1× the 4 weeks before.thin data
Who's talking about ollaya-dev/ollaya
- @pythonhub.dev“ollaya Run open decision models locally: pull and serve Laya, decider, NLI and GLiClass behind a …”Bluesky · Oct 8, 2026 · 2 likes
- timmo001/skills“[Pin-only] Update ollama/ollama to v0.40.13”GitHub · Oct 29, 2026
- timmo001/skills“Update ollama/ollama to v0.40.12”GitHub · Oct 27, 2026
- Blarc/home-k8s“feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.17.0 → 0.18.0 )”GitHub · Oct 25, 2026
- timmo001/skills“Update ollaya-dev/ollaya to v0.18.0”GitHub · Oct 25, 2026
The biggest 5 of 29 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 29
Talked about on GitHub and Bluesky (29 times).
On GitHub · 28
- Oct 29, 2026[Pin-only] Update ollama/ollama to v0.40.13 — timmo001/skills0 reactions · 1 comment
- Oct 27, 2026Update ollama/ollama to v0.40.12 — timmo001/skills0 reactions · 1 comment
- Oct 25, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.17.0 → 0.18.0 ) — Blarc/home-k8s0 reactions
- Oct 25, 2026Update ollaya-dev/ollaya to v0.18.0 — timmo001/skills0 reactions
- Oct 24, 2026[Pin-only] Update ollama/ollama to v0.40.11 — timmo001/skills0 reactions
23 more on GitHub
- Oct 24, 2026ollaya: 0.12.1 -> 0.17.0 — NixOS/nixpkgs0 reactions
- Oct 23, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.16.0 → 0.17.0 ) — Blarc/home-k8s0 reactions
- Oct 23, 2026Update ollama/ollama to v0.40.10 — timmo001/skills0 reactions
- Oct 21, 2026[Pin-only] Update ollama/ollama to v0.40.8 — timmo001/skills0 reactions
- Oct 21, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.15.0 → 0.16.0 ) — Blarc/home-k8s0 reactions
- Oct 21, 2026Update ollaya-dev/ollaya to v0.16.0 — timmo001/skills0 reactions
- Oct 21, 2026Tournament Leadeboard for Production Utility; Mix 'n' Match, which or what combo is best for which contexts or flows? — timerloggedout-spec/termux-monorepo0 reactions · 8 comments
- Oct 21, 2026Update ollama/ollama to v0.40.7 — timmo001/skills0 reactions
- Oct 20, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.14.0 → 0.15.0 ) — Blarc/home-k8s0 reactions
- Oct 19, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.13.0 → 0.14.0 ) — Blarc/home-k8s0 reactions
- Oct 19, 2026[Hermes] 제안: 폐쇄망 로컬 결정 모델 백엔드 연결 (Kev·Ollaya → Hermes 플러그인) — tourbut/decision-lib0 reactions · 1 comment
- Oct 18, 2026Update ollama/ollama to v0.40.6 — timmo001/skills0 reactions
- Oct 14, 2026Update dependency github:ollaya-dev/ollaya to v0.13.0 - autoclosed — timmo001/dotfiles0 reactions · 1 comment
- Oct 13, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.12.1 → 0.13.0 ) — Blarc/home-k8s0 reactions
- Oct 13, 2026Update ollaya-dev/ollaya to v0.13.0 — timmo001/skills0 reactions
- Oct 12, 2026ollaya: 0.8.0 -> 0.12.1 — NixOS/nixpkgs0 reactions
- Oct 11, 2026개발 환경 + Ollaya 설치, 공식 문서 확인 — baesanggue/ai-gateway0 reactions
- Oct 9, 2026fix(container): update image ghcr.io/ollaya-dev/ollaya ( 0.12.0 → 0.12.1 ) — Blarc/home-k8s0 reactions
- Oct 8, 2026Add Ollaya community listing — AppitStudio/awesome-jev0 reactions
- Oct 6, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.10.0 → 0.12.0 ) — Blarc/home-k8s0 reactions
- Oct 5, 2026feat(container): update image ghcr.io/ollaya-dev/ollaya ( 0.9.0 → 0.10.0 ) — Blarc/home-k8s0 reactions
- Oct 3, 2026[Add] Ollaya (ollaya-dev/ollaya) — PyTorchKR/landscape0 reactions
- Oct 1, 2026ollaya: 0.7.5 -> 0.8.0 — NixOS/nixpkgs0 reactions
On Bluesky · 1
- Oct 8, 2026ollaya Run open decision models locally: pull and serve Laya, decider, NLI and GLiClass behind a TypeSafe-compatible API. Ollama for… — @pythonhub.dev2 likes and reposts
Other versions74 projects use a version of this.
Word for word · 0
None found.
Edited · 56
- addyosmani/agent-skills★ 112k100% same
- rizqinrr/viserys-agent★ 560100% same
- shashankswe2020-ux/whoop-mcp★ 17495% same
- vinvcn/addyosmani-agent-skills-zh★ 4641% same
- sampleXbro/agentsmesh★ 2496% same
- jaskirat1616/grok-skills★ 2299% same
- coreplanelabs/switchboard★ 598% same
- lza6/claw-code-tingfeng★ 595% same
- ddddjaak/ae-skills★ 494% same
- dzevs/zynk★ 468% same
46 more not listed
Wrote their own version · 18
- jmxt3/gitscape.ai★ 33same name
- huytd/skills★ 19same name
- robisson/build-like-amazon-agent-skills★ 16same name
- moberghr/mtk-agent-toolkit★ 9same name
- momentmaker/kaijutsu★ 3same name
- codexskills/agent-forge★ 2same name
- GuillemRoca/agent-skills-android★ 2same name
- Aleksandr-Litvinenko/agent-skills-ru★ 1same name
- celestialdust/achilles-skills★ 1same name
- manastalukdar/ai-devstudio★ 1same name
8 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use constraint-driven-development, deprecation-and-migration and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MrCipherSmithSkillconstraint-driven-development
Use when a project needs a persistent, measurable quality bar — starting a project without documented standards, 'set up constraints', or when coverage/perf/a11y thresholds get re-debated per-PR. Produces CONSTRAINTS.md with enforceable numbers, ratchets, and a guard against silent weakening. NOT for throwaway prototypes or a one-off CI setup.
Also in 12 projects that use this
HK-hubSkilldeprecation-and-migration
Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.
Also in 33 projects that use this
HK-hubSkillcode-simplification
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
Also in 40 projects that use this
seikaikyoSkilldoubt-driven-development
對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。
Also in 29 projects that use this
seikaikyoSkillinterview-me
需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。
Also in 27 projects that use this
thunderkdsSkillreview-diff
Generate a Markdown review file with C4 architecture diagrams and code walkthrough for the current git changes
Also in 3 projects that use this
- +1 more from HK-hub
In this repository17 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- api-and-interface-designSkill
- checklist-designSkill
- ci-cd-and-automationSkill
- code-review-and-qualitySkill
- debugging-and-error-recoverySkill
- documentation-and-adrsSkill
- frontend-ui-engineeringSkill
- git-workflow-and-versioningSkill
- observability-and-instrumentationSkill
- performance-optimizationSkill
- planning-and-task-breakdownSkill
- security-and-hardeningSkill
- shipping-and-launchSkill
- spec-driven-developmentSkill
- test-driven-developmentSkill
- ollaya-decisionsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

