‹ 首页

expand-tasks

@anombyte93 · 收录于 1 周前 · 上游提交 4 周前

Expand all TaskMaster tasks with deep research before coding begins. Reads tasks.json, launches parallel research agents per task in waves using the research-expander agent. Writes findings back to tasks.json. Part of the prd-taskmaster toolkit. Use after PRD is parsed and before implementation. Invoke with /expand-tasks.

适合你,如果需要在编码前对每个任务做深入研究并记录结果。

/ 下载安装
expand-tasks.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add anombyte93/prd-taskmaster/expand-tasks
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- anombyte93/prd-taskmaster/expand-tasks
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify anombyte93/prd-taskmaster/expand-tasks
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
577GitHub stars
~1.7K上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 5ac4b54

Expand Tasks with Research v1.0

Expands TaskMaster tasks with research before coding begins. Deterministic operations handled by script.py; AI handles judgment.

Script location: skills/expand-tasks/script.py (relative to plugin root) Part of: prd-taskmaster plugin Depends on: research-expander agent (parallel research worker), any research provider configured via task-master models --set-research or registered as an MCP research tool.

When to Use

Activate when user says: expand tasks, research tasks, research before coding for all, expand subtasks. Do NOT activate for: single task research (use /research-before-coding), PRD generation (use /prd:go).

Native-parallel first (token economy)

Before launching agent waves, check the cheaper path: the native engine expands tasks in parallel for free. Prefer python3 script.py expand — backend op expand (native api) — or the expand_tasks MCP tool: it runs structured expand across pending tasks concurrently (inheriting the engine's ThreadPoolExecutor) on economy-tier models / keyless host CLIs and merges atomically. Use THIS skill's agent waves when: no provider/CLI is available, native expand reports failures for specific tasks (rerun just those here), or the research must be repo-grounded (agents can read the codebase; native expand cannot).

Prerequisites
  • TaskMaster tasks.json must exist (run /prd:go first)
  • A research provider is configured — either (a) task-master models --set-research <model> --<provider> for any task-master provider family, or (b) an MCP research tool registered in ~/.claude.json that Claude Code can call directly (for example mcp__plugin_prd_go__* tools or an external search/reason MCP)
  • At least 1 task in tasks.json

Workflow (5 Steps)
Step 1: Preflight
python3 skills/expand-tasks/script.py read-tasks

Returns JSON: total, expanded, pending_expansion, tasks[].

If pending_expansion is 0: Report all tasks already expanded. Exit skill.

If research provider is not configured: Check via task-master models and verify a research role is set. If none, tell the user to configure one (task-master models --set-research <model> --<provider>) and exit. The skill does not assume any specific research backend — it uses whatever is configured.


Step 2: Choose Scope

Use AskUserQuestion:

  • All tasks (default): Expand every task that hasn't been researched yet
  • Specific tasks: User provides task IDs (comma-separated)
  • By dependency level: Expand tasks with no dependencies first, then next wave

AI judgment: Recommend "All tasks" for initial expansion, "By dependency level" for incremental work.


Step 3: Generate Research Prompts

For each task to expand:

python3 skills/expand-tasks/script.py gen-prompt --task-id <ID>

Returns JSON with prompt field containing the full research agent prompt.

AI judgment: Review the auto-generated prompt. Customize research questions if the task needs domain-specific queries. Add project context from the PRD or session-context files if relevant.


Step 4: Launch Parallel Research Agents

Launch research agents in parallel waves. Each wave = up to 5 concurrent agents.

For each task, spawn a Task agent using the dedicated research-expander subagent type (defined in agents/research-expander.md):

Task(
  subagent_type: "research-expander",
  description: "Research Task <ID>: <title>",
  run_in_background: true,
  prompt: <prompt from Step 3>
)

Wave strategy:

  • Wave 1: Tasks with no dependencies (they inform downstream tasks) — run in parallel
  • Wave 2: Tasks depending on Wave 1 — run in parallel
  • Wave 3+: Continue until all tasks covered — run in parallel per wave
  • Max 5 agents per wave to avoid overwhelming the configured research backend

Wait for each wave to complete before launching the next. Parallel dispatch only happens WITHIN a wave; waves themselves are serial.


Step 5: Collect and Write Results

As each research-expander agent completes, save its research output:

  1. Write agent output to a temp file: ```bash cat > /tmp/research-task-<ID>.md <<'EOF' <agent output> EOF ```
  1. Write research back to tasks.json: ```bash python3 skills/expand-tasks/script.py write-research --task-id <ID> --research /tmp/research-task-<ID>.md ```
  1. After all tasks are written, verify: ```bash python3 skills/expand-tasks/script.py status ```

AI judgment: Review each research result for quality. If a result is too thin (< 5 lines of useful content) or clearly failed, re-run that specific task's research through a fresh research-expander invocation.


Research Agent Prompt Pattern

The gen-prompt command generates prompts that follow the research-before-coding pattern:

  1. Agent receives task context (title, description, dependencies, subtasks)
  2. Agent runs 3-5 targeted queries against the user's configured research provider. The research-expander agent is tool-agnostic: it picks up whichever research tools are available in the current Claude Code session. This may be task-master research, an MCP search/reason tool from ~/.claude.json (including any mcp__plugin_prd_go__* tools registered by this plugin), WebSearch as a last resort, or whatever the user has bound. The skill does not hard-code any specific research MCP.
  3. Agent distills results into structured summary
  4. Summary returns to main context (~25-40 lines per task)

Critical: prefer structured research tools (task-master research, MCP search/reason tools) over raw WebSearch/WebFetch when available — they produce cleaner outputs with citations.


Error Handling

| Error | Action | |-------|--------| | Research provider unreachable or rate-limited | Exit skill, tell user to verify task-master models research role is set and reachable | | research-expander agent returns empty/failed | Re-run that specific task with different queries | | tasks.json not found | Exit skill, tell user to run /prd:go first | | Task already expanded | Skip silently unless user forces re-expansion | | Agent timeout | Mark task as failed, continue with others |


Output

After all tasks are expanded, the skill reports:

  • Total tasks expanded
  • Any failures that need retry
  • Next recommended action (usually: begin implementation)

Integration with prd-taskmaster

This skill fits between Step 8 (Parse & Expand Tasks) and Step 11 (Choose Next Action) of the prd-taskmaster workflow. After PRD is parsed into tasks but before execution begins.

/prd:go → generates PRD → parses into tasks
    ↓
/expand-tasks   → research-expander agents run in Parallel waves → writes findings back to tasks.json
    ↓
Implementation begins (with research context in each task)

Tips
  • Run after PRD generation but before any implementation
  • Research results are stored in research_notes field of each task in tasks.json
  • Re-running on already-expanded tasks is safe (will skip unless forced)
  • For very large task lists (20+), consider expanding in dependency order to save context
  • Each research-expander agent typically completes in ~30s depending on research backend and query depth; 15 tasks ≈ 3 waves ≈ 2-3 minutes total
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。