From rt
Converts PRD/plan Markdown files to prd.json with right-sized stories, cross-PRD dependencies, and verifiable acceptance criteria for Ralph autonomous execution.
npx claudepluginhub richtabor/agent-skills --plugin rtThis skill uses the workspace's default tool permissions.
Convert a Product Requirements Document or plan file into JSON for Ralph.
Converts PRDs to prd.json for Ralph autonomous agent, splitting into small, dependency-ordered user stories with verifiable acceptance criteria.
Validates prd.json schema for Ralph TUI workflows. Ensures required fields like name, userStories array, story id/title in .claude/prd/*.json before editing or reviewing.
Converts PRDs to prd.json format for Claude autonomous agent system. Splits into single-iteration user stories, orders by dependencies, adds verifiable acceptance criteria.
Share bugs, ideas, or general feedback.
Convert a Product Requirements Document or plan file into JSON for Ralph.
Check these locations in order:
.claude/plans/ — Where plan mode saves approved plans. Primary source.plans/ — Project-level plans directory.prds/ — Standalone PRDs not generated from plan mode.If files exist in multiple locations, list all and ask which to convert. If only one file is found, use it directly. If no files are found in any location, ask the user for the path to their PRD/plan file.
Each story MUST complete in ONE Ralph iteration (one context window).
Right-sized:
Too large (must split):
❌ "Build entire auth system"
✅ "Add login form"
✅ "Add email validation"
✅ "Add auth server action"
Stories execute sequentially by priority:
Ralph respects dependsOn to sequence PRDs. Before generating JSON:
prds/*.json to know what features existelevenlabs-integration.md", "Depends on morning brief"dependsOn — Array of PRD names (without .json extension)Examples of dependency detection:
# In evening-ritual.md:
"See `elevenlabs-integration.md` for shared infrastructure"
→ dependsOn: ["elevenlabs-integration"]
"Depends on morning brief feature for regeneration"
→ dependsOn: ["elevenlabs-integration", "morning-brief"]
If no dependencies detected:
"dependsOn": []
Must be explicit and verifiable:
Good:
- Email/password fields present
- Validates email format
- Shows error on invalid input
- Typecheck passes
- Verify at localhost:3000/login
Bad:
- Users can log in (vague)
- Works correctly (vague)
- Good UX (subjective)
Required in every story:
Required for UI stories:
Generate prds/[feature-name].json:
{
"projectName": "Feature Name",
"branchName": "ralph/feature-name",
"description": "Brief description",
"dependsOn": ["other-feature", "another-feature"],
"status": "pending",
"completedAt": null,
"userStories": [
{
"id": "US-001",
"title": "Add login form",
"description": "As a user, I want to see a login form so I can authenticate",
"acceptanceCriteria": [
"Email/password fields present",
"Form submits on enter",
"Typecheck passes",
"Lint passes",
"Verify at localhost:3000/login"
],
"priority": 1,
"passes": false,
"notes": ""
}
]
}
prds/*.json to understand the dependency landscape.claude/plans/, plans/, or prds/auth-flow.md → auth-flow)prds/[feature-name].jsonBefore saving, verify:
dependsOn is populated (empty array if no dependencies)Created prds/[feature-name].json with [N] stories
Dependencies: [list or "none"]
Branch: ralph/[feature-name]
Run: /ralph-json-start-loop