agentleFS
buildpad-aibuildpad-ai/skills/incremental-implementation/SKILL.md

incremental-implementation

Skill1 starsChanged 27 days agoMITView 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.

  • Reads credentials

77 other projects use a version of this, 58 of them edited.

Adopted by

Most recently taken up by

Used with

Projects 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.
  • 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

5 rules. 3 are common, 1 is distinctive, and 1 is very specific to this project.

  • 3

    Common

    Most of the 72 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Common:

    If Slice 1 fails, you discover it before investing in Slices 2 and 3.

    line 68
  2. Common:

    Before writing any code, ask: "What is the simplest thing that could work?"

    line 74
  3. Common:

    Add features not in the spec because they "seem useful"

    line 93
  4. Very specific:

    After each increment, pnpm build and pnpm test must pass.

    line 108
  5. Distinctive:

    After completing all increments:

    line 160

“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

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.

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.

Parallel slices: independent slices can be built by parallel subagents (see subagent-delegation), but integration and the build/test/verify loop stay on the main thread.

The Increment Cycle

┌──────────────────────────────────────┐
│                                      │
│   Implement ──→ Test ──→ Verify ──┐  │
│       ▲                           │  │
│       └───── Commit ◄─────────────┘  │
│              │                       │
│              ▼                       │
│          Next slice                  │
│                                      │
└──────────────────────────────────────┘

Slicing Strategies

Vertical Slices (Preferred)

Build one complete path through the stack:

Slice 1: Create a task (define the collection with `create-collection` + API route + basic form)
    → Tests pass, user can create a task

Slice 2: List tasks (DaaS query + API route + CollectionList)
    → Tests pass, user can see their tasks

Slice 3: Edit a task (update API + CollectionForm edit mode)
    → Tests pass, user can modify tasks

Slice 4: Delete a task (API + CollectionList enableDelete)
    → Tests pass, full CRUD complete

Risk-First Slicing

Tackle the riskiest piece first:

Slice 1: Prove the DaaS workflow integration works (highest risk)
Slice 2: Build the approval UI on the proven workflow
Slice 3: Add notifications and audit trail

If 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?"

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 CollectionForm instances with field configs

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
  • Add features not in the spec because they "seem useful"
NOTICED BUT NOT TOUCHING:
- src/utils/format.ts has an unused import (unrelated)
- 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.

Rule 2: Keep It Compilable

After each increment, pnpm build and pnpm test must pass.

Rule 3: Feature Flags for Incomplete Features

const ENABLE_TASK_SHARING = process.env.FEATURE_TASK_SHARING === 'true';
if (ENABLE_TASK_SHARING) {
  // New sharing UI — hidden until ready
}

Rule 4: Safe Defaults

New code should default to safe, conservative behavior.

Rule 5: Rollback-Friendly

Each increment should be independently revertable.

DaaS Layer Alignment

Incremental slicing follows the DaaS dependency layers used in the spec's tasks.md:

LayerTypical Slices
DataCollection (create-collection) → API route → Types → API tests
UIList page → Form page → Navigation
LogicValidation → Permissions → Workflow
RelationsM2O → M2M → File fields
HardeningError handling → Performance → A11y → Docs

Common Rationalizations

RationalizationReality
"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.
"This refactor is small enough to include"Refactors mixed with features make both harder to debug. Separate them.

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
  • Building abstractions before the third use case
  • Touching files outside the task scope "while I'm here"

Verification

After completing all increments:

  • 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

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.