# Incremental Implementation (incremental-implementation)

> Delivers changes in thin, verifiable slices: implement one piece, test it, verify it, commit, then move to the next.

- Category: [Feature Development](https://www.myskills.tools/en/categories/feature-development/)
- Source: Community · Addy Osmani
- Repository: https://github.com/addyosmani/agent-skills/tree/main/skills/incremental-implementation (commit cda4542)
- SKILL.md: https://github.com/addyosmani/agent-skills/blob/main/skills/incremental-implementation/SKILL.md
- Install command: `npx skills add addyosmani/agent-skills --skill incremental-implementation`
- License: MIT
- Compatible with: Claude Code, Codex, Cursor, Copilot, Gemini CLI
- Permissions: read-repo ✓, write-files ✓, shell ✓, network ✗
- Status: Scan passed
- A rule scan cannot catch every risk. Read this skill's SKILL.md and check its permissions before installing.

## Core rule

Each increment must leave the system in a working, testable state.

## Execution Phases

1. **Choose a slicing** — Prefer vertical slices; define the contract first when frontend and backend run in parallel, or tackle the riskiest piece first.
2. **Implement simply** — Ask what the simplest thing that could work is, touch only what the task requires, and note out-of-scope issues instead of fixing them.
3. **Test and verify** — Run the repository's own test, build, typecheck and lint commands, and confirm the new functionality works.
4. **Commit and continue** — Change one logical thing per increment and commit it separately so it can be reverted; keep unfinished features behind a feature flag.

## Permissions (summarised from SKILL.md)

| Capability | Needed | Details |
|---|---|---|
| File writes | Required | Edits the code and tests the task requires, leaving files outside the task scope alone. |
| Command execution | Required | Runs the repository's test, build, typecheck and lint commands, and git commit. |
| Network outbound | Not required | No network access is called for. |

## SKILL.md frontmatter (YAML)

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

Home: https://www.myskills.tools/en/ · URL: https://www.myskills.tools/en/skills/incremental-implementation/
