landlisted
Install: claude install-skill jasonm4130/claude-skills
# Land a plan unattended
A human approved the plan; that approval is the only human gate in this run, and it
happened before you started. After it, every gate is a machine: the check command, the
pull request's CI, the repo's merge command. **You** (the controller) do the preflight,
enumerate the tasks, launch the loop, and write the final report. The loop itself is
`workflows/land.mjs` — control flow as code, so it cannot skip a gate, merge by another
route, or call a task done that GitHub says is open. Per task it runs
`subagent-driven-development`'s workflow as a child for implement → review → fix.
## Invocation
```
/landing-loop:land <plan-path> [--max-tasks N] [--skeptics N] [--dry-run]
```
For a run nobody is watching, from a terminal that stays open:
```sh
claude --permission-mode auto --permission-prompts none -p "/goal Every task in <plan-path> is landed or blocked, shown by the ledger beside it and by gh pr list; stop after 40 turns. Get there with /landing-loop:land <plan-path>"
```
`--permission-prompts none` (v2.1.259+) denies anything that would have prompted instead
of hanging. `/goal` adds a judge that is not you. Without a bound in the condition the run
has no ceiling but the harness's own.
## Preflight — every line must hold, or refuse and list every failure at once
Print each check with its result.
1. **Plan.** Committed on `main` (its own pull request is where the human approved it),
parses into `# Task N` / `## Task N` headings, and its `## Op