Skip to content

Claude Code Plugin

Ralph provides a Claude Code plugin with skills to generate and convert PRDs for autonomous execution.

  1. Add the plugin from marketplace

    /plugin marketplace add wiggumdev/ralph
  2. Install the plugin

    /plugin install ralph@ralph-marketplace
  3. Verify installation

    /plugins

    You should see ralph in the list of installed plugins.

SkillDescription
ralph-prdGenerate a new PRD from scratch with guided clarifying questions
ralph-tasksConvert existing PRD documents to Ralph’s prd.json format

Generate a Product Requirements Document from a feature description.

/ralph-prd

Or trigger naturally with phrases like:

  • “create a ralph prd”
  • “write ralph prd for [feature]”
  • “plan this feature with ralph”
  • “ralph requirements for [feature]“
  1. Describe your feature — Tell Claude what you want to build
  2. Answer clarifying questions — Claude asks 3-5 questions with lettered options (respond with “1A, 2C, 3B”)
  3. Review the PRD — Claude generates structured requirements
  4. Save to .plans/prd.json — Ready for Ralph to execute
User: /ralph-prd I want to add user authentication to my app
Claude: I'll help create a PRD for user authentication. A few questions:
1. What authentication method?
A. Email/password only
B. OAuth providers (Google, GitHub)
C. Both email and OAuth
D. Magic link (passwordless)
2. What's the scope?
A. Login/logout only
B. Full auth (login, signup, password reset)
C. Full auth + profile management
D. Other: [specify]
3. Where should auth state live?
A. JWT tokens (stateless)
B. Server sessions
C. Both (hybrid)
User: 1C, 2B, 3A
Claude: [Generates PRD and saves to .plans/prd.json]

Convert an existing PRD document to Ralph’s JSON format.

/ralph-tasks

Or trigger naturally with phrases like:

  • “convert this prd”
  • “turn this into ralph format”
  • “create prd.json from this”
  1. Provide the PRD — Paste markdown or reference a file
  2. Claude converts — Parses requirements into structured JSON
  3. Save to .plans/prd.json — Ready for Ralph to execute
User: /ralph-tasks Convert this PRD:
## User Dashboard
- Show user stats
- Display recent activity
- Allow profile editing
Claude: [Converts to prd.json format with proper acceptance criteria]

Both skills output to .plans/prd.json using this structure:

[
{
"id": "user-auth",
"category": "Authentication",
"title": "User Login",
"description": "Users can log in with email and password",
"passes": false,
"acceptance": [
"Login form validates email format",
"Invalid credentials show error message",
"Successful login redirects to dashboard",
"Verify in browser using dev-browser skill"
],
"priority": "high",
"dependencies": [],
"technicalNotes": "Use bcrypt for password hashing",
"testStrategy": "Unit tests for validation, integration test for auth flow"
}
]
FieldDescription
categoryFeature grouping (e.g., “Authentication”, “API”)
titleConcise feature name
descriptionDetailed behavior description
passesCompletion status (starts false)
acceptanceArray of verifiable criteria
FieldDescription
idUnique identifier for dependencies
prioritycritical, high, medium, low
dependenciesArray of feature IDs that must complete first
technicalNotesImplementation hints
testStrategyTesting guidance
suggestedFilesFiles likely needing changes
outOfScopeExplicit exclusions

For UI features:

"acceptance": [
"Form validates required fields on blur",
"Submit button disabled while loading",
"Success toast appears after save",
"Verify in browser using dev-browser skill"
]

For API features:

"acceptance": [
"Returns 401 for invalid tokens",
"Rate limits to 100 requests/minute",
"Verify with unit tests"
]

Each PRD item should be completable in one Ralph iteration. If a feature is too large, break it into smaller pieces:

// Too big
{ "title": "User Authentication System" }
// Better - split into:
{ "title": "Login Form UI", "id": "auth-login-ui" }
{ "title": "Login API Endpoint", "id": "auth-login-api", "dependencies": ["auth-login-ui"] }
{ "title": "Password Reset Flow", "id": "auth-reset", "dependencies": ["auth-login-api"] }

After generating a PRD:

Terminal window
# Validate the PRD
ralph check
# Start autonomous execution
ralph run

Ralph reads .plans/prd.json and works through each feature, marking passes: true as criteria are met.