Run the full hands-off engineering pipeline from planning through a green PR.
compound-engineering:ce-plan); others list the bare name. Invoking a short-form guess that isn't in the list will fail — always match a listed entry verbatim before calling the Skill/Task tool.ce-plan skill with $ARGUMENTS.ce-plan workflow produced a plan file in docs/plans/. If no plan file was created, invoke ce-plan again with $ARGUMENTS. Do NOT proceed to step 2 until a written plan exists. Record the plan file path — it will be passed to ce-work in step 2 and ce-code-review in step 4.artifact_contract: ce-unified-plan/v1, proceed only when it has artifact_readiness: implementation-ready and execution: code. Stop the pipeline for artifact_readiness: requirements-only, any unrecognized readiness value, execution: knowledge-work, approach-plan outputs, answer-seeking/universal outputs, or invalid progress-like readiness values. LFG never launches /goal directly; when goal-mode or dynamic workflows are appropriate, ce-work owns that implementation engine choice and must return control to LFG afterward.ce-work skill with mode:return-to-caller <plan-path-from-step-1>.status: complete, the same plan path, changed files, U-IDs attempted/completed when present, verification results, blocker list, behavior-change signal, and standalone_shipping_skipped: true. When behavior_change: true, also require verification_evidence that names the relevant units/tasks, existing tests inspected, tests added/changed or used unchanged, red failure or characterization evidence when applicable, verification run, and any deliberate test exception. Do NOT decide the test strategy inside LFG; the evidence is ce-work's contract.behavior_change: true but verification_evidence is missing or too vague to tell how behavior was protected, invoke ce-work one more time with the same mode:return-to-caller <plan-path-from-step-1> argument. Do not prompt the user and do not alter the plan path argument. The retry relies on ce-work's idempotency path to inspect the already-implemented work, fill the missing evidence, and return without reimplementing. If the second return still lacks coherent verification evidence, stop as blocked and report the missing fields instead of continuing to simplify/review/ship.ce-simplify-code skill on the branch diff.ce-simplify-code resolve the branch-diff scope itself; it preserves behavior and runs the test suite.ce-simplify-code leaves its changes in the working tree; step 4's review scopes the working tree (uncommitted changes included), and step 8's ce-commit-push-pr commits whatever remains. Committing here would sweep any still-uncommitted ce-work edits into a misleading refactor commit and could stall on a tree that never goes clean.ce-code-review skill with mode:agent plan:<plan-path-from-step-1>.mode:agent is report-only by design — it surfaces findings but never edits the tree; LFG applies the eligible ones in step 5. When narrating progress to the user, frame this as "review found X → applied X in step 5," not as "code review did not auto-fix." A report-only review followed by an LFG-applied fix is the intended contract, not a gap.git remote once before the shipping steps. If it lists no remote (e.g. a sandbox/throwaway checkout that has git init but no origin), shipping is local-only: make every commit the steps below call for, but skip every push, PR create/edit, and CI-watch action — the pushes in steps 5 and 6, the push and PR creation in step 8, and step 9 in full. A missing remote is a terminal local-only state, not an error: never retry a push or hunt for a remote — make the local commits and proceed to step 10. Run steps 5–9 normally when a remote exists.references/review-followup.md and execute its apply step (mechanical apply + commit/push when changes exist). Do not proceed to the residual handoff, run browser tests, or output DONE while eligible review fixes remain only in the working tree uncommitted.downstream-resolver findings not applied in step 5; skip when it reported Actionable findings: none.)references/tracker-defer.md in non-interactive mode. Pass the residual actionable findings from step 4/5 (or the run artifact when the summary was truncated).{ filed: [...], failed: [...], no_sink: [...] }.## Residual Review Findings markdown section from the structured return:filed: a bullet with severity, file:line, title, and a link to the tracker ticket URL.failed: a bullet with severity, file:line, title, and the failure reason (e.g., Defer failed: gh returned 401 — tracker unavailable).no_sink: a bullet with severity, file:line, and title inlined verbatim so the PR body or fallback file is the durable record.gh pr view --json number,url,body,state
gh; do not load any confirmation-driven PR update skill. Append or replace the ## Residual Review Findings section in the current PR body, write the new body to an OS temp file, then run:gh pr edit PR_NUMBER --body-file BODY_FILE
docs/residual-review-findings/<branch-or-head-sha>.md containing the composed section and the source PR-review run context. Stage only that file, commit it with docs(review): record residual review findings, and push the current branch when a remote is configured (per the shipping precondition). If an upstream exists, run git push. If no upstream exists but a remote is configured, resolve a writable remote dynamically: prefer origin when present, otherwise use git remote and choose the first configured remote. Then run git push --set-upstream <remote> HEAD. If there is no remote at all, do not push — the committed fallback file is the durable sink. This is the durable no-PR sink. Do not output DONE until the residual findings are durable: either the existing PR body has been updated, or this fallback file commit has been made (pushed when a remote exists, committed locally when none). A push that fails when a remote exists is a stop-and-report; never retry a push, or block DONE, when no remote exists.no_sink outcome is success only when the findings are present in the PR body or in the pushed fallback file.ce-test-browser skill with mode:pipeline.ce-commit-push-pr skill with mode:pipeline.New concepts: trailer after the PR URL, record the concept name(s) for step 10. If step 6 already opened a PR (check with gh pr view --json number,url,state 2>/dev/null), skip PR creation but still commit and push any uncommitted changes. Per the shipping precondition, when no remote is configured, do NOT invoke ce-commit-push-pr — its commit step pushes unconditionally (git push -u origin HEAD), so a literal invocation would still hit the impossible push. Instead commit any remaining changes locally yourself (git add -A && git commit) and skip the push and PR creation entirely.gh is unavailable, skip this step entirely and proceed to step 10.gh pr view --json number,url,state
gh pr checks --watch
gh pr checks --json name,state,conclusion,workflow,link to enumerate failures, then for each failing check read the run logs:gh run view <run-id> --log-failed
<run-id> is parsed from the check's details URL or workflow run.git add <changed-files>
git commit -m "fix(ci): <one-line summary of the failure repaired>"
git push
## CI Failures Unresolved markdown section listing each remaining failing check, the failure summary, and the run/check URL.gh pr edit PR_NUMBER --body-file BODY_FILE
<promise>DONE</promise> when completeNew concepts: trailer, first echo one line per concept: New concept introduced: <name> — run /ce-explain <name> to go deeper. Then output the DONE promise.