incremental-implementation
Skill33 starsChanged 4 months agoApache-2.0View on GitHub
Delivers changes incrementally. Use when implementing any feature or change that touches more than one file. Use 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.
We split this skill into the rules it gives an agent
14 rules. 0 are common, 14 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 69 edited versions we read keep these.
14
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
- Distinctive: line 16
When you're tempted to "just write it all out first and then test"
- Distinctive: line 27
Read the task's acceptance criteria
- Distinctive: line 36
Write a test that describes the expected behavior.
- Distinctive: line 47
If the test passes before you write the implementation, the test is wrong.
- Distinctive: line 51
Write only the code needed to make the test pass.
- Distinctive: line 53
Follow existing patterns in the codebase
- Distinctive: line 56
No adding features that aren't in the acceptance criteria
- Distinctive: line 65
All existing tests must pass.
- Distinctive: line 69
Ensure the project builds/compiles cleanly:
- Distinctive: line 96
Update the task list and stop.
- Distinctive: line 119
When adding new behavior, default to the current behavior and opt into new behavior:
- Distinctive: line 135
Every commit should be revertable with git revert without taking down the system:
- Distinctive: line 137
Never combine schema changes with behavior changes in one commit
- Distinctive: line 138
Never remove a field that other services still read — add the replacement first, migrate, then remove
“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
Ship thin vertical slices: implement, test, verify, commit — one task at a time. Never write a large batch of changes all at once. Each increment should leave the system in a working, deployable state. This protects against regressions, makes reviews easier, and provides clean rollback points.
When to Use
- Any change touching more than one file
- Implementing a task from an existing plan
- When you're tempted to "just write it all out first and then test"
- Any feature that takes more than one focused session to implement
When NOT to use: Single-line typo fixes or isolated config changes with no behavior impact.
The Increment Loop
For every task, follow this exact loop:
1. Read Before Writing
- Read the task's acceptance criteria
- Load the relevant existing code (the files this task touches)
- Identify the pattern being extended, not invented
- Confirm the approach matches the spec
Stop if: The approach differs significantly from the spec. Update the spec or plan first.
2. Write a Failing Test (RED)
Write a test that describes the expected behavior. The test must fail before you write any implementation code.
# Example for a FastAPI endpoint
def test_export_skill_returns_zip():
"""Skill export endpoint should return a valid zip file."""
response = client.post("/api/skills/export", json={"repo": "owner/repo"})
assert response.status_code == 200
assert response.headers["content-type"] == "application/zip"If the test passes before you write the implementation, the test is wrong. Fix it.
3. Implement the Minimum (GREEN)
Write only the code needed to make the test pass. No more, no less.
- Follow existing patterns in the codebase
- No premature abstractions
- No "while I'm here" refactors
- No adding features that aren't in the acceptance criteria
4. Run All Tests
pytest tests/ -v # full suite
pytest tests/ -k "test_name" # targeted run for the new testAll existing tests must pass. If they don't, fix the regression before proceeding.
5. Build Check
Ensure the project builds/compiles cleanly:
# Python: check imports resolve
python -c "from api.app import create_app"
# TypeScript/JS: type check
npx tsc --noEmit6. Commit
One commit per task. Stage only the files that task touched:
git add api/app/path/to/changed_file.py tests/test_changed.py
git commit -m "feat(skills): add zip export endpoint for skill download
- POST /api/skills/export accepts {repo: string}
- Returns application/zip with SKILL.md and supporting files
- Validates repo exists before building archive
Closes #42"Never git add -A blindly — it absorbs unrelated local work and breaks clean rollback.
7. Mark the Task Complete and Stop
Update the task list and stop. Do not immediately start the next task. Present the result for human review if the task was Medium or larger.
Feature Flags
For high-risk changes that must be deployed before they are activated:
# api/app/config.py
FEATURE_FLAGS = {
"skill_hd_tier": os.getenv("FF_SKILL_HD_TIER", "false").lower() == "true",
}
# Usage
if settings.FEATURE_FLAGS["skill_hd_tier"]:
return generate_hd_skill(repo)
else:
return generate_standard_skill(repo)Deploy with FF_SKILL_HD_TIER=false, enable via env var when ready.
Safe Defaults
When adding new behavior, default to the current behavior and opt into new behavior:
# BAD: new behavior is default, breaks existing users
def generate_skill(repo, format="enhanced"):
...
# GOOD: existing behavior is default
def generate_skill(repo, format="standard"):
if format == "enhanced" and feature_flags.hd_tier:
return _generate_enhanced(repo)
return _generate_standard(repo)Rollback-Friendly Changes
Every commit should be revertable with git revert without taking down the system:
- Never combine schema changes with behavior changes in one commit
- Never remove a field that other services still read — add the replacement first, migrate, then remove
- Database migrations go in their own commit, run before the code that depends on them
Common Rationalizations
| Rationalization | Reality |
| "I'll test at the end when it's all done" | By then, failures are hard to localize. Test each slice so failures are obvious. |
| "The test is trivial for this part" | Write it anyway. Trivial tests catch trivial regressions. |
| "I can see how it fits together — just let me write it all" | You'll produce a 400-line diff that no one can review, with a bug buried on line 312. |
| "Refactoring this first will make the feature easier" | Refactor in a separate commit before the feature. Never mix. |
Red Flags
- A commit with more than ~200 lines changed (sign of too-big slices)
- A commit message with "WIP", "stuff", or "various changes"
- Implementation written before the test
- Committing
git add -Awithout reviewing what's staged - "It works on my machine" as the only verification
Verification
After each increment:
- A failing test was written first
- The test now passes
- The full test suite passes (no regressions)
- The build is clean
- The commit is atomic (only files from this task)
- The commit message describes what and why
- The system is in a deployable state at this commit
Other versions74 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 74
- addyosmani/agent-skills★ 112ksame name
- ollaya-dev/ollaya★ 1.4ksame name
- rizqinrr/viserys-agent★ 560same name
- shashankswe2020-ux/whoop-mcp★ 174same name
- vinvcn/addyosmani-agent-skills-zh★ 46same name
- sampleXbro/agentsmesh★ 24same name
- jaskirat1616/grok-skills★ 22same name
- huytd/skills★ 19same name
- robisson/build-like-amazon-agent-skills★ 16same name
- moberghr/mtk-agent-toolkit★ 9same name
64 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, doubt-driven-development and 5 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 15 projects that use this
seikaikyoSkilldoubt-driven-development
對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。
Also in 32 projects that use this
seikaikyoSkillinterview-me
需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。
Also in 29 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
OpenAISkillverification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Also in 5 projects that use this
delphi-aiSkillanimate
Animation patterns and best practices for Next.js/React applications. Use this skill when implementing animations, transitions, hover effects, page transitions, modals, or any motion in React components. Based on Emil Kowalski's "Animations on the Web" course.
Also in 3 projects that use this
In this repository53 other files it gives its agents.
- .agents/AGENTS.mdAGENTS.md
- ad-creativeSkill
- addyosmani-agent-skillsSkill
- api-and-interface-designSkill
- brandkitSkill
- browser-testing-with-devtoolsSkill
- chef-assistantSkill
- ci-cd-and-automationSkill
- cloud-run-basicsSkill
- code-review-and-qualitySkill
- code-simplificationSkill
- context-engineeringSkill
- debugging-and-error-recoverySkill
- deprecation-and-migrationSkill
- design-taste-frontendSkill
- design-taste-frontend-v1Skill
- documentation-and-adrsSkill
- frontend-ui-engineeringSkill
- full-output-enforcementSkill
- gemini-apiSkill
- git-workflow-and-versioningSkill
- googlecloudplatform-knowledge-catalogSkill
- google-cloud-recipe-authSkill
- google-cloud-recipe-networking-observabilitySkill
- google-cloud-recipe-onboardingSkill
- google-cloud-waf-cost-optimizationSkill
- google-cloud-waf-reliabilitySkill
- google-cloud-waf-securitySkill
- gpt-tasteSkill
- high-end-visual-designSkill
- imagegen-frontend-mobileSkill
- imagegen-frontend-webSkill
- image-to-codeSkill
- industrial-brutalist-uiSkill
- marketing-ideasSkill
- minimalist-uiSkill
- nvidia-skillspectorSkill
- observability-and-instrumentationSkill
- performance-optimizationSkill
- planning-and-task-breakdownSkill
- pricing-strategySkill
- programmatic-seoSkill
- redesign-existing-projectsSkill
- security-and-hardeningSkill
- seo-auditSkill
- shipping-and-launchSkill
- social-contentSkill
- source-driven-developmentSkill
- spec-driven-developmentSkill
- stitch-design-tasteSkill
- test-driven-developmentSkill
- using-agent-skillsSkill
- videoSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

