loop-until-done
Skill4 starsChanged 6 months agoApache-2.0View on GitHub
The single loop skill for ALL recurring and drive-to-completion work. Subsumes the built-in loop (periodic polling), ralph (iterative completion with verification), and loop-until-done (PRD-driven execution). Durable Temporal-backed — survives session crashes. Trigger phrases include "loop", "loop until done", "keep trying", "fix until", "until X passes", "check every N minutes", "keep checking", "poll for", "don't stop until", "ralph", "persist until done", "sagaflow loop", "durable loop".
In this repository57 other files it gives its agents.
- autopilotSkill
- build-python-librarySkill
- build-temporalSkill
- canon-design-reviewSkill
- canon-pr-reviewSkill
- canon-reviewSkill
- ccr-modelsSkill
- ccr-runSkill
- chartSkill
- ci-health-reportSkill
- code-quality-trendsSkill
- competitive-matrixSkill
- councilSkill
- create-skillSkill
- deep-debug-ensemble-v1Skill
- deep-debugSkill
- deep-designSkill
- deep-ideaSkill
- deep-planSkill
- deep-qa-ensemble-v1Skill
- deep-qaSkill
- deep-researchSkill
- dependency-auditSkill
- deploy-status-reportSkill
- develop-board-gameSkill
- diagramSkill
- docxSkill
- dora-lite-reportSkill
- find-skillSkill
- flaky-test-diagnoserSkill
- gap-finderSkill
- gen-crash-testSkill
- gen-smokeSkill
- goal-managerSkill
- init-github-repoSkill
- magic-fetchSkill
- ml-pipeline-reportSkill
- monitorSkill
- napSkill
- pipeline-health-reportSkill
- platform-friction-detectorSkill
- pptxSkill
- prod-readinessSkill
- prompt-clash-ensembleSkill
- prompt-clashSkill
- retrospectSkill
- slack-digestSkill
- slidesSkill
- specSkill
- sprint-retroSkill
- tableSkill
- team-temporalSkill
- timelineSkill
- update-stop-gateSkill
- user-activity-reportSkill
- vc-gauntletSkill
- xlsxSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 42
When --poll <interval> is present, skip PRD generation and run the task as a recurring check.
- Very specific: line 49
Run sagaflow doctor to verify worker is running
- Distinctive: line 50
If healthy → launch via sagaflow (fire-and-forget, durable)
- Distinctive: line 51
If worker unavailable → fall back to in-session ralph-style loop (degraded, not crash-safe)
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
loop-until-done
The canonical loop skill. Two modes, one entry point:
Mode 1: Drive-to-completion (default)
PRD-driven execution — breaks work into stories with acceptance criteria, iterates story-by-story with independent verification, terminates only when every criterion has fresh passing evidence.
Phases:
- PRD planner — generates stories with testable acceptance criteria
- Falsifiability judge — marks each criterion pass/fail for falsifiability
- Executor — completes each story, runs verification
- Verifier — per-criterion evidence check
- Reviewer — final verdict with configurable reviewer (--critic)
From ralph: session persistence, structured story tracking (prd.json), progress tracking across iterations, reviewer verification before completion.
From autopilot: autopilot should invoke this skill for its Phase 3 verify loop rather than implementing its own.
Mode 2: Periodic polling (--poll)
Recurring check on a schedule — fires the same probe on an interval, stops when a condition is met or the user cancels.
From built-in loop: ScheduleWakeup-based recurring execution, CronCreate for fixed intervals, Monitor for event-driven waking.
When --poll <interval> is present, skip PRD generation and run the task as a recurring check.
Execution routing (sagaflow-first)
This skill runs on sagaflow's Temporal backend by default. The workflow is in workflow.py in this directory. Sagaflow provides durable execution, heartbeat monitoring, and crash recovery.
Routing sequence:
- Run
sagaflow doctorto verify worker is running - If healthy → launch via sagaflow (fire-and-forget, durable)
- If worker unavailable → fall back to in-session ralph-style loop (degraded, not crash-safe)
Engineering gaps (TODO)
These features exist in ralph but aren't yet in the temporal workflow:
- Periodic polling mode — workflow.py only handles drive-to-completion; needs a poll-mode branch that uses Temporal timers instead of ScheduleWakeup
- Reviewer selection — workflow.py hardcodes Sonnet reviewer; needs --critic flag routing to architect/critic/codex
- Deslop pass — post-review cleanup pass from ralph not yet in temporal workflow
- Ultrawork integration — parallel fan-out for independent stories not yet wired
- Progress.txt tracking — ralph's cross-iteration learning file not yet in temporal state
Until these gaps are closed, the in-session fallback uses ralph's implementation. The temporal workflow handles the core PRD→verify loop.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

