Self-improving review loop for Ralph Wiggum skills. Reviews skills against best practices, implements improvements, and continues until two consecutive clean reviews. Use when validating or improving the ralph-prompt-* skill suite.
57
66%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.claude/skills/ralph-skill-review-loop/SKILL.mdThe canonical home for this skill is ralph-skill-review-loop in fernandezbaptiste/Skrillz
A meta-skill that uses the Ralph Wiggum technique to review and improve the Ralph Wiggum prompt generator skills themselves. Runs a continuous improvement loop until skills pass review twice consecutively with no recommendations.
Copy and run this prompt in a Ralph loop:
/ralph-wiggum:ralph-loop "[paste prompt below]" --completion-promise "RALPH_SKILLS_PERFECTED" --max-iterations 100# Task: Self-Improving Review of Ralph Wiggum Skills
## Objective
Review and improve the Ralph Wiggum prompt generator skills until they pass two consecutive reviews with zero improvement recommendations.
## Target Skills
1. ralph-prompt-builder (Master orchestrator)
2. ralph-prompt-single-task (Single task generator)
3. ralph-prompt-multi-task (Multi-task generator)
4. ralph-prompt-project (Project generator)
5. ralph-prompt-research (Research generator)
Location: .claude/skills/ralph-prompt-*/SKILL.md
## Reference Materials
- RALPH-WIGGUM-TECHNIQUE-COMPREHENSIVE-RESEARCH.md (12,000+ words of best practices)
- skill-builder-package/research/ (skill building best practices)
- skill-builder-package/examples/ (production skill patterns)
---
## STATE MANAGEMENT
### Required State Files
Create these files to track progress:
**RALPH_REVIEW_STATE.json**:
```json
{
"current_iteration": 1,
"consecutive_clean_reviews": 0,
"skills_reviewed": [],
"improvements_made": [],
"last_review_timestamp": "",
"status": "IN_PROGRESS"
}RALPH_REVIEW_LOG.md:
# Ralph Skills Review Log
## Iteration History
[Append each iteration's findings here]Read current state:
cat RALPH_REVIEW_STATE.json
cat RALPH_REVIEW_LOG.md | tail -50
git log --oneline -5
ls -la .claude/skills/ralph-prompt-*/Check: How many consecutive clean reviews do we have?
For EACH skill in ralph-prompt-*, evaluate against:
For each skill:
Create/update REVIEW_FINDINGS.md:
# Review Findings - Iteration [N]
## Summary
- Skills reviewed: [count]
- Total issues found: [count]
- Critical issues: [count]
- Improvements needed: [count]
## ralph-prompt-builder
### Passing
- [x] Criterion that passes
### Issues Found
- [ ] [CRITICAL/HIGH/MEDIUM/LOW] Issue description
- Location: [section/line]
- Current: [what exists]
- Should be: [what it should be]
- Fix: [specific fix]
## ralph-prompt-single-task
[... same format]
## ralph-prompt-multi-task
[... same format]
## ralph-prompt-project
[... same format]
## ralph-prompt-research
[... same format]
## Recommendations Summary
### Must Fix (Critical/High)
1. [Recommendation 1]
2. [Recommendation 2]
### Should Fix (Medium)
1. [Recommendation 3]
### Nice to Have (Low)
1. [Recommendation 4]
## Review Result
- [ ] CLEAN (zero recommendations)
- [ ] NEEDS_WORK (has recommendations)If REVIEW_FINDINGS.md shows NEEDS_WORK:
Work in this order:
For each recommendation:
git add .claude/skills/ralph-prompt-[name]/SKILL.md
git commit -m "Improve ralph-prompt-[name]: [brief description]
- [Change 1]
- [Change 2]
Part of Ralph skills self-improvement loop iteration [N]"Update RALPH_REVIEW_STATE.json:
{
"improvements_made": [
{
"iteration": N,
"skill": "ralph-prompt-X",
"issue": "description",
"fix": "what was done"
}
]
}After implementing fixes:
For each modified skill:
# Verify YAML frontmatter
for f in .claude/skills/ralph-prompt-*/SKILL.md; do
head -20 "$f" | grep -E "^(name:|description:)"
doneUpdate RALPH_REVIEW_STATE.json:
If review was CLEAN (zero recommendations):
{
"consecutive_clean_reviews": [previous + 1],
"last_review_result": "CLEAN",
"last_review_timestamp": "[timestamp]"
}If review was NEEDS_WORK:
{
"consecutive_clean_reviews": 0,
"last_review_result": "NEEDS_WORK",
"improvements_this_iteration": [count],
"last_review_timestamp": "[timestamp]"
}Update RALPH_REVIEW_LOG.md:
## Iteration [N] - [timestamp]
### Review Result
[CLEAN/NEEDS_WORK]
### Issues Found
- [Issue 1]
- [Issue 2]
### Fixes Applied
- [Fix 1]
- [Fix 2]
### State After
- Consecutive clean reviews: [N]
- Total improvements to date: [N]Read RALPH_REVIEW_STATE.json:
cat RALPH_REVIEW_STATE.json | jq '.consecutive_clean_reviews'Skills have passed two consecutive reviews with zero recommendations.
Create RALPH_SKILLS_VALIDATION_COMPLETE.md:
# Ralph Skills Validation Complete
## Summary
- Total iterations: [N]
- Total improvements made: [count]
- Final state: All skills validated
## Skills Validated
1. ralph-prompt-builder - PASSED
2. ralph-prompt-single-task - PASSED
3. ralph-prompt-multi-task - PASSED
4. ralph-prompt-project - PASSED
5. ralph-prompt-research - PASSED
## Validation Criteria Met
All 16 review criteria passing for all 5 skills.
## Timestamp
[ISO timestamp]Output: RALPH_SKILLS_PERFECTED
Continue to next iteration (loop back to STEP 1)
If stuck after 50 iterations without reaching 2 consecutive clean reviews:
Every 5 iterations, summarize:
PROGRESS SUMMARY - Iteration [N]
================================
Started: [timestamp]
Current: [timestamp]
Consecutive clean reviews: [N]/2
Skills Status:
- ralph-prompt-builder: [X/16 criteria passing]
- ralph-prompt-single-task: [X/16 criteria passing]
- ralph-prompt-multi-task: [X/16 criteria passing]
- ralph-prompt-project: [X/16 criteria passing]
- ralph-prompt-research: [X/16 criteria passing]
Improvements made: [total count]
Remaining issues: [count]Output RALPH_SKILLS_PERFECTED ONLY when:
---
## Usage Instructions
### 1. Initialize State Files
Before running, create the initial state:
```bash
# Create state file
cat > RALPH_REVIEW_STATE.json << 'EOF'
{
"current_iteration": 0,
"consecutive_clean_reviews": 0,
"skills_reviewed": [],
"improvements_made": [],
"last_review_timestamp": "",
"status": "NOT_STARTED"
}
EOF
# Create log file
cat > RALPH_REVIEW_LOG.md << 'EOF'
# Ralph Skills Review Log
## Overview
Self-improving review loop for Ralph Wiggum prompt generator skills.
## Target: Two consecutive clean reviews
---
## Iteration History
EOF/ralph-wiggum:ralph-loop "[THE PROMPT ABOVE]" \
--completion-promise "RALPH_SKILLS_PERFECTED" \
--max-iterations 100# Check current state
cat RALPH_REVIEW_STATE.json | jq '.'
# See recent activity
tail -30 RALPH_REVIEW_LOG.md
# Check how many clean reviews
cat RALPH_REVIEW_STATE.json | jq '.consecutive_clean_reviews'Review the outputs:
RALPH_REVIEW_STATE.json - Final stateRALPH_REVIEW_LOG.md - Complete historyREVIEW_FINDINGS.md - Last review detailsRALPH_SKILLS_VALIDATION_COMPLETE.md - Success certificateIteration 1-5: Discovery phase
Iteration 6-15: Improvement phase
Iteration 16-25: Stabilization phase
Iteration 26-40: Validation phase
Add more criteria to the review framework.
Reduce to "one clean review" by changing:
consecutive_clean_reviews >= 1Modify the target skills list in the prompt.
93ed392
Canonical home
since Sep 12, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.