beadify
Convert spec-kit tasks (tasks.md) into beads for tracking implementation. Use when asked to generate beads, create tasks from specs, decompose a feature into work items, or convert specifications into trackable work.
What this skill does
## User Input
```text
$ARGUMENTS
```
You **MUST** consider the user input before proceeding (if not empty).
## Argument Parsing
Parse `$ARGUMENTS` for:
- **Spec folder name**: If provided (e.g., `001-user-auth`), use that spec instead of deriving from branch
- **`--dry-run`**: Preview what would be created without actually creating beads
- **`--force`**: Create beads even if duplicates are detected (skip duplicate check)
## Outline
### 1. Validate Prerequisites
Run prerequisite checks:
```bash
./.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks
```
Parse the JSON response to get `FEATURE_DIR` and `TASKS_PATH` (the path to tasks.md).
Then verify beads is initialized:
```bash
bd info
```
> [!CAUTION]
> ERROR if beads is not initialized. Instruct user to run `bd onboard` first.
> ERROR if tasks.md is missing. Instruct user to run `/speckit.tasks` first to generate it.
If a spec folder name was provided in arguments, override `FEATURE_DIR` to `specs/<folder-name>`.
**Derive `FEATURE_SLUG`** from the last path component of `FEATURE_DIR`:
- `specs/002-realtime-gateway` → `FEATURE_SLUG = 002-realtime-gateway`
### 2. Parse tasks.md
Read `TASKS_PATH` and extract the full structure.
#### Phase headers
Each `## Phase N: Title (Priority: PN)` line becomes an epic bead. Extract:
- Phase number
- Phase title (e.g., `Setup`, `Foundational`, `User Story 1 — Search Products`)
- Priority from the header tag (`P1`, `P2`, `P3`). If absent, infer: Setup/Foundational → P1, Polish → P3, user story phases → match story priority.
#### Task lines
Each `- [ ] TXXX ...` line becomes a task bead. Extract:
- Task ID (e.g., `T012`) — used for deduplication
- `[P]` marker — task is parallelisable (no intra-phase dependency needed)
- `[USN]` label — which user story this task belongs to
- Description — the remainder of the line, including any file paths
Skip `- [x]` / `- [X]` lines (already completed).
#### Dependencies section
Parse `## Dependencies & Execution Order` for inter-phase ordering. Standard ordering (applied if the section is absent):
- Setup blocks Foundational
- Foundational blocks all user story phases
- All user story phases block Polish
### 3. Check for Existing Beads (skip if `--force`)
```bash
bd list --type epic --status=all
```
Filter to epics whose description contains `Feature: {FEATURE_SLUG}`. If any are found, warn the user and ask whether to:
1. Show the current bead plan (read-only)
2. Recreate from scratch (equivalent to `--force`)
### 4. Output Implementation Plan
Always output the plan before creating anything (also the only output in `--dry-run` mode):
```
Implementation Plan: {FEATURE_SLUG}
Tasks: {TASKS_PATH}
=====================================
Phase 1: Setup (P1)
T001 Create project structure per implementation plan
T002 Initialize Go module with gqlgen, pgx dependencies [api/go.mod]
T003 [P] Configure linting and formatting tools
Phase 2: Foundational (P1) — blocks all user stories
T004 Setup database migrations framework
T005 [P] Implement authentication middleware [src/middleware/auth.py]
...
Phase 3: US1 — Search Products (P1)
T012 [P] [US1] Create Product model [src/models/product.py]
T013 [P] [US1] Create Store model [src/models/store.py]
T014 [US1] Implement search service [src/services/search.py]
...
Phase N: Polish (P3) — after all stories complete
...
Dependencies: Setup → Foundational → [US1, US2, US3 in parallel] → Polish
Epics: N | Tasks: M | Ready to start: K
```
Stop here in `--dry-run` mode.
### 5. Create Phase Epics
For each phase, create an epic bead:
```bash
bd create --type epic \
--title "Phase N: <Title>" \
--description "<description>" \
--priority <1-3>
```
**Epic description format:**
```
Feature: {FEATURE_SLUG}
Plan: {FEATURE_DIR}/plan.md
Covers: {FEATURE_DIR}/spec.md §<user story title>
<2–4 sentences: what this phase achieves, why it exists in this order, and what is
observable/true when the phase is complete. Derive from the phase title and task list.>
```
For Setup and Foundational phases with no direct user story, write `Covers: all stories (prerequisite)`.
### 6. Create Task Beads
For each task line under a phase, create a task bead with the phase epic as parent:
```bash
bd create --type task \
--parent <phase-epic-id> \
--title "<task description>" \
--description "<full description>" \
--priority <priority>
```
**Task description format:**
```
Feature: {FEATURE_SLUG}
Source: {TASKS_PATH} #{task-id}
<task description from tasks.md, preserving file paths verbatim>
Done when: <specific verifiable outcome derived from the task description and file paths>
```
**"Done when" synthesis rules:**
- If the task names a specific file and operation (e.g., "Create Product model in src/models/product.py"), write: *"Done when: `src/models/product.py` exists and contains a Product model."*
- If the task names an endpoint or service, write: *"Done when: the endpoint/service responds correctly per the task description."*
- Always make it checkable by reading the diff or running the relevant test.
**Priority:** Inherit from the parent phase epic.
### 7. Set Dependencies
**Inter-phase (epic) dependencies:**
```bash
bd dep add <foundational-id> <setup-id>
bd dep add <story-phase-id> <foundational-id>
bd dep add <polish-id> <story-phase-id>
```
**Intra-phase (task) dependencies:**
Within each phase, apply ordering from the Dependencies section of tasks.md. Typical ordering:
- Tests before implementation (if tests are present)
- Models before services
- Services before endpoints
Tasks without `[P]` that depend on earlier tasks in the same phase should have explicit deps:
```bash
bd dep add <downstream-task-id> <upstream-task-id>
```
### 8. Bead Quality Gate
After all beads are created, read back every created bead and validate mechanically:
```bash
bd show <bead-id>
```
**Task bead checks:**
1. Description opens with `Feature: ` on the first line
2. Description contains `Done when:` followed by non-trivial content
3. Description contains at least one full path (a string with `/` that is not a bare filename)
**Epic bead checks:**
1. Description opens with `Feature: ` on the first line
2. Description contains a `Plan: ` line
3. Description contains a `Covers: ` line
4. Description contains at least 2 sentences of narrative after the header block
**Report results:**
```
Bead Quality Gate:
✓ 14 beads passed
✗ 2 beads flagged:
<bead-id> [Phase 2 / task title] Missing "Done when:" clause
```
Auto-fix straightforward failures (missing `Done when:`, bare path reconstructable from `FEATURE_DIR`). Ask the user only if the failure requires judgment.
### 9. Report Summary
```
Created beads from {TASKS_PATH}:
Epics: N (Phase 1–N)
- Phase 1: Setup → <bead-id>
- Phase 2: Foundational → <bead-id>
...
Tasks: M total
- Created: X
- Skipped (duplicates): Y
Dependencies established:
- Setup → Foundational → User story phases → Polish
Next steps:
- Run `bd ready` to see available work
- Run `bd show <epic-id>` to see tasks in a phase
- Tasks source: {TASKS_PATH}
```
In `--dry-run` mode, prefix with:
```
DRY RUN — No beads were created. The following would be created:
```
## Duplicate Detection (skip if `--force`)
Before creating each task bead, check for an existing bead with the same task ID:
```bash
bd search "<T-ID>" 2>/dev/null || true
```
If a match is found, skip and count as a duplicate. For phase epics, check by title match against existing epics.
## Error Handling
- If `bd create` fails, report the error and continue with remaining items
- Track failures and include in summary: `Failed: N (see errors above)`
- If all phase epic creations fail, abort (cannot create child tasks without parents)
## Design Principles
- **Tasks-first**: tasks.md (generated by `speckit.tasks`) is the source of Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.