Converts PRDs to beads (epic + child tasks) for ralph-tui autonomous execution. > **Note:** This skill is bundled with ralph-tui's Beads tracker plugin. Future tracker plugins (Linear, GitHub Issues, etc.) will bundle their own task creation skills. * * *
Note: This skill is bundled with ralph-tui's Beads tracker plugin. Future tracker plugins (Linear, GitHub Issues, etc.) will bundle their own task creation skills.
.beads/beads.jsonl:ralph-tui run --tracker beads## Quality Gates These commands must pass for every user story: - `pnpm typecheck` - Type checking - `pnpm lint` - Linting For UI stories, also include: - Verify in browser using dev-browser skill
pnpm typecheck)npm run typecheck.bd create command with HEREDOC syntax to safely handle special characters:# Create epic (link back to source PRD) bd create --type=epic \ --title="[Feature Name]" \ --description="$(cat <<'EOF' [Feature description from PRD] EOF )" \ --external-ref="prd:./tasks/feature-name-prd.md" # Create child bead (with quality gates in acceptance criteria) bd create \ --parent=EPIC_ID \ --title="[Story Title]" \ --description="$(cat <<'EOF' [Story description with acceptance criteria INCLUDING quality gates] EOF )" \ --priority=[1-4]
CRITICAL: Always use<<'EOF'(single-quoted) for the HEREDOC delimiter. This prevents shell interpretation of backticks,$variables, and()in descriptions.
bd dep addbd dep add command to specify which beads must complete first:# Create the beads first bd create --parent=epic-123 --title="US-001: Add schema" ... bd create --parent=epic-123 --title="US-002: Create API" ... bd create --parent=epic-123 --title="US-003: Build UI" ... # Then add dependencies (issue depends-on blocker) bd dep add ralph-tui-002 ralph-tui-001 # US-002 depends on US-001 bd dep add ralph-tui-003 ralph-tui-002 # US-003 depends on US-002
bd dep add <issue> <depends-on> — the issue depends on (is blocked by) depends-on.investorType column to investor table with default 'cold'"status: "open""Add friends outreach track with different messaging"
# PRD: Friends Outreach Add ability to mark investors as "friends" for warm outreach. ## Quality Gates These commands must pass for every user story: - `pnpm typecheck` - Type checking - `pnpm lint` - Linting For UI stories, also include: - Verify in browser using dev-browser skill ## User Stories ### US-001: Add investorType field to investor table **Description:** As a developer, I need to categorize investors as 'cold' or 'friend'. **Acceptance Criteria:** - [ ] Add investorType column: 'cold' | 'friend' (default 'cold') - [ ] Generate and run migration successfully ### US-002: Add type toggle to investor list rows **Description:** As Ryan, I want to toggle investor type directly from the list. **Acceptance Criteria:** - [ ] Each row has Cold | Friend toggle - [ ] Switching shows confirmation dialog - [ ] On confirm: updates type in database ### US-003: Filter investors by type **Description:** As Ryan, I want to filter the list to see just friends or cold. **Acceptance Criteria:** - [ ] Filter dropdown: All | Cold | Friend - [ ] Filter persists in URL params `**Output beads:**` # Create epic (link back to source PRD) bd create --type=epic \ --title="Friends Outreach Track" \ --description="$(cat <<'EOF' Warm outreach for deck feedback EOF )" \ --external-ref="prd:./tasks/friends-outreach-prd.md" # US-001: No deps (first - creates schema) bd create --parent=ralph-tui-abc \ --title="US-001: Add investorType field to investor table" \ --description="$(cat <<'EOF' As a developer, I need to categorize investors as 'cold' or 'friend'. ## Acceptance Criteria - [ ] Add investorType column: 'cold' | 'friend' (default 'cold') - [ ] Generate and run migration successfully - [ ] pnpm typecheck passes - [ ] pnpm lint passes EOF )" \ --priority=1 # US-002: UI story (gets browser verification too) bd create --parent=ralph-tui-abc \ --title="US-002: Add type toggle to investor list rows" \ --description="$(cat <<'EOF' As Ryan, I want to toggle investor type directly from the list. ## Acceptance Criteria - [ ] Each row has Cold | Friend toggle - [ ] Switching shows confirmation dialog - [ ] On confirm: updates type in database - [ ] pnpm typecheck passes - [ ] pnpm lint passes - [ ] Verify in browser using dev-browser skill EOF )" \ --priority=2 # Add dependency: US-002 depends on US-001 bd dep add ralph-tui-002 ralph-tui-001 # US-003: UI story bd create --parent=ralph-tui-abc \ --title="US-003: Filter investors by type" \ --description="$(cat <<'EOF' As Ryan, I want to filter the list to see just friends or cold. ## Acceptance Criteria - [ ] Filter dropdown: All | Cold | Friend - [ ] Filter persists in URL params - [ ] pnpm typecheck passes - [ ] pnpm lint passes - [ ] Verify in browser using dev-browser skill EOF )" \ --priority=3 # Add dependency: US-003 depends on US-002 bd dep add ralph-tui-003 ralph-tui-002
.beads/beads.jsonl# Work on a specific epic ralph-tui run --tracker beads --epic ralph-tui-abc # Or let it pick the best task automatically ralph-tui run --tracker beads
<promise>COMPLETE</promise> when epic is donebd dep add after creating beads