seam-change-protocollisted
Install: claude install-skill SeamStressDev/seam-scaffold
# Seam Change Protocol
## What this is
A seam is a boundary where money, authorization, tenant isolation, or deletion cross
between parts of a codebase. Seam bugs are coherence failures: each piece looks correct,
the combination is not. They do not crash. They double charge, they skip one auth check,
they serve one tenant's data to another, and they render as success.
This protocol slows you down at exactly those boundaries and nowhere else. Routine code
gets no friction. Seam code gets four questions.
## Trigger
Before writing ANY change to a seam file:
- A file listed in `.seamstress/seam-map.md`, or
- If no map exists: code that charges, refunds, or transfers money; grants, checks, or
skips authorization; reads or writes data that belongs to a specific user or tenant;
or deletes anything.
The trigger is the file, not the size of the edit. One changed line in a webhook handler
is a seam change. A renamed variable in a payment path is a seam change.
If you are unsure whether a file is a seam, treat it as one. The protocol costs four
questions; guessing wrong the other way costs an incident. Classification doubt IS the
trigger.
## Required behavior, in order
**1. Read before you write.** Read the whole target file, not the region around the edit.
Then read its direct callers and anything it calls across the seam (the route that invokes
it, the webhook that feeds it, the query it builds). Seam bugs live between files. You
cannot see one from inside a single file.