agentsclimarketplace

Prd generator

Skill thesyntaxninja/syntaxninja-dojo/skills/prd-generator

Use when a structured PRD document is needed for the ralph loop — generates prd.json and progress.txtFrom its SKILL.md

Install
npx -y skills add thesyntaxninja/syntaxninja-dojo --skill prd-generator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.2 KB, as published. Nobody here has run it

PRD Generator

Quick Reference

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.

When to Use

  • Ralph loop has been approved by the user
  • Stories have been decomposed via story-decomposition
  • Artifacts need to be created in .claude/plugin/ralph/

When NOT to Use

  • Stories haven't been decomposed yet (do that first)
  • User hasn't approved the training loop
  • Task doesn't warrant a ralph loop

Core Process

Step 1: Create Directory Structure

mkdir -p .claude/plugin/ralph/notes

Step 2: Generate prd.json

From 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:

  • Story IDs are sequential integers starting at 1
  • Dependencies reference story IDs
  • verification is a runnable command (exit 0 = pass)
  • passes starts as false for all stories
  • files lists the expected files to create or modify

Step 3: Generate progress.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: ...

Step 4: Verify Artifacts

After generating all files:

  • prd.json is valid JSON
  • All story verification commands are syntactically valid
  • Dependencies form a DAG (no cycles)
  • .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-Patterns

Anti-PatternWhy It's Wrong
Verification commands that always passStories will be marked done without actual work
Missing dependency declarationsStories will fail because prerequisites aren't met
Vague acceptance criteriaThe loop can't determine pass/fail
PROMPT.md without CLAUDE.md referenceIterations won't follow project conventions

Chaining

REQUIRED: syntaxninja-dojo:ralph-loop (after artifacts are generated)

Keep looking

Skills are one crate of 626,194. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.