Source index · Technical reference · Home

UNRELEASED DEVELOPMENT SNAPSHOT · READ-ONLY EXCERPT

skills/cycle/SKILL.md

This is the cited technical source at local revision 275a354, inspected on 22 September 2026. It differs from the public release. This reference publishes only the cited sections, not an installable release or the development branch.

Line numbers refer to the complete recorded file. Uncited lines are omitted. Full-file SHA-256: 89167f1cca7d892ff873e8bf61dbea9dc0b2b401415c0a3a75fa4b8b7268f733.

1---
2name: cycle
3layer: foundation
4workflow_root: true
5description: Use to run a real multi-step task through the full SENSE-to-CAPTURE pipeline, or a chosen subset of phases. Supports mode presets, hopping in at any phase, and a cost-estimate gate before BUILD. The default entry point for substantial work.
6color: cyan
7tools: Read, Write, Edit, Bash, Grep, Glob
8voice: internal
9cli_support: [claude-code, codex, copilot]
10necessity: STRONGLY_RECOMMENDED
11gap_if_skipped: "Ad-hoc phase sequencing without cost-estimate gate, founder-approval gate, or compliance gates between REVIEW and SHIP."
12navigation:
13 primary_intent: full feature/cycle work with structured 9-step pipeline
14 triggers:
15 - operator types /li:cycle (cold start)
16 - operator wants the full path with gates between phases
… omitted uncited lines …
117`execution_mode: "swarm"` and a valid `coordination` pointer. BUILD then follows `/li:swarm run`,
118REVIEW applies the integrated close gate, and CAPTURE preserves the evidence. Without both fields,
119CYCLE invokes ordinary sequential BUILD exactly as before. Sequenced/no-subagent hosts consume the
120same artifacts serially and report the actual limitation.
122### Meta-infra mode mechanics
124`meta-infra` is the operator's mode when modifying Lintel itself (scaffolding). Lintel changes ripple across every downstream cycle, so REVIEW + CAPTURE run heavier and four meta-gates activate:
126**M1 — Structure-impact assessment** (in DEFINE)
127Before merging design, write a structure-changes/<date>-<slug>.md entry documenting: what changed, backward-compat, migration path, forward-compat, verification, rollback. Template: `.claude/engineering/evolution/_TEMPLATE.md`.
129**M2 — Compatibility audit** (in REVIEW)
130Run `bin/li-compat-audit` to produce mechanical GREEN/YELLOW/RED sweep across four questions:
1311. Did any frontmatter contract change? (REQUIRED_SKILL_FIELDS, REQUIRED_AGENT_FIELDS)
1322. Were skills/agents/hooks renamed or moved?
1333. Did defaults change for any existing field?
1344. Did any shared helper signature change? (lib/*.sh)
136Output: `.claude/engineering/compat-audits/<date>-<slug>.md`. RED requires explicit override.
138**M3 — Shape-tests** (in REVIEW)
139Run `bash tests/runner/run-all.sh --shape-only`. The 8 shape-tests assert structural invariants (see `tests/shape/_README.md`). Any FAIL blocks SHIP.
141**M4 — Future-operator clarity** (in CAPTURE)
… omitted uncited lines …
394### Step 8 — Cycle complete
396After last phase DONE:
397- Surface cycle summary (per CAPTURE phase output if CAPTURE ran)
398- If CAPTURE didn't run (e.g., custom subset without CAPTURE): write light summary
399- `state_append CYCLE DONE cycle_complete=true` (CAPTURE's own entry covers this when CAPTURE ran)
400- Telemetry — one mechanical line via the unified writer (ts/operator/cycle_id come from the envelope):
402```bash
403source "${LINTEL_SOURCE_ROOT:-$(git rev-parse --show-toplevel)}/bin/_audit.sh"
404audit_log cycle cycle_complete mode=<mode> phases=<n> outcome=<DONE|DONE_WITH_CONCERNS|BLOCKED|ABORTED>
405# → .claude/runtime/audit/cycle.jsonl
406```
408> No `cost_estimate_dollars` field: Lintel has no pricing table, so a dollar figure here would be
409> fabricated (K6). Token actuals for estimator calibration are CAPTURE Step 1b's stream
410> (`granularity.jsonl` — dormant by decision, ADR-0008), not this one.
412## Status protocol
414- **DONE** — all phases in chain DONE, cycle complete
415- **DONE_WITH_CONCERNS** — chain complete but some phases returned WITH_CONCERNS
416- **BLOCKED** — phase BLOCKED, cycle paused, awaiting operator decision
417- **ABORTED** — operator aborted mid-cycle, state saved