with one click
ralph
Convert PRDs to prd.json format for the Ralph autonomous agent system.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Convert PRDs to prd.json format for the Ralph autonomous agent system.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
React Router v7, React Query, and shadcn/ui patterns used in the Rivetr dashboard. Use when writing new frontend components, routes, or API integrations.
Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or creating a PRD.
Test Rivetr REST API endpoints. Use when testing API functionality, debugging webhook issues, or verifying deployments.
SQLite database patterns and SQLx usage in Rivetr. Use when writing database queries, debugging schema issues, or understanding data models.
Debug and understand the Rivetr deployment pipeline. Use when troubleshooting deployment failures, understanding pipeline stages, or working on engine code.
Test Docker and Podman container operations for Rivetr. Use when debugging container builds, testing runtime detection, or troubleshooting deployment issues.
| name | ralph |
| description | Convert PRDs to prd.json format for the Ralph autonomous agent system. |
| disable-model-invocation | true |
| argument-hint | [path to PRD markdown file] |
Converts existing PRDs to the prd.json format that Ralph uses for autonomous execution.
Take a PRD (markdown file or text) and convert it to scripts/ralph/prd.json.
{
"project": "Rivetr",
"branchName": "ralph/[feature-name-kebab-case]",
"description": "[Feature description from PRD title/intro]",
"userStories": [
{
"id": "US-001",
"title": "[Story title]",
"description": "As a [user], I want [feature] so that [benefit]",
"acceptanceCriteria": [
"Criterion 1",
"Criterion 2",
"cargo fmt --check passes",
"cargo clippy passes",
"cargo test passes"
],
"priority": 1,
"passes": false,
"notes": ""
}
]
}
Each story must be completable in ONE Ralph iteration (one context window).
Ralph spawns a fresh Claude Code instance per iteration with no memory of previous work. If a story is too big, the LLM runs out of context before finishing.
Rule of thumb: If you cannot describe the change in 2-3 sentences, it is too big.
Stories execute in priority order. Earlier stories must not depend on later ones.
Correct order:
Wrong order:
Each criterion must be something Ralph can CHECK, not something vague.
status column to apps table with default 'pending'""cargo fmt --check passes",
"cargo clippy passes",
"cargo test passes"
For frontend stories, also include:
"npm run lint passes",
"npm run build passes"
passes: false and empty notesralph/If a PRD has big features, split them:
Original:
"Add deployment notifications"
Split into:
Each is one focused change that can be completed and verified independently.
Before writing a new prd.json, check if there is an existing one from a different feature:
scripts/ralph/prd.json if it existsbranchName differs from the new feature's branch nameprogress.txt has content beyond the header:
scripts/ralph/archive/YYYY-MM-DD-feature-name/prd.json and progress.txt to archiveprogress.txt with fresh headerBefore writing prd.json, verify:
scripts/ralph/prd.json