ralph▌
supercent-io/skills-template · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
$22
ralph (Ouroboros) — Specification-First AI Development
Stop prompting. Start specifying.
"The beginning is the end, and the end is the beginning." The serpent doesn't repeat — it evolves.
When to use this skill
- Before writing any code — expose hidden assumptions with Socratic interviewing
- Long-running tasks that need autonomous iteration until verified
- Vague requirements — crystallize them into an immutable spec (Ambiguity ≤ 0.2)
- Tasks requiring guaranteed completion — loop until verification passes
- When stuck — 5 lateral thinking personas break through stagnation
- Drift detection — measure how far execution has deviated from original spec
Core Architecture: The Loop
Interview → Seed → Execute → Evaluate
↑ ↓
└──── Evolutionary Loop ────┘
Each cycle evolves, not repeats. Evaluation output feeds back as input for the next generation until the system converges.
Double Diamond
◇ Wonder ◇ Design
╱ (diverge) ╱ (diverge)
╱ explore ╱ create
╱ ╱
◆ ──────────── ◆ ──────────── ◆
╲ ╲
╲ define ╲ deliver
╲ (converge) ╲ (converge)
◇ Ontology ◇ Evaluation
The first diamond is Socratic: diverge into questions, converge into ontological clarity. The second diamond is pragmatic: diverge into design options, converge into verified delivery.
1. Commands (Full Reference)
| Command | Trigger Keywords | What It Does |
|---|---|---|
ooo interview |
ooo interview, interview me, clarify requirements, socratic questioning |
Socratic questioning → expose hidden assumptions |
ooo seed |
ooo seed, crystallize, generate seed, freeze requirements |
Crystallize interview into immutable spec (Ambiguity ≤ 0.2) |
ooo run |
ooo run, execute seed, ouroboros run |
Execute via Double Diamond decomposition |
ooo evaluate |
ooo evaluate, 3-stage check, evaluate this, verify execution |
3-stage gate: Mechanical → Semantic → Multi-Model Consensus |
ooo evolve |
ooo evolve, evolutionary loop, iterate until converged |
Evolutionary loop until ontology converges (similarity ≥ 0.95) |
ooo unstuck |
ooo unstuck, I'm stuck, think sideways, lateral thinking |
5 lateral thinking personas when stuck |
ooo status |
ooo status, am I drifting?, drift check, session status |
Drift detection + session tracking |
ooo ralph |
ooo ralph, ralph, don't stop, must complete, keep going |
Persistent loop until verified — The boulder never stops |
ooo setup |
ooo setup |
Register MCP server (one-time) |
ooo help |
ooo help |
Full reference |
2. Interview → Specification Flow
Philosophy: From Wonder to Ontology
Wonder → "How should I live?" → "What IS 'live'?" → Ontology — Socrates
Wonder Ontology
💡 🔬
"What do I want?" → "What IS the thing I want?"
"Build a task CLI" → "What IS a task? What IS priority?"
"Fix the auth bug" → "Is this the root cause, or a symptom?"
Step 1: Interview (expose hidden assumptions)
ooo interview "I want to build a task management CLI"
The Socratic Interviewer asks questions until Ambiguity ≤ 0.2.
Ambiguity formula:
Ambiguity = 1 − Σ(clarityᵢ × weightᵢ)
Greenfield: Goal(40%) + Constraint(30%) + Success(30%)
Brownfield: Goal(35%) + Constraint(25%) + Success(25%) + Context(15%)
Threshold: Ambiguity ≤ 0.2 → ready for Seed
Example scoring:
Goal: 0.9 × 0.4 = 0.36
Constraint: 0.8 × 0.3 = 0.24
Success: 0.7 × 0.3 = 0.21
──────
Clarity = 0.81
Ambiguity = 1 − 0.81 = 0.19 ≤ 0.2 → ✓ Ready for Seed
Step 2: Seed (crystallize into immutable spec)
ooo seed
Generates YAML specification:
goal: Build a CLI task management tool
constraints:
- Python 3.14+
- No external database
- SQLite for persistence
acceptance_criteria:
- Tasks can be created
- Tasks can be listed
- Tasks can be marked complete
ontology_schema:
name: TaskManager
fields:
- name: tasks
type: array
- name: title
type: string
Step 3: Run (execute via Double Diamond)
ooo run seed.yaml
ooo run # uses seed from conversation context
Step 4: Evaluate (3-stage verification)
ooo evaluate <session_id>
| Stage | Cost | What It Checks |
|---|---|---|
| Mechanical | $0 | Lint, build, tests, coverage |
| Semantic | Standard | AC compliance, goal alignment, drift score |
| Consensus | Frontier (optional) | Multi-model vote, majority ratio |
Drift thresholds:
0.0 – 0.15— Excellent: on track0.15 – 0.30— Acceptable: monitor closely0.30+— Exceeded: course correction needed
3. Ralph — Persistent Loop Until Verified
ooo ralph "fix all failing tests"
/ouroboros:ralph "fix all failing tests"
"The boulder never stops." Each failure is data for the next attempt. Only complete success or max iterations stops it.
How Ralph Works
┌─────────────────────────────────┐
│ 1. EXECUTE (parallel) │
│ Independent tasks │
│ concurrent scheduling │
├─────────────────────────────────┤
│ 2. VERIFY │
│ Check completion │
│ Validate tests pass │
│ Measure drift vs seed │
├─────────────────────────────────┤
│ 3. LOOP (if failed) │
│ Analyze failure │
│ Fix identified issues │
│ Repeat from step 1 │
├─────────────────────────────────┤
│ 4. PERSIST (checkpoint) │
│ .omc/state/ralph-state.json │
│ Resume after interruption │
└─────────────────────────────────┘
State File
Create .omc/state/ralph-state.json on start:
{
"mode": "ralph",
"session_id": "<uuid>",
"request": "<user request>",
"status": "running",
"iteration": 0,
"max_iterations": 10,
"last_checkpoint": null,
"verification_history": []
}
Loop Logic
while iteration < max_iterations:
result = execute_parallel(request, context)
verification = verify_result(result, acceptance_criteria)
state.verification_history.append({
"iteration": iteration,
"passed": verification.passed,
"score": verification.score,
"timestamp": <now>
})
if verification.passed:
save_checkpoint("complete")
break
iteration += 1
save_checkpoint("iteration_{iteration}")
Progress Report Format
[Ralph Iteration 1/10]
Executing in parallel...
Verification: FAILED
Score: 0.65
Issues:
- 3 tests still failing
- Type errors in src/api.py
The boulder never stops. Continuing...
[Ralph Iteration 3/10]
Executing in parallel...
Verification: PASSED
Score: 1.0
Ralph COMPLETE
==============
Request: Fix all failing tests
Duration: 8m 32s
Iterations: 3
Verification History:
- Iteration 1: FAILED (0.65)
- Iteration 2: FAILED (0.85)
- Iteration 3: PASSED (1.0)
Cancellation
| Action | Command |
|---|---|
| Save checkpoint & exit | /ouroboros:cancel |
| Force clear all state | /ouroboros:cancel --force |
| Resume after interruption | ooo ralph continue or ralph continue |
4. Evolutionary Loop (Evolve)
ooo evolve "build a task management CLI"
ooo evolve "build a task management CLI" --no-execute # ontology-only, fast mode
Flow
Gen 1: Interview → Seed(O₁) → Execute → Evaluate
Gen 2: Wonder → Reflect → Seed(O₂) → Execute → Evaluate
Gen 3: Wonder → Reflect → Seed(O₃) → Execute → Evaluate
...until ontology converges (similarity ≥ 0.95) or max 30 generations
Convergence Formula
Similarity = 0.5 × name_overlap + 0.3 × type_match + 0.2 × exact_match
Threshold: Similarity ≥ 0.95 → CONVERGED
Gen 1: {Task, Priority, Status}
Gen 2: {Task, Priority, Status, DueDate} → similarity 0.78 → CONTINUE
Gen 3: {Task, Priority, Status, DueDate} → similarity 1.00 → CONVERGED ✓
Stagnation Detection
| Signal | Condition | Meaning |
|---|---|---|
| Stagnation | Similarity ≥ 0.95 for 3 consecutive gens | Ontology has stabilized |
| Oscillation | Gen N ≈ Gen N-2 (period-2 cycle) | Stuck bouncing between two designs |
| Repetitive feedback | ≥ 70% question overlap across 3 gens | Wonder asking the same things |
| Hard cap | 30 generations reached | Safety valve |
Ralph in Evolve Mode
Ralph Cycle 1: evolve_step(lineage, seed) → Gen 1 → action=CONTINUE
Ralph Cycle 2: evolve_step(lineage) → Gen 2 → action=CONTINUE
Ralph Cycle 3: evolve_step(lineage) → Gen 3 → action=CONVERGED ✓
└── Ralph stops.
The ontology has stabilized.
Rewind
ooo evolve --status <lineage_id> # check lineage status
ooo evolve --rewind <lineage_id> <gen_N> # roll back to generation N
5. The Nine Minds (Agents)
Loaded on-demand — never preloaded:
| Agent | Role | Core Question |
|---|---|---|
| Socratic Interviewer | Questions-only. Never builds. | "What are you assuming?" |
| Ontologist | Finds essence, not symptoms | "What IS this, really?" |
| Seed Architect | Crystallizes specs from dialogue | "Is this complete and unambiguous?" |
| Evaluator | 3-stage verification | "Did we build the right thing?" |
| Contrarian | Challenges every assumption | "What if the opposite were true?" |
| Hacker | Finds unconventional paths | "What constraints are actually real?" |
| Simplifier | Removes complexity | "What's the simplest thing that could work?" |
| Researcher | Stops coding, starts investigating | "What evidence do we actually have?" |
| Architect | Identifies structural causes | "If we started over, would we build it this way?" |
6. Unstuck — Lateral Thinking
When blocked after repeated failures, choose a persona:
ooo unstuck # auto-select based on situation
ooo unstuck simplifier # cut scope to MVP — "Start with exactly 2 tables"
ooo unstuck hacker # make it work first, elegance later
ooo unstuck contrarian # challenge all assumptions
ooo unstuck researcher # stop coding, find missing information
ooo unstuck architect # restructure the approach entirely
When to use each:
- Repeated similar failures →
contrarian(challenge assumptions) - Too many options →
simplifier(reduce scope) - Missing information →
researcher(seek data) - Analysis paralysis →
hacker(just make it work) - Structural issues →
architect(redesign)
7. Platform Installation & Usage
Claude Code (Native Plugin — Full Mode)
# Install
claude plugin marketplace add Q00/ouroboros
claude plugin install ouroboros@ouroboros
# One-time setup
ooo setup
# Use
ooo interview "I want to build a task CLI"
ooo seed
ooo run
ooo evaluate <session_id>
ooo ralph "fix all failing tests"
All ooo commands work natively. Hooks auto-activate:
UserPromptSubmit→ keyword-detector.mjs detects triggersPostToolUse(Write|Edit)→ drift-monitor.mjs tracks deviationSessionStart→ session initialization
Claude Code hooks.json (installed at ${CLAUDE_PLUGIN_ROOT}/hooks/hooks.json):
{
"hooks": {
"SessionStart": [How to use ralph on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add ralph
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches ralph from GitHub repository supercent-io/skills-template and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate ralph. Access the skill through slash commands (e.g., /ralph) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.8★★★★★73 reviews- ★★★★★Min Zhang· Dec 28, 2024
We added ralph from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Henry Torres· Dec 24, 2024
Solid pick for teams standardizing on skills: ralph is focused, and the summary matches what you get after install.
- ★★★★★Henry Flores· Dec 24, 2024
Useful defaults in ralph — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Maya Wang· Dec 24, 2024
ralph is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Henry Sanchez· Dec 20, 2024
I recommend ralph for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Ganesh Mohane· Dec 12, 2024
Registry listing for ralph matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Shikha Mishra· Dec 8, 2024
ralph is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Amelia Gupta· Dec 4, 2024
ralph fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Sakura Abebe· Dec 4, 2024
ralph reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Nikhil Liu· Dec 4, 2024
Keeps context tight: ralph is the kind of skill you can hand to a new teammate without a long onboarding doc.
showing 1-10 of 73