legacy-paritylisted
Install: claude install-skill MichaelYcJo/SpecSeal
# legacy-parity — the original is the fallback spec
Extends `implement` and `code-review` when the work is a **migration**: the
same behavior rebuilt on different technology. Active only in projects that
carry a migration config (below); invisible elsewhere.
## Premise
**Preserve the original's behavior.** A migration is not a redesign. "Safer
design" or "more consistent API" is never grounds to diverge. If the original
looks wrong, report that judgment — changing it is the planner's call, not
yours.
## Migration config — `.specseal/parity.md`
A migrating project declares, committed with the repo:
| Field | Example |
|---|---|
| Original repo | org/legacy-api, module `apps/foo` |
| Baseline commit | SHA the evidence ledger's coordinates refer to |
| Policy root | `docs/policies/` |
| Coordinate-trust exceptions | paths whose recorded coordinates need re-verification, and why |
Machine-local checkout paths never go in the repo. They live in
`~/.claude/specseal/parity-paths.md`, keyed by the origin remote URL (so
worktrees and multiple checkouts resolve to one entry). Resolution order:
recorded path → sibling directory of the current repo → verify by
`git remote -v` against the declared original → **ask the user and record the
answer**. Never guess; a comparison against a guessed original proves nothing.
## Three-way judgment
Divergence found between policy, original, and new code:
| Situation | Follow |
|---|---|
| Policy explicitly covers the divergence, and it hold