About changeset
A development skill for turning an agreed solution into a read-only, file-level changeset plan. It traces affected code and tests, records necessary cascades, and stops with an unresolved report when the direction is stale or contradictory.
Key features
- 01Trace callers, implementations, schemas, and tests
- 02Classify create, move, update, and delete actions
- 03Plan necessary cascade changes
- 04Flag stale or conflicting direction
- 05Produce a staged changeset tree
Use cases
- 01Plan files affected by an approved solution
- 02Identify tests invalidated by changed logic
- 03Surface blockers in an outdated implementation plan
- 04Prepare a file-level handoff before implementation
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ venhdev/ skills --skill changesetAfter installing, type/changesetin Claude Code to confirm it loaded.
Details
From the project READMEchangeset — File Impact & Cascade Planning
Domain Rubric
Input & Boundary
Receive a settled direction or solution with outcome, constraints, and available evidence. Ground it against the current checkout and governing contracts; keep planning read-only and preserve the supplied direction.
Trace direct and indirect callers, implementations, imports, schemas, and tests. Inspect only the target and load-bearing cascades; exclude cosmetic churn, speculative files, and unaffected backward-compatible callers. Prune superseded logic: stage explicit removal of dead helpers, obsolete branches, and tests invalidated by the solution. Stop if the input plan is stale or contradictory rather than silently redesigning it.
File Actions
[CREATE]: New file required by the solution.[MOVE]: Relocation or rename, including affected references.[UPDATE]: Existing logic, contract, test, or necessary cascade.[DELETE]: Obsolete file whose removal is required by the solution.
State
STAGED: The Changeset Tree identifies concrete operations and necessary cascades for the settled direction.UNRESOLVED: Missing, stale, or conflicting direction prevents a reliable changeset; cite the blocker and decision required.
Canonical Output Contract
# Changeset: <Scope> · STAGED
Basis: <Settled solution and supporting proof/reference.>
Acceptance: <Observable criteria and constraints to carry downstream.>
```text
|-- <subsystem>/
| |-- <file>
| | `-- [UPDATE] <Load-bearing change and invariant>.
| `-- <new-file>
| `-- [CREATE] <Required component or regression check>.
`-- <deep/path/to/caller>
`-- [UPDATE] <Necessary cascade>.
Summary: <N> files affected (<C> created, <U> updated, <M> moved, <D> deleted).
```
For UNRESOLVED, replace the tree with a concise blocker, evidence, and required redesign decision; omit invented file operations.
Routing
- An outdated plan exposes unresolved requirements → (via /clarify).
- An outdated plan requires a new design direction → (via /architect-decision).
- The supported changeset is authorized for implementation → (via /forge).
- The caller wants tracking or useful task decomposition → (via /to-tasks).
Execution Protocol
- Inspect the supplied direction and current code/contracts. Stop on an outdated plan or foundational contradiction and report
UNRESOLVEDwith the required redesign decision. - Build the tree with file actions, direct cascades, acceptance criteria, and evidence provenance. Collapse redundant directories while preserving file hierarchy.
- Present
STAGEDand halt without filesystem mutations. An embedded changeset produced elsewhere uses the same handoff obligations without requiring this skill.