Expand Tasks logo

Expand Tasks

Community
anombyte93
expand-tasks

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.

Overview

Publisheranombyte93
Repositoryprd-taskmaster
Skill nameexpand-tasks
Stars
607
Forks
59
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by anombyte93 on GitHub. Read the source before you install it.

Installation

Install the Expand Tasks AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/anombyte93/prd-taskmaster/tree/main/skills/expand-tasks
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/anombyte93/prd-taskmaster.git /tmp/prd-taskmaster
mkdir -p .claude/skills
cp -r /tmp/prd-taskmaster/skills/expand-tasks .claude/skills/expand-tasks
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Expand Tasks in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Expand Tasks on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Expand Tasks is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

bash
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:

bash
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
  2. Write research back to tasks.json:

    bash
    python3 skills/expand-tasks/script.py write-research --task-id <ID> --research /tmp/research-task-<ID>.md
  3. 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

ErrorAction
Research provider unreachable or rate-limitedExit skill, tell user to verify task-master models research role is set and reachable
research-expander agent returns empty/failedRe-run that specific task with different queries
tasks.json not foundExit skill, tell user to run /prd:go first
Task already expandedSkip silently unless user forces re-expansion
Agent timeoutMark 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

Frequently asked questions

What does the Expand Tasks AI skill do?

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.

Why use Expand Tasks on TypingMind?

Because you install it once and use it with any model. Expand Tasks is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Expand Tasks in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/anombyte93/prd-taskmaster/tree/main/skills/expand-tasks. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Expand Tasks?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Expand Tasks?

As many as you like. As long as a model supports skills, you can use Expand Tasks with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Expand Tasks AI skill free?

Yes. It is published on GitHub by anombyte93 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇