From keel
Check the latest CI run's status; on failure, locate the failing job/step, diagnose the root cause, and propose one fix — never auto-apply.
How this command is triggered — by the user, by Claude, or both
Slash command
/keel:ci-check [pr number]This command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# /keel:ci-check ## Live progress — stamp this run (required) So this run shows live on `keel-visual`'s board, record it with `keel activity` **as you go**. This command's phases are: `poll` → `report`. Pick one stable `--run-id` for the whole run (e.g. `ci-check-<issue-or-pr>`): - **Right now, before the work below**, stamp the first phase: `keel activity .keel/project.yaml --root . --write --command ci-check --run-id "$RUN" --phase poll` - Re-run with the next `--phase` (`report`, …) **as you advance** through the flow. - At the end: `keel activity .keel/project.yaml --root . --run-i...
So this run shows live on keel-visual's board, record it with keel activity as you
go. This command's phases are: poll → report. Pick one stable --run-id for the whole run
(e.g. ci-check-<issue-or-pr>):
keel activity .keel/project.yaml --root . --write --command ci-check --run-id "$RUN" --phase poll--phase (report, …) as you advance through the flow.keel activity .keel/project.yaml --root . --run-id "$RUN" --doneTreat this like any other contractual step — do not skip it. The one allowed exception is a
core too old to ship keel activity (keel < 1.6.0): then skip it silently and never block
the command.
Every numbered step in this command is contractual. Complete the step, record the
evidence it asks for, or explicitly mark it N/A — <reason> before moving on. If a step
has an external side effect such as a GitHub comment, issue, review, report, branch, or
PR, the side effect must be posted or written through the selected transport and cited in
the final summary. Never silently skip a step because the runtime, agent, or prompt feels
obvious.
Project-neutral CI status check. Reads .keel/project.yaml (ci_workflows, base_branch)
via the keel CLI — the workflow names and branch are never hardcoded here. It inspects the
latest CI run, and when that run failed it pulls the failing log, reads the offending source,
and proposes exactly one fix. It is read-only: it never edits code, pushes, re-kicks, or
merges.
All user-facing diagnoses MUST be written in English; free-form chat may be in any language.
keel validate .keel/project.yaml --root .
keel plan .keel/project.yaml --root . # read base_branch, ci_workflows
CI status lives behind the host's Actions/checks API, which is reached through gh (or its
MCP equivalent). Detect availability first:
keel ship .keel/project.yaml --root . --pr <N> for the CI
rollup + merge decision, falling back to gh pr checks <N> for per-workflow detail across
the project's ci_workflows.gh nor an MCP checks-read path is reachable in this runtime, exit cleanly
with a single line saying CI data requires the host CLI and is unavailable in this sandbox
(re-run from a local checkout with the CLI installed, or use the host's web UI). Do not
error or partial-run — surfacing nothing here advances nothing.List the most recent runs (a small limit, e.g. the last 3) across the project's
ci_workflows, capturing per run: id, status, conclusion, workflow name, head branch, and
created-at. The newest run is the one under analysis; the prior two give context for "did this
just start failing?".
--log-failed, not the whole
log) for the newest failing run.file:line the tool output carries
where it has one).Print a single green line: CI is green, with the latest run's workflow name, branch, and time.
Route by the Step 2 classification — never merge here:
/keel:flake-audit if it recurs./keel:review-cycle (self-review +
independent reviewers) and re-check; the fix is not "done" until every reviewer is clear of
blockers AND CI is green. Land it through /keel:ship (window + lock + review), never by a
direct merge from here.npx claudepluginhub berkayturanci/keel --plugin keel