用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/majiayu000/claude-skill-registry --skill ralph-wiggum命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
LLM token logprobs and calibration. Per-decision confidence, ECE, Brier, reliability diagrams, low-confidence triage.
Analyze LLM token logprobs and calibration. Use for per-decision confidence, ECE, Brier scores, reliability diagrams, and low-confidence triage.
回顾最近 N 天的 Claude Code 使用记录——扫描原始会话数据,按主题分组汇总"我都做了什么",并从个人操作系统视角输出模式、风险与增删建议。当用户说 /recap、"看看我这几天做了什么"、"回顾一下我最近的会话"、"这两天我用 claude 干了啥"、"活动回顾" 时使用。
基于 SOC 职业分类
正在显示 SKILL.md
| name | ralph-wiggum |
| category | workflow |
| version | 1.0.0 |
| description | Autonomous task completion loop with PRD tracking and LLM memory |
| author | Matt Pocock / Jeffrey Huntley (adapted for NodeJS Starter V1) |
| priority | 2 |
| auto-load | false |
| triggers | ["ralph","autonomous","loop","prd","overnight"] |
| requires | ["verification/verification-first.skill.md","workflow/feature-development.skill.md"] |
The Ralph Wiggum technique is a simple but powerful pattern for autonomous AI-driven development:
passes booleanNamed after Ralph Wiggum from The Simpsons - simple but effective.
"Me fail English? That's unpossible!" - Ralph Wiggum
{
"project": "My Project",
"version": "1.0.0",
"user_stories": [
{
"id": "US-001",
"epic": "Authentication",
"title": "User can sign up with email",
| Field | Purpose |
|---|---|
passes | Boolean gate - only true after verification |
priority | Execution order: critical > high > medium > low |
depends_on | Task IDs that must pass first |
acceptance_criteria | Specific requirements to implement |
attempt_count | Tracks failed attempts (for debugging) |
Append-only file with session entries:
# Ralph Wiggum Progress Log
# Project: my-project
# Created: 2026-01-07T10:00:00Z
---
## Session 1: 2026-01-07T10:30:00Z
**Task**: US-001 - User can sign up with email
**Status**: IN_PROGRESS
### Work Done
- Created SignUpForm component at apps/web/src/components/auth/SignUpForm.tsx
- Added zod schema for email validation
### Issues Encountered
- useAuth hook missing return type annotation
### Learnings
- Always add explicit return types to custom hooks
- Email regex pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/
### Next Steps
1. Fix useAuth hook return type
2. Add unit tests for SignUpForm
3. Run full verification
---
## Session 2: 2026-01-07T11:00:00Z
**Task**: US-001 - User can sign up with email
**Status**: COMPLETED
### Work Done
- Fixed useAuth return type
- Added comprehensive unit tests
- All verification passed
### Learnings
- Vitest mocking pattern for Supabase auth
### Next Steps
- Move to US-002
ALL must pass before marking passes: true:
pnpm turbo run type-check # TypeScript compilation
pnpm turbo run lint # ESLint + Ruff linting
pnpm turbo run test # Unit tests (Vitest/Pytest)
pnpm turbo run build # Production build
pnpm --filter=web test:e2e # Playwright E2E tests
┌─────────────────────────────────────────┐
│ Start Iteration N │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ All tasks passed? │
│ ├─ Yes → Exit (Project Complete!) │
│ └─ No → Continue │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Find highest priority unpassed task │
│ (respecting depends_on constraints) │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Load context: │
│ - Read prd.json for task details │
│ - Read progress.txt for learnings │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Work on task: │
│ - Implement per acceptance criteria │
│ - Add/update tests │
│ - Follow project conventions │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Run verification pipeline │
│ type-check → lint → test → build → e2e │
└─────────────────┬───────────────────────┘
│
┌─────────┴─────────┐
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ All PASS │ │ Any FAIL │
└───────┬───────┘ └───────┬───────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Set passes: │ │ Increment │
│ true in PRD │ │ attempt_count │
│ │ │ │
│ Git commit │ │ Record issues │
└───────┬───────┘ └───────┬───────┘
│ │
└─────────┬─────────┘
│
▼
┌─────────────────────────────────────────┐
│ Append session to progress.txt │
└─────────────────┬───────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Continue to Iteration N+1 │
└─────────────────────────────────────────┘
# Unix/Mac/WSL
./scripts/ralph.sh --init
# Windows PowerShell
.\scripts\ralph.ps1 -Init
# Creates:
# - plans/prd.json (template)
# - plans/progress.txt (empty)
# - plans/ralph-prompt.md (iteration prompt)
# Unix/Mac/WSL
./scripts/ralph.sh 50 # Max 50 iterations
# Windows PowerShell
.\scripts\ralph.ps1 -MaxIterations 50
# Claude Code command
/ralph run 50
Keep user stories to 1-2 hour scope:
// Good
{ "title": "Add email validation to sign-up form" }
// Too big
{ "title": "Implement entire authentication system" }
Vague criteria lead to incomplete implementations:
// Good
{
"acceptance_criteria": [
"Email format validated with regex",
"Error message shown for invalid email",
"Submit button disabled until valid"
]
}
// Too vague
{
"acceptance_criteria": [
"Form works properly"
]
}
Order tasks logically:
{
"id": "US-002",
"title": "User can log in",
"depends_on": ["US-001"] // Sign-up must work first
}
Check what was learned in previous iterations:
### Learnings
- Vitest mocking pattern for Supabase: vi.mock('@supabase/ssr')
- Always await signUp() before checking error state
Creates checkpoints for recovery:
git log --oneline
# feat(US-003): User can reset password
# feat(US-002): User can log in
# feat(US-001): User can sign up with email
If attempt_count >= 3:
Ralph follows the same patterns as apps/backend/src/agents/long_running/:
| Ralph | Long-Running |
|---|---|
progress.txt | ProgressFile class |
prd.json | FeatureManager |
| Session entries | SessionProgress |
The orchestrator can hand off to Ralph for autonomous completion:
async def handle_large_feature(feature_description: str):
# Create PRD from feature description
prd = generate_prd(feature_description)
save_prd("plans/prd.json", prd)
# Delegate to Ralph
return await delegate_to_agent("ralph-wiggum", {
"prd_path": "plans/prd.json",
"max_iterations": 50
})
Uses the same verification-first principles:
============================================
Ralph Wiggum Technique
Autonomous Task Completion Loop
============================================
>>> Checking prerequisites...
Claude CLI found
PRD file found
All prerequisites OK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Iteration 1: US-001
User can sign up with email
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>>> Invoking Claude Code...
[Claude implements sign-up form]
>>> Running verification pipeline...
Running type check...
Type check: PASS
Running lint...
Lint: PASS
Running tests...
Tests: PASS
Running build...
Build: PASS
Running E2E tests...
E2E: PASS
Verification passed! Marking US-001 as complete.
[Auto-commit: feat(US-001): User can sign up with email]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Iteration 2: US-002
User can log in with email
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
...
============================================
Summary
============================================
Iterations: 5
Tasks Completed: 5
Progress: 5/5 tasks complete
Duration: 00:45:23
All tasks complete! Project finished in 5 iterations.
All implementations follow Australian defaults: