Task Researcher
About
Researcher for AI Coding that analyzes task complexity and runs deep research (STORM) to decompose complex tasks into subtasks, as an MCP Server or CLI.
Explore
Parse Inputs: Generate initial tasks from project specification files (functional_spec.md, technical_spec.md, plan.md, background.md).
Expand Tasks:
Break down tasks into subtasks using AI (claude, gemini, etc. via litellm).
STORM-Powered Research (--research flag): For complex tasks, automatically identify research questions, group them into topics, run the knowledge-storm engine for each topic, and use the aggregated research to generate highly informed subtasks.
Update Tasks: Modify pending tasks based on new prompts or requirement changes.
Analyze Complexity: Assess task complexity using AI, generating a report with recommendations and tailored expansion prompts. (--research-hint flag available).
Dependency Management: Validate and automatically fix dependency issues (missing refs, self-deps, simple cycles).
Generate Files: Create individual .txt files for each task and subtask.
- Standalone Research (
research-topic): Generate a detailed research report on any topic usingknowledge-storm.
Python 3.10+
An API key for at least one supported LLM provider (e.g., Anthropic, Google Gemini, OpenAI) set in a .env file (used for task generation, complexity analysis, etc.).
knowledge-storm library (pip install knowledge-storm).
API key for a search engine supported by knowledge-storm (e.g., Bing Search, You.com, Tavily) set in .env (Required for --research in expand and the research-topic command).
(Optional) mcp library (pip install mcp) if running as an MCP server.
Use the task-researcher command (if installed via Poetry scripts) or python -m task_researcher.
task-researcher expand --id 7 --research
bashpoetry run task-researcher serve-mcp
Refer to .env.example. Key settings include:
LLM_MODEL: Primary model for tasks, analysis, subtask generation (non-STORM).
ANTHROPIC_API_KEY, GOOGLE_API_KEY, etc.: Credentials for the primary LLM.
STORM_RETRIEVER: Search engine for STORM (bing, you, tavily, etc.).
BING_SEARCH_API_KEY, YDC_API_KEY, TAVILY_API_KEY, etc.: Key for the chosen STORM retriever.
BIG_STORM_MODEL: (Optional) Big model for STORM's internal processing.
SMALL_STORM_MODEL: (Optional) Small model for STORM's internal processing.
STORM_SEARCH_TOP_K, STORM_MAX_TOKENS_: Control STORM's depth.
File paths (TASKS_FILE_PATH, etc.).
parse_inputs
Generates initial tasks from configured spec files.
update_tasks
Updates tasks from a given ID based on a prompt.
generate_task_files
Creates individual phase_XX_task_YYY.txt files.
expand_task
Expands a single task into subtasks (supports research=True for STORM).
expand_all_tasks
Expands all eligible pending tasks (supports research=True).
analyze_complexity
Analyzes task complexity and saves a report.
validate_dependencies
Checks dependencies for issues.
fix_dependencies
Attempts to automatically fix dependency issues.
research_topic
Runs STORM to generate a research report on a topic.
parse_inputs: Generates initial tasks from configured spec files.
update_tasks: Updates tasks from a given ID based on a prompt.
generate_task_files: Creates individual phase_XX_task_YYY.txt files.
expand_task: Expands a single task into subtasks (supports research=True for STORM).
expand_all_tasks: Expands all eligible pending tasks (supports research=True).
analyze_complexity: Analyzes task complexity and saves a report.
validate_dependencies: Checks dependencies for issues.
fix_dependencies: Attempts to automatically fix dependency issues.
research_topic: Runs STORM to generate a research report on a topic.
(Note: expand_ --research via MCP bypasses confirmation).
A Python task management system designed for AI-driven development, featuring integrated, in-depth research capabilities using the knowledge-storm library. Break down complex projects, generate tasks, and leverage automated research to inform implementation details.
This package provides both a command-line interface (CLI) and a Model Context Protocol (MCP) Server.
Core Features
Parse Inputs: Generate initial tasks from project specification files (functional_spec.md, technical_spec.md, plan.md, background.md).
Expand Tasks:
Break down tasks into subtasks using AI (claude, gemini, etc. via litellm).
STORM-Powered Research (--research flag): For complex tasks, automatically identify research questions, group them into topics, run the knowledge-storm engine for each topic, and use the aggregated research to generate highly informed subtasks.
Update Tasks: Modify pending tasks based on new prompts or requirement changes.
Analyze Complexity: Assess task complexity using AI, generating a report with recommendations and tailored expansion prompts. (--research-hint flag available).
Dependency Management: Validate and automatically fix dependency issues (missing refs, self-deps, simple cycles).
Generate Files: Create individual .txt files for each task and subtask.
Standalone Research (research-topic): Generate a detailed research report on any topic using knowledge-storm.
Requirements
Python 3.10+
An API key for at least one supported LLM provider (e.g., Anthropic, Google Gemini, OpenAI) set in a .env file (used for task generation, complexity analysis, etc.).
knowledge-storm library (pip install knowledge-storm).
API key for a search engine supported by knowledge-storm (e.g., Bing Search, You.com, Tavily) set in .env (Required for --research in expand and the research-topic command).
(Optional) mcp library (pip install mcp) if running as an MCP server.
Installation
1. Clone the repository:
git clone <repository-url>
cd task-researcher
2. Install dependencies (using Poetry recommended):
pip install poetry
poetry install
3. Configure Environment:
Copy
.env.example to .env.Fill in your primary LLM API key (e.g.,
ANTHROPIC_API_KEY).Set the
LLM_MODEL for primary tasks (e.g., "claude-3-5-sonnet-20240620").Set the
STORM_RETRIEVER (e.g., "bing") and its corresponding API key (BING_SEARCH_API_KEY).(Optional) Set
BIG_STORM_MODEL and SMALL_STORM_MODEL to use a different (e.g., faster/cheaper) models for STORM research.(Optional) Adjust other settings like
MAX_TOKENS, TEMPERATURE, file paths, etc.
Usage Command Line Interface (CLI)
Use the task-researcher command (if installed via Poetry scripts) or python -m task_researcher.
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



