validate-changelisted
Install: claude install-skill ltatarev/skills
# Validating a change before handoff
Which checks to run for a given change scope, and how to report them. The
standard: **every handoff names the checks that ran, their results, and which
were skipped and why.**
## Procedure
1. Read `package.json` scripts to learn this repo's actual command names — do
not assume. Map them onto the check kinds in the table below.
2. Classify the change scope and pick the check set.
3. Run the checks. Establish a baseline before blaming yourself (see below).
4. If you added or changed business logic, add or update a colocated test and
run it focused. See `write-tests`.
5. Write the handoff report. If committing, use `gitmoji`. For nontrivial
runtime behavior, use `verify`.
## Which checks for which scope
| Change scope | Run | Skip |
| --- | --- | --- |
| Pure logic in `.ts` (merge, persist, utils, redux logic) | focused unit test for the touched files, then typecheck | circular-dep check, lint --fix |
| UI, components, screens (`.tsx`) | typecheck, lint | unit tests, unless logic was extracted into a `.ts` — most unit configs only match `*.test.ts` |
| Any change to imports, barrels (`index.ts`), or module boundaries | add the circular-dependency check (`madge`) to the above | |
| Broad refactor across modules | the repo's combined script — but read the caveat below | |
| Docs or comments only | lint on the touched scope | typecheck, madge, tests |
Always finish with lint passing (exit 0) before handoff.
Watch for a **bare `te