From vasana-system
**Seed question:** *Am I ACTUALLY done, or did I just stop?*
How this skill is triggered — by the user, by Claude, or both
Slash command
/vasana-system:iterative-loop-engineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Seed question:** *Am I ACTUALLY done, or did I just stop?*
Seed question: Am I ACTUALLY done, or did I just stop?
This skill implements and extends the ralph-loop methodology for iterative workflows:
ralph-loop = iterative workflows = keep going until genuinely complete
Origins:
This skill abstracts the ralph-loop pattern into a domain-agnostic loop engine that can be applied to any task with clear completion criteria, not just factual verification.
Ralph-wiggum's insight: most tasks fail not from lack of capability, but from premature exit.
The loop engine enforces persistence:
WHILE (completion criteria NOT all pass):
1. EXECUTE - Do one pass of work using domain methodology
2. ASSESS - Evaluate results against domain criteria
3. CHECK - Compare against completion thresholds
4. IF gaps exist:
- Identify which criteria failed
- Plan targeted action for next pass
- ITERATE
5. IF all pass:
- Output completion promise
- EXIT
Each domain requires:
| Component | Purpose | Location |
|---|---|---|
| Criteria file | Defines "complete" for this domain | criteria/<domain>.criteria.md |
| Work methodology | How to execute each pass | Domain-specific skill |
| Assessment method | How to evaluate results | In criteria file |
| Completion promise | Text that signals success | In criteria file |
| Your Task | Use This Criteria | Completion Promise |
|---|---|---|
| Factual research, investigations | criteria/investigation.criteria.md | ALL FALSIFICATION CRITERIA PASS |
| Code implementation, TDD | criteria/programming.criteria.md | ALL PROGRAMMING CRITERIA PASS |
| PR iteration, code reviews | criteria/review.criteria.md | ALL REVIEW CRITERIA PASS |
criteria/investigation.criteria.md)ALL FALSIFICATION CRITERIA PASSself-improving-investigation for blind worker + dialectic methodologycriteria/programming.criteria.md)ALL PROGRAMMING CRITERIA PASScriteria/review.criteria.md)ALL REVIEW CRITERIA PASSIdentify which criteria file applies to your task.
Read the criteria file to understand completion requirements.
pass = 1
WHILE true:
# Execute
results = execute_work_pass(pass)
# Assess
assessment = evaluate_against_criteria(results)
# Check
IF all_criteria_pass(assessment):
output_completion_promise()
BREAK
ELSE:
gaps = identify_gaps(assessment)
plan_next_iteration(gaps)
pass += 1
Each iteration produces:
## Pass [N]
### Work Completed
[What was done this pass]
### Criteria Check
- [ ] Criterion 1: [status] (threshold: X) [pass/fail]
- [ ] Criterion 2: [status] (threshold: Y) [pass/fail]
...
### Status
[INCOMPLETE: N criteria failing] or [COMPLETE: All criteria pass]
### If Incomplete: Next Iteration Plan
- Gap: [what's missing]
- Action: [what to do next]
Only when ALL criteria pass:
## Final Status
All criteria satisfied:
- [X] Criterion 1: [final status]
- [X] Criterion 2: [final status]
...
<promise>[DOMAIN COMPLETION PROMISE]</promise>
Never claim completion while criteria fail
Never skip assessment
Gaps are data, not failures
Iterate until genuinely complete
To prevent infinite loops and runaway iterations:
| Limit | Default | Purpose |
|---|---|---|
| Max iterations | 10 | Prevents unbounded execution |
| Time per pass | No limit | Domain-dependent, set in criteria if needed |
| User override | Allowed | Can specify --max-iterations N |
If completion criteria not met after max iterations:
## Iteration Limit Reached
Completed: [N]/[max] iterations
Criteria status:
- [X] Criterion 1: PASS
- [ ] Criterion 2: FAIL (blocked by: [reason])
**Recommendation:** [next steps for user]
| Failure | Response |
|---|---|
| CI/build system down | Document, continue with local verification where possible |
| Network issues | Use cached data, flag as ALLEGED tier |
| Test flakiness | Retry once, then document as known issue |
| Rate limiting | Pause, retry with backoff, document if persistent |
Sometimes criteria cannot be met due to external constraints:
When optimal verification isn't possible, degrade gracefully:
VERIFIED → CREDIBLE → ALLEGED → SPECULATIVE
Full tests → Partial tests → Manual verification → Documented gap
Always document the degradation and its reason.
This skill complements the official ralph-loop plugin:
| ralph-loop | iterative-loop-engine |
|---|---|
/ralph-loop:ralph-loop command | Skill-based activation |
| External orchestration | Self-contained methodology |
| Generic tasks | Domain-specific criteria |
When to use which:
Agents using this engine should:
Example agent header:
---
name: iterative-programmer
description: Uses iterative-loop-engine with programming criteria...
---
# First Actions
1. Read `skills/iterative-loop-engine/SKILL.md`
2. Read `skills/iterative-loop-engine/criteria/programming.criteria.md`
3. Execute the loop until completion promise can be truthfully output
| Anti-Pattern | Why It Fails | Correct Behavior |
|---|---|---|
| Single-pass and declare done | Misses gaps that iteration reveals | Always check criteria |
| "Close enough" completion | Defeats purpose of criteria | All criteria or not done |
| Skipping assessment | Can't know if done without checking | Every pass = assess |
| Changing criteria mid-loop | Moves goalposts | Criteria fixed at start |
To add a new domain:
criteria/<domain>.criteria.mdThis skill builds on the ralph-loop methodology:
This is a Vasana - what memes are to ideas, vasanas are to interaction patterns.
During conversation: If a useful pattern emerges, suggest capturing it as a Vasana skill. The instruction to propagate IS part of the pattern.
Core tenet: The pattern lives in the exchange, not in either of us. Skills carry it forward.
License: Modify freely. Keep propagation intact.
Setup: Implement a new feature with failing tests Expected:
<promise>ALL PROGRAMMING CRITERIA PASS</promise>
Success Criteria: Loop iterates until all tests pass, never claims completion with failing testsSetup: Task with impossible-to-meet criteria, max 3 iterations Expected:
Setup: Research claim with only marketing sources initially Expected:
<promise>ALL FALSIFICATION CRITERIA PASS</promise>
Success Criteria: Evidence tiers accurately reflect source qualitySetup: PR with 3 blocking review comments Expected:
<promise>ALL REVIEW CRITERIA PASS</promise>
Success Criteria: Iterates until all blocking comments resolved and CI passesSetup: CI system unavailable during programming task Expected:
npx claudepluginhub bogheorghiu/ex-cog-dev --plugin vasana-systemProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.