stage-watch-cilisted
Install: claude install-skill m4ttstack/skills
# stage: watch-ci
{{stage.fields}}
## Run state
Contracts v2 and v3 (authoritative text: the parameterized-skills skill's convention reference).
- First action: `rt runs stage-start --stage watch-ci`
- Read consumed fields with `rt runs field get <key>` before
deriving or asking for them.
- Write each declared produce the moment it exists:
`rt runs field set <key> <value> --stage watch-ci`
- Last action on success: `rt runs stage-done --stage watch-ci`;
on failure: `rt runs stage-fail --stage watch-ci --reason
"<what actually failed>" --detail-path <path to the triage report>`
before you report it.
## Where the scripts live
The engine's watcher, triage, and attendant scripts are vendored inside
this compiled skill's own directory, and the forge adapter beside them. In
the commands below, `<scripts>` is `{{stage.dir}}/scripts/` and `<forge>` is
`{{stage.dir}}/parts/forge/scripts/ci-forge.sh`. Nothing is derived from a
plugin install; the paths are the ones written into this text.
## Domain rules
{{slot:domain}}
When nothing is inlined above, follow the generic path below.
## Forge
{{slot:forge}}
## The attendant lease (before any watching, when `mr` is set)
Exactly one actor attends an MR's CI at a time: this stage, or the
mr-board auto-doctor. Both honor the same lease files
(`~/.mattstack/ci-attendants/`), and the doctor's dispatcher skips MRs
you hold. Claim before doing anything else:
`"${CLAUDE_SKILL_DIR}/scripts/ci-attendant.sh" claim <mr-url> <ii