looplisted
Install: claude install-skill mthanhlm/cgel-plugin
# CGEL loop
Work inside a sealed task proceeds in small, evidence-checked iterations.
The control layer counts everything; your job is to make each iteration a
real experiment — and to spend roundtrips on work, not ceremony. When more
than one task is open, add `--task <id>` to every command below and only
ever decide the task this session owns.
## The cycle
1. **INVESTIGATE** — read enough to form a hypothesis about what to change
and why it will meet a criterion. For broad reading in big codebases,
use the read-only `cgel:explorer` subagent instead of flooding context.
2. **PLAN ITERATION** — open it explicitly:
`cgel iterate open --hypothesis "H-1: ..." --change "smallest change that tests it" --expect unit-tests`
(`--change` = `--intended-change`, `--expect` = `--expected-checks`.)
Always declare `--expect`: an iteration that claims nothing cannot
ADVANCE. The first open moves the task SEALED → ACTIVE. You cannot open
a second iteration while one is undecided.
3. **CHANGE** — edit inside `scope.allowed` only. Mechanical bulk edits can
go to the `cgel:worker` subagent with an exact spec; decisions stay
here. Build to the production bar, especially in a messy codebase:
reuse existing helpers instead of duplicating them, fix the root cause
instead of papering over it (CGEL-ROOT-1 BLOCKS), catch the null-check
and edge case in your own diff (CGEL-CORRECT-1 BLOCKS), and update every
caller/test/doc the change touches (CGEL-IMPACT-1 BLO