From vasana-system
**Seed question:** *Am I ACTUALLY done, or did I just stop?*
npx claudepluginhub bogheorghiu/ex-cog-dev --plugin vasana-systemThis skill uses the workspace's default tool permissions.
**Seed question:** *Am I ACTUALLY done, or did I just stop?*
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Share bugs, ideas, or general feedback.
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: