Loading...
Loading...
Convert PRDs to prd.json format for the Ralph autonomous agent system. Use when you have an existing PRD and need to convert it to Ralph's JSON format. Triggers on: convert this prd, turn this into ralph format, create prd.json from this, ralph json.
npx skill4agent add harrymunro/ralph-wiggum ralphprd.json{
"project": "[Project Name]",
"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",
"Typecheck passes"
],
"priority": 1,
"passes": false,
"notes": ""
}
]
}| Type | How to Verify | Example Criterion |
|---|---|---|
| Command exit code | Run command, check exit 0 | "Typecheck passes" → |
| File check | Check file exists or has content | "File |
| Grep/content match | Search file for pattern | "Contains 'export default'" → |
| Database query | Query returns expected result | "User table has email column" → |
| Browser automation | Dev-browser skill verifies visually | "Button is visible" → navigate and screenshot |
status| Forbidden Term | Why It Fails |
|---|---|
| "Works correctly" | What does "correctly" mean? No verification command. |
| "Good UX" | Subjective. Cannot be automated. |
| "Handles edge cases" | Which edge cases? Unspecified = unverifiable. |
| "Is performant" | What threshold? No measurable target. |
| "User-friendly" | Subjective opinion, not a testable state. |
| "Clean code" | Style preference, not machine-checkable. |
| "Properly implemented" | Circular definition, no verification method. |
| Vague (FORBIDDEN) | Specific (VERIFIABLE) |
|---|---|
| "Works correctly" | "Returns 200 status code for valid input" |
| "Good UX" | "Form shows inline validation errors within 100ms" |
| "Handles edge cases" | "Returns 400 error when email is empty" |
| "Is performant" | "Query completes in under 100ms for 1000 rows" |
| "User-friendly error messages" | "Error div contains text 'Invalid email format'" |
| "Secure authentication" | "Password is hashed with bcrypt before storage" |
| "Responsive design" | "Component renders at 320px, 768px, and 1024px widths" |
"Typecheck passes""Tests pass""Verify in browser using dev-browser skill"passes: falsenotesralph/"Add user notification system"
# Task Status Feature
Add ability to mark tasks with different statuses.
## Requirements
- Toggle between pending/in-progress/done on task list
- Filter list by status
- Show status badge on each task
- Persist status in database{
"project": "TaskApp",
"branchName": "ralph/task-status",
"description": "Task Status Feature - Track task progress with status indicators",
"userStories": [
{
"id": "US-001",
"title": "Add status field to tasks table",
"description": "As a developer, I need to store task status in the database.",
"acceptanceCriteria": [
"Add status column: 'pending' | 'in_progress' | 'done' (default 'pending')",
"Generate and run migration successfully",
"Typecheck passes"
],
"priority": 1,
"passes": false,
"notes": ""
},
{
"id": "US-002",
"title": "Display status badge on task cards",
"description": "As a user, I want to see task status at a glance.",
"acceptanceCriteria": [
"Each task card shows colored status badge",
"Badge colors: gray=pending, blue=in_progress, green=done",
"Typecheck passes",
"Verify in browser using dev-browser skill"
],
"priority": 2,
"passes": false,
"notes": ""
},
{
"id": "US-003",
"title": "Add status toggle to task list rows",
"description": "As a user, I want to change task status directly from the list.",
"acceptanceCriteria": [
"Each row has status dropdown or toggle",
"Changing status saves immediately",
"UI updates without page refresh",
"Typecheck passes",
"Verify in browser using dev-browser skill"
],
"priority": 3,
"passes": false,
"notes": ""
},
{
"id": "US-004",
"title": "Filter tasks by status",
"description": "As a user, I want to filter the list to see only certain statuses.",
"acceptanceCriteria": [
"Filter dropdown: All | Pending | In Progress | Done",
"Filter persists in URL params",
"Typecheck passes",
"Verify in browser using dev-browser skill"
],
"priority": 4,
"passes": false,
"notes": ""
}
]
}prd.jsonbranchNameprogress.txtarchive/YYYY-MM-DD-feature-name/prd.jsonprogress.txtprogress.txt