agentleFS
michaelsvanbeekmichaelsvanbeek/personal-agent-skills/skills/large-change/SKILL.md

large-change

Skill1 starsChanged 7 months agoMITView on GitHub

Structured workflow for implementing a large or complex change. Use when: planning a significant feature, decomposing a multi-day refactor, introducing a breaking change, coordinating cross-cutting implementation work, or shipping a new subsystem with phased delivery and clear release criteria.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 13 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    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
  • could be automatic: a setting could enforce it
  1. Distinctive:

    When not to use: small, self-contained changes that can be completed and tested in one short session.

    line 25
  2. Distinctive:

    Before implementation, write a design doc.

    line 32
  3. Distinctive:

    Create a durable rationale for future maintainers

    line 38
  4. Very specific:

    Create in docs/changes/<feature-name>.md or docs/adr/<nnnn>-<title>.md:

    line 42
  5. Distinctive:

    Before implementation begins, confirm the design answers:

    line 101
  6. Distinctive:

    Prefer vertical slices (thin end-to-end paths) over horizontal layers.

    line 120
  7. Distinctive:

    If task text contains and, consider splitting it.

    line 122
  8. Distinctive:

    Every increment should leave the default branch stable.

    line 123
  9. Distinctive:

    Run lint/format checks

    line 167
  10. Distinctive:

    Commit with conventional commit format

    line 169
  11. Distinctive:

    Use feature flags for long-running features that cannot ship all at once.

    line 172
  12. Distinctive:

    Keep PRs focused and reviewable

    line 176
  13. Distinctive:

    Do not merge failing CI

    line 178
  14. Distinctive:

    When all planned tasks are complete, run a release checklist.

    line 184

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Large Change Workflow

When to Use

  • A feature or refactor spans many files or multiple days of work
  • Multiple valid approaches exist and design needs to be explicit
  • Several developers need to coordinate against one plan
  • A breaking change is involved (API removal, rename, behavior change)
  • A new subsystem or integration is being introduced
  • The change crosses layers (data, API, UI, infra)

When not to use: small, self-contained changes that can be completed and tested in one short session.


Phase 1: Design Document

Before implementation, write a design doc.

Purpose:

  • Align on what is being built and why
  • Compare alternatives before implementation lock-in
  • Surface risks and unknowns early
  • Create a durable rationale for future maintainers

Design Doc Template

Create in docs/changes/<feature-name>.md or docs/adr/<nnnn>-<title>.md:

# Design: <Feature or Change Name>

**Date**: YYYY-MM-DD
**Status**: Draft | Proposed | Accepted
**Author(s)**: <name>

## Problem

What problem does this change solve?

## Goals

- [ ] Goal 1
- [ ] Goal 2

## Non-Goals

- Not changing X
- Not supporting Y in this version

## Proposed Approach

Describe the selected solution, affected components, data flow, API/interface
changes, and dependencies.

## Alternatives Considered

Use a structured alternatives comparison:

| Option | Pros | Cons | Why not chosen |
|--------|------|------|----------------|
| Option A (chosen) | ... | ... | - |
| Option B | ... | ... | ... |
| Option C | ... | ... | ... |

## Risks and Open Questions

- [ ] Risk: <risk and mitigation>
- [ ] Open question: <question>

## Implementation Plan

High-level phases or milestones.

## Testing Strategy

What tests are required?

## Release Plan

- Version bump: PATCH / MINOR / MAJOR
- Breaking migration required: Yes / No
- Feature flag needed: Yes / No
- Rollback strategy: <describe>

Before implementation begins, confirm the design answers:

  • What is being built and why
  • Why this approach was chosen over alternatives
  • Key risks and mitigations
  • Release strategy

Phase 2: Task Decomposition

Break work into small, independently shippable tasks.

A task is well-sized when:

  • It fits one focused session (roughly 4 hours or less)
  • It maps to one conventional commit subject
  • The codebase remains buildable and testable after completion

Decomposition Rules

  • Prefer vertical slices (thin end-to-end paths) over horizontal layers.
  • Split deprecation and removal into separate tasks for breaking changes.
  • If task text contains and, consider splitting it.
  • Every increment should leave the default branch stable.

Task List Template

## Tasks

### Phase 1: Foundation
- [ ] Add data model changes
- [ ] Implement base service/repository
- [ ] Add unit tests for new core logic

### Phase 2: Integration
- [ ] Add endpoint/adapter layer integration
- [ ] Add input validation and error handling
- [ ] Add integration tests

### Phase 3: UX/Consumer
- [ ] Add UI/client integration
- [ ] Add behavior/state tests
- [ ] Add end-to-end flow test

### Phase 4: Cleanup and Release
- [ ] Remove deprecated paths
- [ ] Update migration docs
- [ ] Update changelog and version

Phase 3: Incremental Development

Execute tasks one at a time.

Each completed task should:

  • Pass tests
  • Pass linting/formatting
  • Pass type checks (if applicable)
  • Land as one logical commit

Single-Task Loop

  1. Implement one task
  2. Run relevant tests
  3. Run lint/format checks
  4. Run type checks
  5. Commit with conventional commit format
  6. Mark the task done

Use feature flags for long-running features that cannot ship all at once.

PR Sizing

  • Keep PRs focused and reviewable
  • Split very large diffs into phase-based PRs when possible
  • Do not merge failing CI

Phase 4: Release

When all planned tasks are complete, run a release checklist.

Pre-Release Checklist

  • All planned tasks are complete
  • Full test suite passes
  • Linting, formatting, and type checks are clean
  • Docs and migration notes are updated
  • Version and changelog are updated
  • Rollback plan is documented

Versioning Guidance

Change typeBump
Backward-incompatible behavior/API changeMAJOR
Backward-compatible featureMINOR
Bug fix or internal improvements onlyPATCH

Release Notes Structure

  • Breaking changes
  • Features and fixes
  • Internal/refactor/test/docs updates

Phase 5: Post-Implementation Cleanup

After release:

  • Update design doc status to Accepted
  • Document deferred follow-up work
  • Archive/supersede outdated ADRs if needed
  • Run a short retrospective for large, complex changes

Quick Reference

PhaseOutput
1. DesignDesign doc or ADR
2. DecomposeTask list with clear increments
3. ImplementStable incremental commits
4. ReleaseVersioned release with notes
5. CleanupUpdated docs and follow-up plan

Anti-Patterns

Anti-patternWhy it hurtsBetter approach
Design-as-you-go on major changesHigh risk of late reworkWrite and review design first
One giant implementation commitHard to review and rollbackOne logical change per commit
Pure horizontal decompositionNo shippable value until lateUse vertical slices
Skipping tests between tasksBroken state accumulatesValidate after every task
Deferring docs until the endDocs drift from implementationUpdate docs within each phase
Treating version bump as clericalMis-signaled impact to usersDefine release plan in design

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.