بنقرة واحدة
prd-generator
Use when a structured PRD document is needed for the ralph loop — generates prd.json and progress.txt
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when a structured PRD document is needed for the ralph loop — generates prd.json and progress.txt
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when task scope exceeds one context window and decomposes into independent pass/fail stories with clean iteration boundaries
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work — merge, PR, or cleanup
Use when starting feature work that needs isolation from the current workspace or before executing plans that could leave the branch in a broken state
Use when a hard problem was just solved and the solution should be captured as a learning for future reference
Use when 3+ distinct occurrences suggest a skill should be updated with a new trigger, anti-pattern, or verification step
Use when creating a new skill or pattern for the dojo — guides the SKILL.md and PATTERN.md format, CSO lint rules, and index registration
| name | prd-generator |
| description | Use when a structured PRD document is needed for the ralph loop — generates prd.json and progress.txt |
| tags | ["process","planning","autonomous"] |
| triggers | ["generate PRD","ralph loop setup","training loop artifacts","create prd.json"] |
| chains_to | ["ralph-loop"] |
| priority | core |
| gate | false |
Generate the structured artifacts that drive the ralph loop: prd.json and progress.txt. The loop prompt lives in .claude/ralph-loop.local.md (written by the ralph-loop skill), not in a separate PROMPT.md file.
story-decomposition.claude/plugin/ralph/mkdir -p .claude/plugin/ralph/notes
prd.jsonFrom the decomposed stories, create:
{
"title": "Feature Name",
"goal": "One-sentence goal from the plan",
"created": "2026-03-04T00:00:00Z",
"stories": [
{
"id": 1,
"title": "Story title",
"goal": "What this delivers",
"dependencies": [],
"files": ["src/auth/store.ts", "src/auth/types.ts"],
"acceptance": [
"AuthStore exports useAuthStore hook",
"Login mutation updates user state",
"Tests pass: npm test -- auth/store"
],
"verification": "npm test -- --grep 'AuthStore'",
"passes": false
}
],
"totalStories": 5,
"completedStories": 0
}
Rules:
verification is a runnable command (exit 0 = pass)passes starts as false for all storiesfiles lists the expected files to create or modifyprogress.txt=== Training Loop: Feature Name ===
Goal: One-sentence goal
Stories: 0/5 complete
Started: 2026-03-04
[ ] Story 1: Title
Files: src/auth/store.ts, src/auth/types.ts
Verify: npm test -- --grep 'AuthStore'
[ ] Story 2: Title
Files: ...
Verify: ...
After generating all files:
prd.json is valid JSON.claude/plugin/ralph/ directory exists with prd.json, progress.txt, and notes/Note: PROMPT.md and status.json are no longer generated. The loop prompt lives in
.claude/ralph-loop.local.md (created by the ralph-loop skill when it activates the
Stop hook). Completion is detected by the Stop hook reading prd.json directly.
| Anti-Pattern | Why It's Wrong |
|---|---|
| Verification commands that always pass | Stories will be marked done without actual work |
| Missing dependency declarations | Stories will fail because prerequisites aren't met |
| Vague acceptance criteria | The loop can't determine pass/fail |
| PROMPT.md without CLAUDE.md reference | Iterations won't follow project conventions |
REQUIRED: syntaxninja-dojo:ralph-loop (after artifacts are generated)