evolve-kilin-contractlisted
Install: claude install-skill kilin-space/kilin
# Evolve a Kilin contract
Change a versioned, public, or persisted contract deliberately. Make ownership, compatibility,
failure behavior, and verification explicit before editing code.
## Identify the contract owner
1. Confirm the repository root, branch, working-tree state, and exact requested behavior.
2. Read `AGENTS.md` and `packages/cli/docs/agents/system-design.md`.
3. Locate the current canonical owner:
- workflow authoring: `src/domain/workflow.ts`, `compile-workflow.ts`, and
`src/infrastructure/workflow-v1.schema.json`;
- run lifecycle: `src/domain/run-state.ts` and `src/application/run-events.ts`;
- persisted state: `src/infrastructure/state-schema.ts`, `state-store.ts`, and
`state-record-decoder.ts`;
- CLI surface: `src/cli/arguments.ts`, rendering, and `docs/v1/cli.md`;
- runtime boundary: application runtime ports, infrastructure adapters, and
`docs/v1/runtime.md`;
- Viewer output: `src/ui/contracts.ts` and application Viewer projections;
- package surface: `packages/cli/package.json` and package-artifact checks.
4. Read the matching V1 design, decision, and testing documents completely.
Do not infer the contract from one consumer or one test. Trace every producer, persistence point,
consumer, renderer, and document.
## Produce an impact decision before mutation
Record:
- the old and proposed shapes or behaviors;
- whether the contract is public, persisted, versioned, or internal;
- affected producers and consumers;
- v