extend-service-contractlisted
Install: claude install-skill davidleberknight/footbag-platform
# Extend Service Contract
## When to use this skill
Use this skill (not general editing) when a task does any of the following:
- adds, removes, or renames a service method
- changes what a service method accepts (parameters) or returns (shape)
- adds, removes, or changes `db.ts` prepared statements used by a service
- changes which entity fields a service reads or writes
- changes service-level error codes or error semantics (`serviceErrors.ts`)
- moves business rules, authorization checks, or domain invariants in or out of a service
- changes a service's ownership boundary (e.g., what belongs to service A vs. service B)
- changes how a service shapes data for a page view-model
## Step 1: Load authoritative docs before touching code
Read only the section relevant to this task. For large documents, locate the section by heading or keyword before reading. Do not load entire files into context.
1. **The maintainers' private tracker** (`gh issue list -R "$FOOTBAG_PRIVATE_REPO" --state open`; if unwired, note it in one line and proceed with the human's instruction as given): confirm an open issue covers the service change. Note any tracked deviations from target patterns.
2. **`docs/USER_STORIES.md`**: locate the relevant user story by feature name, then read only that story's acceptance criteria.
3. **`docs/DATA_GOVERNANCE.md`**: when the service touches members, historical persons, search, contact fields, exports, stats, auth, or privacy boundaries, read the relevant sect