一键导入
tasker-to-beads
Transform Tasker task definitions into rich, self-contained Beads issues. Bridges ephemeral execution units with persistent planning artifacts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Transform Tasker task definitions into rich, self-contained Beads issues. Bridges ephemeral execution units with persistent planning artifacts.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
EXECUTION PHASE - Run tasks via isolated subagents. Requires completed task DAG from plan phase.
PLANNING PHASE - Decompose specification into task DAG with dependencies and phases. DO NOT invoke execute skill.
Interactive specification workflow - design vision, clarify capabilities, extract behaviors. Produces spec packets, capability maps, and ADRs for /plan consumption.
Thin orchestrator for Task Decomposition Protocol v2. Supports two modes - /plan (decompose spec into tasks) and /execute (run tasks via subagents). Delegates all state management to the tasker CLI.
Emit info-level logs to file during task execution, similar to logger.info() calls in code
| name | tasker-to-beads |
| description | Transform Tasker task definitions into rich, self-contained Beads issues. Bridges ephemeral execution units with persistent planning artifacts. |
| tools | ["bash","file_read","file_write","ask_user"] |
Converts Tasker task definitions into enriched Beads issues that are self-contained and human-readable. This skill performs the "neural" work of understanding spec context, synthesizing narratives, and creating issues that stand alone.
/plan phase (state is "ready").tasker/state.json exists, phase is "ready")The source project (where tasker planning lives) may be different from the target project (where development happens). For example:
~/projects/tasker/ - contains spec, planning artifacts, task definitions~/projects/fathom/ - where the actual Elixir project will be builtWhen invoked, this skill will:
IMPORTANT: Before proceeding, ask the user where development will happen:
"Where would you like to create the Beads issues? This should be the directory where the actual development will take place (e.g., the project repository being built)."
Common scenarios:
# Check status and see if target needs initialization
tasker transform status -t /path/to/target
# Initialize beads in target directory with custom prefix
# This runs: bd init <PREFIX> && bd onboard
tasker transform init-target /path/to/target FATHOM
The init-target command runs two steps:
bd init <PREFIX> - Creates the .beads directory structurebd onboard - Sets up project configuration and initial statetasker transform context --all -t /path/to/target
This extracts structural data from task files and saves context bundles to .tasker/beads-export/.
For each task, read the context file and generate an enriched issue description.
Read the context:
cat .tasker/beads-export/{TASK_ID}-context.json
Generate enriched content using the template below, then save:
# Save to .tasker/beads-export/{TASK_ID}-enriched.json
After enrichment, create issues in the target directory:
tasker transform create {TASK_ID} .tasker/beads-export/{TASK_ID}-enriched.json -t /path/to/target
Or batch create from manifest:
tasker transform batch-create .tasker/beads-export/manifest.json -t /path/to/target
When generating enriched issue content, produce JSON with this structure:
{
"task_id": "T001",
"title": "Initialize Mix project with OTP dependencies",
"priority": "critical",
"labels": ["domain:infrastructure", "phase:1", "steel-thread"],
"dependencies": [],
"description": "... rich markdown description ..."
}
The description should be self-contained markdown with these sections:
## Overview
[1-2 sentences explaining WHAT this task accomplishes and WHY it matters to the project]
## Spec Context
[Relevant excerpts from the specification that drive this task. Include enough context that someone can understand the requirement without reading the full spec.]
> "Direct quote from spec if available"
[Your synthesis of what the spec requires]
## Architecture Context
**Domain:** [domain name]
**Capability:** [capability name]
[Explain how this fits into the system architecture. What role does it play? What does it enable?]
## Implementation Approach
[Narrative description of how to implement this. Not just file paths, but the approach and key decisions.]
### Files to Create/Modify
| File | Purpose |
|------|---------|
| `path/to/file.ex` | Brief purpose |
## Dependencies
[If this task depends on others, explain WHAT it needs from them, not just the ID]
- **T003 (Core data schemas):** Provides the `Session` and `Message` structs used here
- **T005 (Tool behaviour):** Defines the `Tool` behaviour this implements
## Acceptance Criteria
Human-readable checklist (not raw verification commands):
- [ ] Project compiles without warnings
- [ ] All required dependencies are declared in mix.exs
- [ ] Basic module structure is in place
- [ ] Tests pass (if applicable)
## Notes
[Any additional context, gotchas, or considerations]
When processing each task context, use this reasoning approach:
Read the task name, context, and behaviors. Ask:
From relevant_spec_sections in the context:
From capability_context:
From dependency_context:
From task.acceptance_criteria:
To transform a single task:
# 1. Prepare context
tasker transform context T001
# 2. Read and understand
cat .tasker/beads-export/T001-context.json
# 3. Generate enriched content (you do this)
# ... apply the enrichment template ...
# Save to .tasker/beads-export/T001-enriched.json
# 4. Create the issue in target directory
tasker transform create T001 .tasker/beads-export/T001-enriched.json -t /path/to/target
To transform all tasks:
# 1. Check status and determine target
tasker transform status -t /path/to/target
# 2. Prepare all contexts
tasker transform context --all
# 3. For each context file, generate enriched content
# This is the neural loop - process each T*-context.json
# 4. Create manifest with all enriched issues
# Save to .tasker/beads-export/manifest.json with structure:
# { "issues": [ {...enriched issue 1...}, {...enriched issue 2...}, ... ] }
# 5. Batch create in target directory
tasker transform batch-create .tasker/beads-export/manifest.json -t /path/to/target
For batch creation, the manifest should be:
{
"created_at": "2025-01-15T10:00:00Z",
"source": "tasker",
"task_count": 47,
"issues": [
{
"task_id": "T001",
"title": "Initialize Mix project with OTP dependencies",
"priority": "critical",
"labels": ["domain:infrastructure", "phase:1", "steel-thread"],
"dependencies": [],
"description": "## Overview\n\n..."
},
{
"task_id": "T002",
"title": "...",
...
}
]
}
Before creating an issue, verify:
Input context (abbreviated):
{
"task_id": "T001",
"task": {
"name": "Mix project initialization",
"phase": 1,
"context": {
"domain": "Infrastructure",
"capability": "Project Setup",
"steel_thread": true
},
"files": [{"path": "mix.exs", "action": "create"}],
"acceptance_criteria": [
{"criterion": "mix compile succeeds", "verification": "mix compile"}
]
},
"relevant_spec_sections": [
"## Tech Stack\n\nThe agent framework uses Elixir with OTP patterns..."
]
}
Output enriched (abbreviated):
{
"task_id": "T001",
"title": "Initialize Elixir/OTP project foundation",
"priority": "critical",
"labels": ["domain:infrastructure", "phase:1", "steel-thread"],
"dependencies": [],
"description": "## Overview\n\nEstablish the foundational Mix project structure for the Fathom agent framework. This is the critical first step that all other tasks depend on, providing the build system, dependency management, and basic project layout.\n\n## Spec Context\n\n> \"The agent framework uses Elixir with OTP patterns for fault-tolerant, distributed agent coordination.\"\n\nThe specification mandates Elixir/OTP as the implementation technology, leveraging its supervision trees, GenServers, and distribution capabilities for building resilient agent systems.\n\n## Architecture Context\n\n**Domain:** Infrastructure\n**Capability:** Project Setup\n\nThis task creates the skeleton that all other infrastructure and application code builds upon. It establishes:\n- Dependency versions (ecto, phoenix_pubsub, telemetry, etc.)\n- Compilation settings and warnings configuration\n- Project metadata and structure\n\n## Implementation Approach\n\nCreate a standard Mix project with umbrella-ready structure. Key dependencies include:\n- `ecto` + `postgrex` for persistence\n- `phoenix_pubsub` for inter-process messaging\n- `telemetry` + `opentelemetry` for observability\n- `libcluster` for node discovery\n\n### Files to Create/Modify\n\n| File | Purpose |\n|------|---------|\n| `mix.exs` | Project definition, dependencies, compilation settings |\n| `.formatter.exs` | Code formatting rules |\n| `.gitignore` | Standard Elixir ignores |\n| `README.md` | Project documentation |\n\n## Dependencies\n\nNone - this is the foundation task.\n\n## Acceptance Criteria\n\n- [ ] `mix deps.get` fetches all dependencies successfully\n- [ ] `mix compile --warnings-as-errors` passes\n- [ ] `mix format --check-formatted` passes\n- [ ] All required dependencies declared (ecto, postgrex, phoenix_pubsub, telemetry, libcluster, etc.)\n\n## Notes\n\nThis is on the **steel thread** path - it must complete before any other work can proceed. Keep the initial setup minimal but complete; don't add optional dependencies that aren't immediately needed."
}