agentleFS
momentmakermomentmaker/kaijutsu/skills/core/incremental-implementation/SKILL.md

incremental-implementation

Skill3 starsChanged 6 months agoMITView on GitHub

Implement features as thin vertical slices behind feature flags, each shippable on green CI. Use when the user says "implement this", "ship it in stages", "vertical slice", "incremental", or invokes /implement / /build. Reject big-bang refactors; demand a slice plan first.

77 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use constraint-driven-development, deprecation-and-migration and 8 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.
  • MrCipherSmithSkill

    constraint-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 14 projects that use this

  • HK-hubSkill

    deprecation-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 36 projects that use this

  • HK-hubSkill

    observability-and-instrumentation

    Instruments code so production behavior is visible and diagnosable. Use when adding logging, metrics, tracing, or alerting. Use when shipping any feature that runs in production and you need evidence it works. Use when production issues are reported but you can't tell what happened from the available data.

    Also in 29 projects that use this

  • seikaikyoSkill

    doubt-driven-development

    對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。

    Also in 33 projects that use this

  • seikaikyoSkill

    interview-me

    需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。

    Also in 30 projects that use this

  • thunderkdsSkill

    review-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

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 72 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If planning-and-task-breakdown produced a list of tasks, use that.

    line 22
  2. Distinctive:

    Every slice ends with: passing unit tests for the new code, no regression in existing tests, lint clean, type-check clean.

    line 38
  3. Distinctive:

    If FAIL on any criterion → implementer fixes the gap.

    line 50
  4. Very specific:

    ONLY after Stage A passes, run polish on the slice's diff.

    line 55
  5. Very specific:

    After every 2 slices, invoke scope-check.

    line 63
  6. Distinctive:

    Scope-check between slices: Not after — between.

    line 89
  7. Distinctive:

    Each slice fits in <500 LOC: If you're over, split.

    line 90

“Common” is measured: kept by at least 6 in 10 of the 72 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Incremental Implementation

Adapted from addyosmani/agent-skills under the MIT License. Copyright (c) Addy Osmani. Per-slice two-stage review pattern + continuous-execution rule adapted from obra/superpowers/skills/subagent-driven-development under MIT.

The principle: every PR is mergeable on its own. No "wait for the next one" merges. No multi-week branches. Vertical = touches every layer (UI / API / DB / tests) for one narrow capability rather than completing one layer fully before moving to the next.

When to invoke

  • A spec or plan is ready and the user is about to start coding
  • The user says "this should be a multi-PR change"
  • A change exceeds 500 LOC or touches >5 files

Process

Step 1: Confirm a slice plan exists

If planning-and-task-breakdown produced a list of tasks, use that. Otherwise produce a slice plan now: 3-7 vertical slices, each ≤500 LOC, each with its own acceptance criteria.

Step 2: Pick the first slice

Hardest invariant first if possible (proves the design); easiest first if morale is needed (early win).

Step 3: Implement behind a feature flag

if (featureFlags.kaijutsuV2) { /* new path */ } else { /* old path */ }

The flag defaults OFF in main. Old behavior is preserved. New behavior ships when the flag flips.

Step 4: Tests + green CI

Every slice ends with: passing unit tests for the new code, no regression in existing tests, lint clean, type-check clean. If CI is red, the slice isn't done.

Step 5: Per-slice two-stage review chain

A slice is NOT complete after the implementer says "done". Run two reviews in order; only after BOTH pass does the slice get marked shippable.

Stage A — Spec compliance review. Dispatch a fresh subagent (clean context, no implementation history) with:

  • The slice's declared acceptance criteria from the plan
  • The slice's diff (git diff <base>..<head>)
  • One question: "Does this diff satisfy every acceptance criterion? Pass / fail per criterion + reasons."

If FAIL on any criterion → implementer fixes the gap. Re-dispatch the spec-reviewer (fresh subagent, fresh context) on the new diff.

Cap: 3 spec-review rounds. If still failing after round 3, the spec-reviewer and implementer have diverged on intent. STOP, surface the divergence to the user with the 3 spec-review reports, and let the user adjudicate (acceptance criteria wrong? implementer misreading the slice? slice was mis-scoped during planning?). Mirrors polish's 4-pass cap — bounded loops only.

Stage B — Code quality review. ONLY after Stage A passes, run polish on the slice's diff. Polish handles the multi-pass critique + verification-before-completion gate (tests, lint, build all green via fresh runs). Polish surfaces quality issues; implementer fixes; re-run polish until clean.

Why two stages, not one: spec-compliance and code-quality are different failure modes. A high-quality slice that misses a criterion is a regression hidden behind nice code; a spec-correct slice with broken tests is a half-shipped feature. Single-stage review conflates them and lets one slip behind the other.

Each stage uses a FRESH subagent with isolated context — no inheritance of the implementer's session history. The reviewer evaluates work product, not narrative.

Step 6: Scope-check between slices (compose scope-check)

After every 2 slices, invoke scope-check. Are we still on the original spec? Did slice 3 add scope that slice 1 didn't? Catch creep early.

Step 7: Merge + repeat

Slice merged → flag still off → next slice begins from a clean main.

Step 8: Flip the flag

Last slice merged. Run integration tests with the flag ON. Roll forward in stages (1% → 10% → 100%) if the project supports it.

Anti-rationalization table

ExcuseRebuttal
"It's all interconnected; I can't slice it"If you genuinely can't, the design is wrong. The first slice is "introduce the abstraction that lets the rest slice."
"Feature flags are overhead"Less overhead than a bisected revert. Flags are the cheapest insurance for a multi-week project.
"Tests for slice 1 are hard before slice 3 lands"Mock or stub slice 3's behavior; the test exists to catch regressions in slice 1, not to prove slice 3.
"Reviewers can't tell if it's done in slices"They review per-slice; the spec sets the destination. Tag each PR with the slice number so the through-line is visible.
"Big bang is faster"Big bang is faster to write, slower to review, slower to debug, slower to ship. Net wall-time loss.

Hard rules

  • No slice ships without a feature flag unless the change is a pure no-op refactor with green tests.
  • No slice ships without per-slice tests.
  • No slice ships on red CI. Period.
  • No slice ships without BOTH spec-compliance + code-quality review. (Step 5.)
  • Scope-check between slices. Not after — between.
  • Each slice fits in <500 LOC. If you're over, split.
  • Continuous execution between independent slices. Once the user has approved the slice plan, do NOT pause to ask "should I continue?" between independent slices. Slices were declared independent on purpose; mid-loop check-ins waste their time. Stop only on: a slice fails review and the failure mode genuinely requires user input, an ambiguity blocks progress, or all slices complete.

Composes

  • scope-check — cost-tier classification + creep detection between slices
  • polish — per-slice review-and-fix before merge

When NOT to use

  • True one-line bug fix
  • Pure dependency bump where the diff is auto-generated
  • Documentation-only changes

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.