ca-refactor
Restructure code with behavioral parity proven through unmodified pre-existing tests, then refactor. No behavior change.
Install
npx skills add https://github.com/arbiterForge/codeArbiter/tree/main/plugins/ca-pi/skills/ca-refactor
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install arbiterforge-codearbiter@llmmart
git clone https://github.com/arbiterForge/codeArbiter.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole arbiterforge/codearbiter collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
/ca-refactor — behavior-preserving restructure
The only permitted entry to refactor work. A refactor that cannot prove parity through unmodified pre-existing tests is a feature change in disguise and routes to /ca-feature. Two required parts: the surface (exact files, functions, classes, or methods — vague surfaces like "the auth module" are rejected) and the motivation (why the restructure is worth doing).
Flow
Routes to the refactor skill — six phases:
- Surface identification — lock the exact files, symbols, and public signatures.
- Parity coverage proof — demonstrate pre-existing tests already cover the named surface, with at least one direct test per public method.
- Red parity tests (conditional) — if the refactor exposes a new test seam, route to
tdd(<plugin-root>/routines/tdd/SKILL.md) Phase 1 to write failing tests pinning the seam's contract first. - Implementation — apply the restructure mechanically within the surface table; no new behavior, branches, error paths, or side effects.
- Parity verification — every impact-bounded local parity test identified for the surface passes
with zero edits to any pre-existing test file; the shared
<plugin-root>/includes/verification-boundary.mdreserves the exhaustive suite for exact-head hosted CI before merge. - Lint / coverage gate — lint, type-check, and coverage clear; surface coverage MUST NOT regress.
Routes to
refactor (<plugin-root>/routines/refactor/SKILL.md) — all six phases.
When NOT to use
- New behavior — a new branch, error path, side effect, public method beyond a Phase 3 seam, or a
change to what any input maps to →
/ca-feature. - A change motivated by "the current behavior is wrong" →
/ca-fix. - Questions or discussion →
/ca-btw. - Persisting an already-completed refactor →
/ca-commit.
Hard gate
No refactor proceeds without behavioral-parity coverage proof in Phase 2; if the surface is
under-covered, the skill halts and routes to tdd Phase 1 to backfill before resuming. A Phase 4 diff
that would classify as feat, or a Phase 5 verification that depends on edits to a pre-existing test,
terminates the refactor and re-routes to /ca-feature or /ca-fix.
Files (codearbiter)
-
SKILL.md 2.4 KB
--- name: ca-refactor description: Restructure code with behavioral parity proven through unmodified pre-existing tests, then refactor. No behavior change. argument-hint: "<surface and motivation>" --- # /ca-refactor — behavior-preserving restructure The only permitted entry to refactor work. A refactor that cannot prove parity through unmodified pre-existing tests is a feature change in disguise and routes to `/ca-feature`. Two required parts: the **surface** (exact files, functions, classes, or methods — vague surfaces like "the auth module" are rejected) and the **motivation** (why the restructure is worth doing). ## Flow Routes to the `refactor` skill — six phases: 1. **Surface identification** — lock the exact files, symbols, and public signatures. 2. **Parity coverage proof** — demonstrate pre-existing tests already cover the named surface, with at least one direct test per public method. 3. **Red parity tests (conditional)** — if the refactor exposes a new test seam, route to `tdd` (`<plugin-root>/routines/tdd/SKILL.md`) Phase 1 to write failing tests pinning the seam's contract first. 4. **Implementation** — apply the restructure mechanically within the surface table; no new behavior, branches, error paths, or side effects. 5. **Parity verification** — every impact-bounded local parity test identified for the surface passes with zero edits to any pre-existing test file; the shared `<plugin-root>/includes/verification-boundary.md` reserves the exhaustive suite for exact-head hosted CI before merge. 6. **Lint / coverage gate** — lint, type-check, and coverage clear; surface coverage MUST NOT regress. ## Routes to `refactor` (`<plugin-root>/routines/refactor/SKILL.md`) — all six phases. ## When NOT to use - New behavior — a new branch, error path, side effect, public method beyond a Phase 3 seam, or a change to what any input maps to → `/ca-feature`. - A change motivated by "the current behavior is wrong" → `/ca-fix`. - Questions or discussion → `/ca-btw`. - Persisting an already-completed refactor → `/ca-commit`. ## Hard gate No refactor proceeds without behavioral-parity coverage proof in Phase 2; if the surface is under-covered, the skill halts and routes to `tdd` Phase 1 to backfill before resuming. A Phase 4 diff that would classify as `feat`, or a Phase 5 verification that depends on edits to a pre-existing test, terminates the refactor and re-routes to `/ca-feature` or `/ca-fix`.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.