원클릭으로
ralph-specs
Write specifications optimized for Ralph Loop autonomous agent execution
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Write specifications optimized for Ralph Loop autonomous agent execution
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Research and recommend the best local LLM model stack for the current machine. Detects hardware (CPU, GPU, RAM, VRAM), discovers installed hosting stacks (Ollama, llama.cpp, vLLM, etc.), searches Hugging Face for compatible models, and enables easy downloads. Use when the user wants to find, evaluate, or download local AI models that will run well on their system.
Zellij terminal multiplexer — creating KDL layouts, managing sessions via CLI, and running commands without disrupting the user's workspace
Use when adding a new service to a Nix flake — creating packages from upstream repos (Go, Node, Python), writing service modules, managing configs, wiring secrets, and testing. Covers the full lifecycle from source to running daemon.
Use when a launchd service on nix-darwin fails to start, exits with non-zero status, or doesn't restart after a switch. Triggers on: exit code 78, "EX_CONFIG", "Operation not permitted", daemon vs user.agent decisions, plist not being reloaded.
Use when managing 1Password secrets via Nix on nix-darwin. Triggers on: adding API keys, tokens, or credentials to service configs; wiring opnix 1Password items into home-manager modules; creating opnix-managed secret files with activation script ordering.
Use when tracking, planning, implementing, or reviewing work using yx (yaks) with the autonomous /shave loop, or when multiple agents need to coordinate on shared tasks
| name | ralph-specs |
| description | Write specifications optimized for Ralph Loop autonomous agent execution |
Write Product Requirement Documents (PRDs) optimized for Ralph Loop execution. Ralph runs AI coding agents in autonomous loops until all user stories pass - specs must be unambiguous, atomic, and machine-verifiable.
Each Ralph loop iteration spawns a NEW agent with clean context. The agent only knows:
prd.json (which stories pass/fail)progress.txt learningsAGENTS.md patterns and conventionsImplication: Every story must be self-contained with all needed context.
Stories must complete in a single agent context window (~32K-128K tokens depending on model).
Right-sized stories:
Too large (split these):
Every criterion must be testable without human judgment:
Good criteria:
src/config.ts exports DatabaseConfig type"curl localhost:3000/api/health returns 200"Bad criteria:
Stories execute in priority order. Lower numbers run first.
{ "priority": 1, "title": "Add database schema" }
{ "priority": 2, "title": "Add API endpoint (depends on schema)" }
{ "priority": 3, "title": "Add UI component (depends on API)" }
prd.json{
"project": "ProjectName",
"branchName": "ralph/feature-name",
"description": "One-line feature description",
"userStories": [
{
"id": "US-001",
"title": "Short descriptive title (max 60 chars)",
"description": "As a [role], I want [goal] so that [benefit]",
"acceptanceCriteria": [
"Specific, testable criterion",
"Another testable criterion",
"Typecheck passes"
],
"priority": 1,
"passes": false,
"notes": ""
}
]
}
| Field | Required | Description |
|---|---|---|
project | Yes | Project identifier |
branchName | Yes | Git branch for this work (prefix with ralph/) |
description | Yes | One-line feature summary |
userStories | Yes | Array of user stories |
id | Yes | Unique identifier (US-001, US-002, etc.) |
title | Yes | Short title (max 60 characters) |
description | Yes | User story format: As a [role], I want [goal]... |
acceptanceCriteria | Yes | Array of testable criteria |
priority | Yes | Execution order (1 = first) |
passes | Yes | Start as false, agent sets true when done |
notes | No | Agent adds learnings here |
Start with a clear, bounded feature description:
Break into 3-10 atomic stories. Each story should:
Assign priorities based on dependencies:
For each story, write 2-5 criteria that are:
Always include at least one of:
Typecheck passesAll tests passVerify in browser using dev-browser skill (for UI)"acceptanceCriteria": [
"Migration file exists at db/migrations/NNNN_add_priority.sql",
"Migration runs without errors",
"Schema includes priority column with type VARCHAR(10)",
"Typecheck passes"
]
"acceptanceCriteria": [
"GET /api/tasks returns JSON array",
"Response includes 'priority' field on each task",
"Invalid requests return 400 with error message",
"Typecheck passes",
"API tests pass"
]
"acceptanceCriteria": [
"PriorityBadge component exists at src/components/PriorityBadge.tsx",
"Component accepts 'priority' prop of type 'high' | 'medium' | 'low'",
"Renders colored badge (red=high, yellow=medium, gray=low)",
"Typecheck passes",
"Verify in browser using dev-browser skill"
]
"acceptanceCriteria": [
"Config file updated at path/to/config.nix",
"New option 'services.myapp.priority' added",
"Option has type 'enum [\"high\" \"medium\" \"low\"]'",
"Default value is 'medium'",
"nix flake check passes"
]
Bad: "Implement user authentication" Good: Split into:
Bad: "Feature works correctly" Good: "POST /api/login with valid credentials returns 200 and session token"
Bad: UI story at priority 1, API at priority 3 Good: Schema (1) -> API (2) -> UI (3)
Bad: Only functional criteria Good: Always include "Typecheck passes" or equivalent
See bundled templates:
templates/prd.json - Empty PRD templatetemplates/story-template.md - Story writing guideSee bundled examples:
examples/feature-prd.json - New feature implementationexamples/refactor-prd.json - Code refactoringexamples/nix-config-prd.json - Nix configuration changeUse checklists/story-review.md to verify:
prd-review - Display PRD in human-readable formatverification-before-completion - Run verification commands