Agent skill

Incremental Implementation

by addyosmani in addyosmani/agent-skills

Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.

MITAuto-check passedAgent Workflows

Install Incremental Implementation

skills CLI
$ npx skills add addyosmani/agent-skills --skill incremental-implementation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install addyosmani/agent-skills incremental-implementation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/addyosmani/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/incremental-implementation .claude/skills/incremental-implementation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
incremental-implementation
GitHub stars
102k
Used in
1 other repo
Token cost
~2.3k tokens
SKILL.md length
963 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.

  • Works in 5 steps: Implement the smallest complete piece of… → Test — run the test suite (or write a… → Verify — confirm the slice works as… → …
  • Implementing a feature that touches more than one file
  • SKILL.md covers Overview, When to Use, The Increment Cycle and Slicing Strategies, plus 7 more sections
  • Calls npm and npx

What it does

This skill makes the agent build in thin slices instead of writing a whole feature in one pass. Each slice runs the cycle of implementing the smallest complete piece, testing it, verifying it, committing it and moving on, and each should leave the system working and testable. It applies to multi-file changes, features built from a task breakdown, refactors, and any time the urge arises to write more than about 100 lines before testing. Single-file, single-function changes are excluded.

Three slicing strategies are described: vertical slices that deliver one full path through the stack, contract-first slicing where an API contract is defined first so backend and frontend proceed in parallel against it, and risk-first slicing that proves the riskiest piece, such as a WebSocket connection, before building on it. Rule 0 is simplicity first, asking what the simplest thing that could work is, then checking for fewer lines and for abstractions that earn their complexity. The skill also fits rolling a change out behind a feature flag.

When your agent uses it

  • Implementing a feature that touches more than one file
  • Picking up the next task from a plan
  • Rolling out a change behind a feature flag
  • Breaking down a task that feels too big to land in one step

Example prompts

  • “Implement the task reminders feature in slices, testing and committing after each one.”
  • “Start with the riskiest part, the realtime connection, before building anything on top of it.”
  • “Define the API contract first so backend and frontend work can proceed in parallel.”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Implement the smallest complete piece of functionality
  2. Test — run the test suite (or write a test if none exists)
  3. Verify — confirm the slice works as expected (tests pass, build succeeds, manual check)
  4. Commit -- save your progress with a descriptive message (see git-workflow-and-versioning for atomic commit guidance)
  5. Move to the next slice — carry forward, don't restart

What it can do on your machine

Read from SKILL.md and the folder at commit 1401c8b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Incremental Implementation loads about 2.3k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 963 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from addyosmani/agent-skills at commit 1401c8b, republished under its MIT licence (© addyosmani). 963 words, ~2,333 tokens.

Download SKILL.mdSave it as .claude/skills/incremental-implementation/SKILL.md (or your agent's skills folder).
name
incremental-implementation
description
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.

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:

  1. Implement the smallest complete piece of functionality
  2. Test — run the test suite (or write a test if none exists)
  3. Verify — confirm the slice works as expected (tests pass, build succeeds, manual check)
  4. Commit -- save your progress with a descriptive message (see git-workflow-and-versioning for atomic commit guidance)
  5. 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 complete

Each 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-end
Risk-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 reconnection

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

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 components

Three 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:

typescript
// 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:

typescript
// 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.

Show full SKILL.md (414 more words)Show less

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

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

© addyosmani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/incremental-implementation of addyosmani/agent-skills.

Open the folder on GitHubat commit 1401c8b

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in addyosmani/agent-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Incremental Implementation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Incremental Implementation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Incremental Implementation this skilladdyosmani/agent-skills102k1 repos~2.3kAutomated safety check: PassMIT
Auditable Playbook Designercursor/plugins10k8 repos~1kAutomated safety check: PassNone
Context Modes0xNyk/lacp305—~313Automated safety check: PassMIT
Launch Delivery PipelineYeachan-Heo/oh-my-claudecode40k—~7.3kAutomated safety check: PassMIT
Task Execution WorkflowYeachan-Heo/oh-my-claudecode40k—~431Automated safety check: PassMIT
ULW Loopcode-yeongyu/oh-my-openagent70k—~3.2kAutomated safety check: PassCustom licence

Similar skills

  • Official

    Designs a step-by-step playbook for large or unfamiliar work, runs it as a loop of hypotheses and measurements, and logs decisions so a human can review them later.

    10k GitHub starsUsed in 8 repos~1k tokens
    Agent WorkflowsAuto-check passed
  • Context Modes

    0xNyk/lacp

    Structured work modes for agent sessions. An agent skill from 0xNyk/lacp.

    305 GitHub stars~313 tokensUpdated 15 days ago
    Agent WorkflowsAuto-check passed
  • Launch Delivery Pipeline

    Yeachan-Heo/oh-my-claudecode

    Delivery pipeline from mission brief to verified change: writes a spec, splits it into tickets, runs them in parallel, verifies and reports a decision log after a repo audit gate.

    40k GitHub stars~7.3k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Task Execution Workflow

    Yeachan-Heo/oh-my-claudecode

    Takes an agreed task from intent to working code: splits it into units, implements the smallest correct change, verifies as it goes and reports what is left.

    40k GitHub stars~431 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • ULW Loop

    code-yeongyu/oh-my-openagent

    Runs a long task as a checkpointed goal loop: it creates goals, mirrors each step into a todo list, gathers evidence per criterion and lands every goal before the next.

    70k GitHub stars~3.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Superloopy Evidence Loop

    beefiker/superloopy

    Runs a light task loop where each goal criterion passes only when a real evidence artifact exists, with progress stored in a `.superloopy` folder.

    111 GitHub starsUsed in 1 repo~5.9k tokens
    Agent WorkflowsAuto-check passed

More from addyosmani/agent-skills

All 12 skills in this repo
  • Idea Refinement

    addyosmani/agent-skills

    Guides a conversation that takes a vague idea through divergent and convergent thinking and ends in a markdown one-pager covering scope and assumptions.

    102k GitHub starsUsed in 6 repos~2k tokens
    Auto-check passed
  • Interview Me

    addyosmani/agent-skills

    Asks one question at a time, each with a best guess attached, until the agent is about 95 percent sure what you really want, before any plan, spec or code.

    102k GitHub starsUsed in 6 repos~3.8k tokens
    Auto-check passed
  • Using Agent Skills

    addyosmani/agent-skills

    Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.

    102k GitHub starsUsed in 4 repos~2.4k tokens
    Auto-check passed
  • Connects an agent to a real Chrome instance through the Chrome DevTools MCP server, so it can inspect the DOM, read console errors and profile performance directly.

    102k GitHub starsUsed in 4 repos~3.5k tokens
    Auto-check: warnings
  • Constraint-Driven Development

    addyosmani/agent-skills

    Records a project's quality bar in CONSTRAINTS.md and watches diffs for signs an agent quietly weakened it, such as suppressions, skipped tests or lowered thresholds.

    102k GitHub starsUsed in 2 repos~5.2k tokens
    Auto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    Auto-check: notes

Questions about Incremental Implementation

What does Incremental Implementation do?

Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing. This skill makes the agent build in thin slices instead of writing a whole feature in one pass. Each slice runs the cycle of implementing the smallest complete piece, testing it, verifying it, committing it and moving on, and each should leave the system working and testable.

When should I use Incremental Implementation?

Incremental Implementation fits situations like: implementing a feature that touches more than one file; picking up the next task from a plan; rolling out a change behind a feature flag; breaking down a task that feels too big to land in one step.

How do I install Incremental Implementation in Claude Code?

Run `npx skills add addyosmani/agent-skills --skill incremental-implementation -a claude-code`. Or copy the skill folder (skills/incremental-implementation in addyosmani/agent-skills) into .claude/skills/incremental-implementation in your project. Claude Code loads it when a task matches its description.

How do I install Incremental Implementation in Codex?

Run `npx skills add addyosmani/agent-skills --skill incremental-implementation -a codex`. Or copy the skill folder (skills/incremental-implementation in addyosmani/agent-skills) into .agents/skills/incremental-implementation in your project. Codex loads it when a task matches its description.

Can I use Incremental Implementation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add addyosmani/agent-skills --skill incremental-implementation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/incremental-implementation, .gemini/skills/incremental-implementation, .github/skills/incremental-implementation and .opencode/skills/incremental-implementation in your project.

What does Incremental Implementation need to run?

Going by SKILL.md and its folder, Incremental Implementation needs the command-line tools its instructions call (npm and npx).

Does Incremental Implementation access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Incremental Implementation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Incremental Implementation use?

Incremental Implementation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Incremental Implementation use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Incremental Implementation?

Skills that share tags, products or a category with Incremental Implementation: Auditable Playbook Designer (cursor/plugins, 10k stars), Context Modes (0xNyk/lacp, 305 stars), Launch Delivery Pipeline (Yeachan-Heo/oh-my-claudecode, 40k stars) and Task Execution Workflow (Yeachan-Heo/oh-my-claudecode, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Incremental Implementation?

addyosmani (a GitHub user) maintains it in addyosmani/agent-skills, which has 102,135 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 3, 2026.

Source: addyosmani/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.