extract-interfacelisted
Install: claude install-skill millerlai/claude-all-in-one
> `<cai>` is the cai-codex command line that `$setup` wrote into your instructions (the cai-codex block in AGENTS.md). `<cai-root>` is what `<cai> --root` prints.
<!-- generated by gen-commands.py -->
# Extract Interface
Catalog #64 · Dealing with Generalization · risk **M** (crosses class boundaries)
Addresses: Large Class, test seams
Target: `$ARGUMENTS`
## Do this
1. Read the **Extract Interface** card in
`<cai-root>/skills/refactor/references/cat-11-generalization.md`.
Its **Pre** and **Mechanics** sections are authoritative — this command does
not restate them, so that there is one source of truth.
2. Apply the safety protocol yourself: pre-flight, step-by-step mechanics with
a test after each step, full suite, commit. It is defined once in
`<cai-root>/skills/refactor/SKILL.md` under
"## Non-negotiable safety protocol"; it is not restated here. The heading
is the anchor on purpose -- a line number here would be stale the next time
anything above it is edited, in all 72 of these files at once.
3. Behaviour must not change. Do not modify tests except for a rename you name
explicitly in the report. Do not start a second refactoring — report any
follow-up the card indicates instead.
If a precondition fails, stop and name the correct alternative refactoring rather
than forcing this one.