Converts PRDs to beads (epic + child tasks) for ralph-tui autonomous execution using **beads-rust** (`br` CLI). > **Note:** This skill uses the `br` command from beads-rust. If you have the original beads (`bd`) installed instead, use the `ralph-tui-create-beads` skill. * * *
br CLI).Note: This skill uses thebrcommand from beads-rust. If you have the original beads (bd) installed instead, use theralph-tui-create-beadsskill.
br commands:ralph-tui run --tracker beads-rust## 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.br create command with HEREDOC syntax to safely handle special characters:# Create epic (link back to source PRD) br 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) br 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.
br dep addbr dep add command to specify which beads must complete first:# Create the beads first br create --parent=epic-123 --title="US-001: Add schema" ... br create --parent=epic-123 --title="US-002: Create API" ... br create --parent=epic-123 --title="US-003: Build UI" ... # Then add dependencies (issue depends-on blocker) br dep add ralph-tui-002 ralph-tui-001 # US-002 depends on US-001 br dep add ralph-tui-003 ralph-tui-002 # US-003 depends on US-002
br 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) br 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) br 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) br 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 br dep add ralph-tui-002 ralph-tui-001 # US-003: UI story br 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 br dep add ralph-tui-003 ralph-tui-002
br sync --flush-only.beads/issues.jsonl for version control..beads/ directory (SQLite DB + JSONL export)# Work on a specific epic ralph-tui run --tracker beads-rust --epic ralph-tui-abc # Or let it pick the best task automatically ralph-tui run --tracker beads-rust
<promise>COMPLETE</promise> when epic is donebr dep add after creating beadsbr sync --flush-only to export for git trackingbd)br)bd createbr createbd dep addbr dep addbd syncbr sync --flush-onlybd closebr close.beads/beads.jsonl.beads/*.db + JSONL export