skills/ralph-json-create-issues/SKILL.md
Converts a PRD or plan markdown file into prd.json format for ralph-json-start-loop to execute autonomously. Use when user wants to convert a PRD or plan to JSON stories.
npx skillsauth add richtabor/agent-skills ralph-json-create-issuesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
testing
Transforms notes into X (Twitter) posts. Triggers when user asks to create social content, draft tweets, or turn notes/ideas into posts.
tools
# WordPress Add Links Find and add internal and external links to a blog post draft, naturally woven into existing sentences. ## Trigger - "find links for this post" - "find internal links" - "add links to this post" - "link this draft" ## Environment Variables - `WORDPRESS_URL` — Blog base URL (e.g. `https://yourblog.com`) - `WORDPRESS_USERNAME` — WordPress account username - `WORDPRESS_APP_PASSWORD` — Application password (not your regular password) ## Process ### Phase 1: Load the Post
development
Writes technical blog posts about features being built. Triggers when user asks to write about development progress, implementations, or project updates.
testing
Reviews and validates agent skills against best practices. Triggers on "review this skill", "check my skill", "validate skill", "is this skill well-written", or when creating/editing skills.