Install
openclaw skills install continuous-dev-loop单-slice 持续开发循环 V4:协议化交接、仓库态续跑、自恢复停机。
openclaw skills install continuous-dev-loopUse when the user wants a code project advanced in repeated, bounded engineering rounds that can be continued by a coding agent or background supervisor without relying on chat memory alone.
Treat one round as exactly:
development -> verification -> optimization -> handoff
Each round must:
NEXT_SLICELOOP_STATE.md, PROGRESS_LOG.md, .claude-orchestrator/current-next.txt, or equivalent, treat it as first-class evidence.Identify the current mainline. Read the last verified repo state, any machine-readable continuation artifact, and the strongest explicit repo evidence.
Choose one slice. Define the smallest meaningful increment that advances the mainline. Refuse implicit multi-slice expansion.
Develop the slice. Make only the changes needed to complete that increment.
Verify the slice. Collect concrete evidence. Minimum required:
Optimize the slice. Tighten local naming, comments, edge handling, or structure only where it improves the completed slice.
Write continuity. Update the repo-native continuation surface when one exists. Examples:
docs/LOOP_STATE.mddocs/PROGRESS_LOG.md.claude-orchestrator/current-next.txtEmit the handoff. End with a human-readable summary plus the required machine-readable footer.
Treat the next slice as a contract, not a suggestion.
Every successful round must produce:
NEXT_SLICELOOP_STATUSVERIFY_BUILDVERIFY_SLICEREPO_STATESTOP_REASONAllowed LOOP_STATUS values:
continueblockedmilestone_reachedneeds_humanrepo_brokenInterpretation:
continue: the supervisor should immediately start the next round from NEXT_SLICEblocked: the round cannot continue automatically until the blocker is addressedmilestone_reached: stop cleanly because the intended checkpoint was hitneeds_human: stop because a human decision or permission is requiredrepo_broken: stop because repository state is not trustworthy enough to continueIf a round does not end in continue, classify the blocker into exactly one bucket:
repo_stateauthtool_hangtest_gapunclear_specexternal_dependencyA blocked round must provide:
RESTART_SLICEWhen a round wobbles, recover in this order:
RESTART_SLICEShrink once means meaningfully reducing scope, not retrying the same broad task with different wording.
If the workflow is intended to run unattended, treat repo hygiene as part of the slice contract.
REPO_STATE.continue handoff when possible.LOOP_STATUS=blocked, LOOP_STATUS=needs_human, or LOOP_STATUS=repo_broken as appropriate.Use the smallest proof that still makes the slice credible.
Continuity should survive process restarts.
Prefer writing the current handoff into repo-native artifacts when the project already has a natural place for it. Good examples include:
Do not create noisy state files if the project already has a clear continuity surface. Reuse the repo's existing state surface when possible.
When the user does not provide a new priority, continue the existing mainline before opening a fresh track.
Example ladder:
Keep this as a priority ladder, not a license to touch multiple items in one round.
Also end each round with this compact summary shape:
Done
Verified
Risks
Next
After the human-readable summary, emit this exact footer shape:
LOOP_STATUS: <continue|blocked|milestone_reached|needs_human|repo_broken>
NEXT_SLICE: <one concrete next slice or none>
VERIFY_BUILD: <exact command or none>
VERIFY_SLICE: <exact command or none>
REPO_STATE: <clean|dirty|broken|unknown>
COMMIT_SHA: <sha-or-none>
BLOCKER_BUCKET: <repo_state|auth|tool_hang|test_gap|unclear_spec|external_dependency|none>
RESTART_SLICE: <one restart slice or none>
STOP_REASON: <reason or none>
Rules for the footer:
NEXT_SLICE must be one concrete slice when LOOP_STATUS=continueNEXT_SLICE may be none only when stopping cleanlyVERIFY_BUILD and VERIFY_SLICE must be exact commands when verification happenedBLOCKER_BUCKET must be none on successful continuationRESTART_SLICE must be populated on blocked roundsSTOP_REASON must be none when LOOP_STATUS=continueNext or NEXT_SLICE.