add_decisionAdds a single architecture decision record (ADR) to DECISIONS.md. Creates a structured entry with title, context, decision, and consequences sections.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the decision (e.g., \"Use PostgreSQL for primary database\")."
},
"context": {
"type": "string",
"description": "The context and problem statement that led to this decision."
},
"decision": {
"type": "string",
"description": "The decision that was made."
},
"consequences": {
"type": "string",
"description": "The positive and negative consequences of the decision."
},
"status": {
"type": "string",
"description": "Status of the decision. Default: \"accepted\".",
"enum": [
"proposed",
"accepted",
"deprecated",
"superseded"
],
"default": "accepted"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags for categorization (e.g., [\"database\", \"infrastructure\"])."
}
},
"required": [
"title",
"decision"
]
} | — | | — |
add_roadmap_milestoneAdds a milestone or phase to ROADMAP.md. Creates a structured entry with title, description, target date, and deliverables.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Milestone title (e.g., \"v1.0 Release\", \"Q1 2025\")."
},
"description": {
"type": "string",
"description": "Description of the milestone."
},
"target_date": {
"type": "string",
"description": "Target date (e.g., \"2025-03-01\", \"Q1 2025\")."
},
"deliverables": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of deliverables for this milestone."
},
"status": {
"type": "string",
"description": "Status of the milestone. Default: \"planned\".",
"enum": [
"planned",
"in_progress",
"completed",
"delayed"
],
"default": "planned"
}
},
"required": [
"title"
]
} | — | | — |
add_to_backlogAdds a single item to BACKLOG.md. Use this for quick task creation without bulk import. Items are added to the specified priority section and can later be promoted to active work.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The task title/description."
},
"project": {
"type": "string",
"description": "Project prefix for the task ID (e.g., \"AUTH\", \"API\")."
},
"priority": {
"type": "string",
"description": "Priority level. Default: \"P2\".",
"enum": [
"P0",
"P1",
"P2",
"P3"
],
"default": "P2"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional tags for categorization."
},
"phase": {
"type": "string",
"description": "Optional phase/milestone this task belongs to."
},
"subtasks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional subtasks to include."
}
},
"required": [
"title",
"project"
]
} | — | | — |
archive_taskArchives a completed task by moving it from todos/ to archive/. Keeps the active task queue small and focused. Archived tasks are preserved for history but excluded from get_next_task.Input schema{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The task ID to archive (e.g., \"AUTH-001\"). Must have status \"done\"."
},
"force": {
"type": "boolean",
"description": "Archive even if not marked done. Default: false.",
"default": false
}
},
"required": [
"task_id"
]
} | — | | — |
archive_thoughtArchives a processed thought file by moving it to .project/thoughts/todos/.archive/.
Use this after you've created tasks from a thought file to keep the active thoughts folder clean.
Also logs the archive action with timestamp and created task IDs.Input schema{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The thought file to archive (e.g., \"my-ideas.md\")."
},
"created_tasks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of task IDs that were created from this thought (e.g., [\"AUTH-001\", \"AUTH-002\"])."
},
"notes": {
"type": "string",
"description": "Optional notes about the processing (e.g., \"Consolidated 5 items into 2 tasks\")."
}
},
"required": [
"file"
]
} | — | | — |
check_project_stateChecks the current state of project management files. Returns which files exist (.project/index.md, ROADMAP.md, TODO.md, STATUS.md, DECISIONS.md) and provides a summary of project state. Use this before making changes to understand what exists.Input schema{
"type": "object",
"properties": {}
} | — | | — |
create_or_update_decisionsCreates or updates the DECISIONS.md file in .project/ directory. Use this when documenting architecture decisions, trade-offs, or rationale. Helps maintain a decision log for the project.Input schema{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The decision content to add. Should include the decision, context, trade-offs, and rationale."
},
"decisionTitle": {
"type": "string",
"description": "Optional: Title for the decision entry. If not provided, will extract from content or use a timestamp."
},
"replace": {
"type": "boolean",
"description": "If true, replaces the entire file. If false (default), merges with existing content.",
"default": false
}
},
"required": [
"content"
]
} | — | | — |
create_or_update_indexCreates or updates the index.md file in .project/ directory. This is the contract file that defines how agents should interpret sources. Use this when setting up project structure or updating source mappings.Input schema{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The contract content to add. Should define source mappings and how agents should interpret different queries."
},
"replace": {
"type": "boolean",
"description": "If true, replaces the entire file. If false (default), merges with existing content.",
"default": false
}
},
"required": [
"content"
]
} | — | | — |
create_or_update_roadmapCreates or updates the ROADMAP.md file in .project/ directory. Use this when planning future work, milestones, or phases. If the file exists, intelligently merges new content with existing roadmap.Input schema{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The roadmap content to add. Can be a new section, milestone, or phase. The tool will merge with existing content if the file exists."
},
"section": {
"type": "string",
"description": "Optional: The section to add to (e.g., \"Q1 2025\", \"Phase 1\", \"Future Considerations\"). If not provided, will append to appropriate section or create new."
},
"replace": {
"type": "boolean",
"description": "If true, replaces the entire file. If false (default), merges with existing content.",
"default": false
}
},
"required": [
"content"
]
} | — | | — |
create_or_update_statusCreates or updates the STATUS.md file in .project/ directory. Use this when updating project health, recent changes, metrics, or current phase. Automatically updates the "Last Updated" timestamp.Input schema{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The status update content. Can include current phase, health status, recent changes, metrics, risks, or next milestone."
},
"updateType": {
"type": "string",
"description": "Optional: Type of update: \"phase\", \"health\", \"changes\", \"metrics\", \"risks\", \"milestone\", \"general\". Helps organize the update appropriately.",
"enum": [
"phase",
"health",
"changes",
"metrics",
"risks",
"milestone",
"general",
""
]
},
"replace": {
"type": "boolean",
"description": "If true, replaces the entire file. If false (default), merges with existing content.",
"default": false
}
},
"required": [
"content"
]
} | — | | — |
create_or_update_todoCreates or updates the TODO.md file in .project/ directory. Use this when adding tasks, marking items complete, or updating task status. Intelligently organizes tasks into sections (In Progress, Next Up, Blocked, Completed).Input schema{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "The task or todo item to add. Can be a single task or multiple tasks. Use markdown checkbox format: \"- [ ] Task description\"."
},
"section": {
"type": "string",
"description": "Optional: The section to add to: \"in_progress\", \"next_up\", \"blocked\", \"completed\". If not provided, defaults to \"next_up\".",
"enum": [
"in_progress",
"next_up",
"blocked",
"completed",
""
]
},
"markComplete": {
"type": "string",
"description": "Optional: Task description to mark as complete. Will move from current section to \"Completed\" section."
},
"replace": {
"type": "boolean",
"description": "If true, replaces the entire file. If false (default), merges with existing content.",
"default": false
}
},
"required": [
"content"
]
} | — | | — |
create_taskCreates a new task with YAML frontmatter metadata. Uses Jira-like IDs (e.g., AUTH-001, API-042) for stable references. Supports dependencies, priorities, estimates, due dates, and tags. Agents can determine execution order by checking dependencies and priorities.Input schema{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The title of the task (e.g., \"Implement OAuth authentication\", \"Fix login bug\")."
},
"project": {
"type": "string",
"description": "Project/Epic identifier used in the task ID (e.g., \"AUTH\", \"API\", \"FRONTEND\"). Will be uppercased. The task ID will be {PROJECT}-{NNN}."
},
"description": {
"type": "string",
"description": "Detailed description of the task. Can include markdown formatting."
},
"owner": {
"type": "string",
"description": "Who is responsible for this task (e.g., \"cursor\", \"john-doe\", \"backend-team\")."
},
"priority": {
"type": "string",
"description": "Priority level: \"P0\" (critical/blocker), \"P1\" (high), \"P2\" (medium/default), \"P3\" (low).",
"enum": [
"P0",
"P1",
"P2",
"P3"
],
"default": "P2"
},
"status": {
"type": "string",
"description": "Current status: \"todo\" (not started), \"in_progress\" (being worked on), \"blocked\" (waiting on something), \"review\" (needs review), \"done\" (completed).",
"enum": [
"todo",
"in_progress",
"blocked",
"review",
"done"
],
"default": "todo"
},
"depends_on": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of task IDs this task depends on (e.g., [\"AUTH-001\", \"AUTH-002\"]). Task cannot start until dependencies are done."
},
"blocked_by": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of task IDs or external blockers (e.g., [\"AUTH-003\", \"waiting-on-api-key\"]). Different from depends_on - these are blockers that prevent progress."
},
"estimate": {
"type": "string",
"description": "Time estimate (e.g., \"2h\", \"1d\", \"3d\", \"1w\"). Use h=hours, d=days, w=weeks."
},
"due": {
"type": "string",
"description": "Due date in YYYY-MM-DD format (e.g., \"2025-01-15\")."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of tags for categorization (e.g., [\"security\", \"urgent\", \"tech-debt\", \"feature\"])."
},
"subtasks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of subtask descriptions. Will be rendered as a checklist in the task."
}
},
"required": [
"title",
"project"
]
} | — | | — |
delete_taskPermanently deletes a task from todos/. Use with caution - this cannot be undone. Consider using archive_task instead for completed tasks.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The task ID to delete (e.g., \"AUTH-001\")."
},
"confirm": {
"type": "boolean",
"description": "Must be true to confirm deletion. Default: false.",
"default": false
}
},
"required": [
"id"
]
} | — | | — |
get_backlogReads and returns the current backlog contents with optional filtering. Shows tasks organized by priority with counts and summary.Input schema{
"type": "object",
"properties": {
"priority": {
"type": "string",
"description": "Filter by priority level.",
"enum": [
"P0",
"P1",
"P2",
"P3",
""
]
},
"project": {
"type": "string",
"description": "Filter by project prefix."
},
"include_promoted": {
"type": "boolean",
"description": "Include already-promoted items. Default: false.",
"default": false
}
}
} | — | | — |
get_decisionReads a specific architecture decision by ADR ID. Returns the full decision content including context, decision, and consequences.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ADR ID to retrieve (e.g., \"ADR-001\", \"001\", or just \"1\")."
}
},
"required": [
"id"
]
} | — | | — |
get_docGet the full content of a specific file. Supports files from .project/, root-level, or docs/. Use the path as returned from search results.Input schema{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Path to the file. Can be relative to project root (e.g., \".project/index.md\", \"README.md\", \"docs/architecture/ARCHITECTURE_SPEC.md\")."
}
},
"required": [
"path"
]
} | — | | — |
get_doc_structureGet the complete documentation directory structure with file paths and descriptions. Useful for understanding the organization of documentation.Input schema{
"type": "object",
"properties": {}
} | — | | — |
get_next_taskReturns the next task(s) that should be worked on. Considers: dependencies (only returns tasks whose dependencies are done), priority (P0 first), status (excludes done/blocked), and optionally filters by owner or project. This is the key tool for agentic execution - call this to know what to do next.Input schema{
"type": "object",
"properties": {
"owner": {
"type": "string",
"description": "Filter by owner. Only return tasks assigned to this owner."
},
"project": {
"type": "string",
"description": "Filter by project. Only return tasks from this project."
},
"include_blocked": {
"type": "boolean",
"description": "Include blocked tasks in results. Default: false.",
"default": false
},
"limit": {
"type": "number",
"description": "Maximum number of tasks to return. Default: 5.",
"default": 5
}
}
} | — | | — |
get_roadmapReads the current roadmap content from ROADMAP.md. Returns milestones, phases, and planned work.Input schema{
"type": "object",
"properties": {
"section": {
"type": "string",
"description": "Optional: Return only a specific section/milestone."
}
}
} | — | | — |
get_taskReads and returns a specific task by ID. Shows all metadata including frontmatter, description, subtasks, and notes.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The task ID to read (e.g., \"AUTH-001\")."
}
},
"required": [
"id"
]
} | — | | — |
get_thoughtReads a specific thought file and returns its raw content for review.Input schema{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The thought file to read (e.g., \"my-ideas.md\")."
},
"category": {
"type": "string",
"description": "The category/subdirectory. Default: \"todos\".",
"default": "todos"
},
"from_archive": {
"type": "boolean",
"description": "Read from archive instead of active thoughts. Default: false.",
"default": false
}
},
"required": [
"file"
]
} | — | | — |
import_tasksParses a plan document and imports tasks to BACKLOG.md (not individual files). Use this to populate the backlog from a roadmap or requirements doc. Tasks stay in BACKLOG until promoted to active work via promote_task.Input schema{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Path to the source file to parse (e.g., \"ROADMAP.md\", \".project/ROADMAP.md\"). Can also be raw markdown content if source_type is \"content\"."
},
"source_type": {
"type": "string",
"description": "Type of source: \"file\" (path to file) or \"content\" (raw markdown). Default: \"file\".",
"enum": [
"file",
"content"
],
"default": "file"
},
"project": {
"type": "string",
"description": "Project prefix for task IDs (e.g., \"AUTH\", \"API\"). Required."
},
"phase": {
"type": "string",
"description": "Optional: Only import tasks from a specific phase/section."
},
"default_priority": {
"type": "string",
"description": "Default priority for tasks. Default: \"P2\".",
"enum": [
"P0",
"P1",
"P2",
"P3"
],
"default": "P2"
},
"dry_run": {
"type": "boolean",
"description": "If true, shows what would be imported without modifying BACKLOG.md. Default: false.",
"default": false
}
},
"required": [
"source",
"project"
]
} | — | | — |
init_projectInitializes the .project/ directory with all standard files following strict templates. Creates index.md (contract), TODO.md (dashboard), BACKLOG.md (prioritized work queue), ROADMAP.md, STATUS.md, DECISIONS.md, and todos/ directory. Use this to bootstrap a new project with proper structure.Input schema{
"type": "object",
"properties": {
"project_name": {
"type": "string",
"description": "Name of the project. Used in headers and metadata."
},
"project_description": {
"type": "string",
"description": "Brief description of the project."
},
"overwrite": {
"type": "boolean",
"description": "If true, overwrites existing files. Default: false (skip existing).",
"default": false
}
},
"required": [
"project_name"
]
} | — | | — |
lint_project_docsValidates project documentation against standards. Checks for required files, valid frontmatter, broken dependencies, missing fields, and formatting issues. Can auto-fix common problems. Run this before commits to ensure documentation quality.Input schema{
"type": "object",
"properties": {
"fix": {
"type": "boolean",
"description": "If true, automatically fix issues that can be auto-corrected (missing timestamps, formatting, etc.). Default: false (report only).",
"default": false
},
"strict": {
"type": "boolean",
"description": "If true, enforce stricter rules (all tasks must have estimates, due dates, descriptions). Default: false.",
"default": false
},
"scope": {
"type": "string",
"description": "What to lint: \"all\" (everything), \"tasks\" (only task files), \"docs\" (only documentation files). Default: \"all\".",
"enum": [
"all",
"tasks",
"docs"
],
"default": "all"
}
}
} | — | | — |
list_archived_tasksLists tasks in the archive/ directory. Shows completed work history with optional filtering by project or date.Input schema{
"type": "object",
"properties": {
"project": {
"type": "string",
"description": "Filter by project prefix."
},
"limit": {
"type": "number",
"description": "Maximum number of tasks to return. Default: 20.",
"default": 20
}
}
} | — | | — |
list_archived_thoughtsLists all archived thought files with their processing history. Shows what thoughts were processed, when, and what tasks were created.Input schema{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Maximum number of archived thoughts to show. Default: 20.",
"default": 20
}
}
} | — | | — |
list_decisionsLists all architecture decisions from DECISIONS.md with optional filtering by status or tag.Input schema{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Filter by status.",
"enum": [
"proposed",
"accepted",
"deprecated",
"superseded",
""
]
},
"tag": {
"type": "string",
"description": "Filter by tag."
}
}
} | — | | — |
list_docsList all available documentation files organized by category. Use this to discover what documentation is available or to get an overview of the documentation structure.Input schema{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional: Filter by category. Options: product, architecture, operations, api, guides, reference, or leave empty for all.",
"enum": [
"product",
"architecture",
"operations",
"api",
"guides",
"reference",
""
]
}
}
} | — | | — |
list_tasksLists all tasks with optional filtering. Returns a summary view of tasks organized by status and priority.Input schema{
"type": "object",
"properties": {
"project": {
"type": "string",
"description": "Filter by project."
},
"owner": {
"type": "string",
"description": "Filter by owner."
},
"status": {
"type": "string",
"description": "Filter by status.",
"enum": [
"todo",
"in_progress",
"blocked",
"review",
"done",
""
]
},
"priority": {
"type": "string",
"description": "Filter by priority.",
"enum": [
"P0",
"P1",
"P2",
"P3",
""
]
},
"tag": {
"type": "string",
"description": "Filter by tag."
}
}
} | — | | — |
list_thoughtsLists all thought files in the .project/thoughts/ directory structure. Shows available brain dump files organized by category.Input schema{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Optional: Filter by thought category. Currently supported: \"todos\".",
"enum": [
"todos",
""
]
},
"include_archived": {
"type": "boolean",
"description": "Include archived thoughts in the listing. Default: false.",
"default": false
}
}
} | — | | — |
manage_project_fileSmart tool that automatically determines which project file to create or update based on context. Use this when making changes to the project - it will check project state and determine if index.md, ROADMAP.md, TODO.md, STATUS.md, or DECISIONS.md should be created/updated. This is the primary tool for managing project documentation during development.Input schema{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "The action being performed: \"planning\" (creates/updates ROADMAP), \"task\" (creates/updates TODO), \"status_change\" (creates/updates STATUS), \"decision\" (creates/updates DECISIONS), \"contract\" (creates/updates index), \"auto\" (automatically determines based on content).",
"enum": [
"planning",
"task",
"status_change",
"decision",
"contract",
"auto"
]
},
"content": {
"type": "string",
"description": "The content to add or update. For \"auto\" mode, describe what you're doing and the tool will determine the appropriate file."
},
"fileType": {
"type": "string",
"description": "Optional: Force a specific file type. If not provided and action is \"auto\", the tool will determine automatically.",
"enum": [
"roadmap",
"todo",
"status",
"index",
"decisions",
""
]
}
},
"required": [
"action",
"content"
]
} | — | | — |
process_thoughtsReads brain dump markdown files from .project/thoughts/todos/ and returns the content along with project context for analysis.
This tool gathers:
1. **Raw thought content** - The unstructured brain dump as written
2. **Project context** - Existing tasks, roadmap milestones, decisions for reference
3. **Task format guide** - The YAML structure for creating tasks
YOU (the LLM) should then analyze the content to:
- Understand the user's intent (explicit, shadow/underlying, practical)
- Identify logical task groupings (consolidate related items)
- Determine appropriate priorities based on context
- Create well-structured tasks using create_task
- **After creating tasks, use archive_thought to archive the processed file**
The tool does NOT automatically create tasks - it provides you with everything needed to make intelligent decisions about task creation.Input schema{
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "Specific thought file to process (e.g., \"my-ideas.md\"). If not provided, processes all files in thoughts/todos/."
},
"project": {
"type": "string",
"description": "Project prefix for task IDs when you create tasks (e.g., \"AUTH\", \"API\")."
}
},
"required": [
"project"
]
} | — | | — |
promote_taskPromotes a task from BACKLOG.md to an active YAML task file in todos/. Use this when starting work on a backlog item. Creates a full task file with YAML frontmatter, dependencies, and metadata.Input schema{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The task ID to promote from backlog (e.g., \"AUTH-001\")."
},
"owner": {
"type": "string",
"description": "Who will work on this task. Default: \"unassigned\".",
"default": "unassigned"
},
"priority": {
"type": "string",
"description": "Priority override. If not set, uses priority from backlog.",
"enum": [
"P0",
"P1",
"P2",
"P3",
""
]
},
"depends_on": {
"type": "array",
"items": {
"type": "string"
},
"description": "Task IDs this depends on (e.g., [\"AUTH-002\"]). Only active tasks can be dependencies."
},
"estimate": {
"type": "string",
"description": "Time estimate (e.g., \"2h\", \"1d\", \"3d\")."
},
"due": {
"type": "string",
"description": "Due date in YYYY-MM-DD format."
}
},
"required": [
"task_id"
]
} | — | | — |
remove_from_backlogRemoves an item from BACKLOG.md without promoting it. Use for tasks that are no longer needed or were added by mistake.Input schema{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The task ID to remove (e.g., \"AUTH-001\")."
},
"reason": {
"type": "string",
"description": "Optional reason for removal (for logging)."
}
},
"required": [
"task_id"
]
} | — | | — |
search_docsSearch only the docs/ directory for reference documentation. Use this when the user specifically asks for "docs" or "documentation". Returns relevant documentation chunks with file paths and content snippets.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query. Can be a single word, multiple words, or a phrase. The search is semantic and will find relevant content even with partial matches."
},
"category": {
"type": "string",
"description": "Optional: Filter by documentation category. Options: product, architecture, operations, api, guides, reference, or leave empty for all.",
"enum": [
"product",
"architecture",
"operations",
"api",
"guides",
"reference",
""
]
},
"maxResults": {
"type": "number",
"description": "Maximum number of results to return. Default is 10, maximum is 50.",
"default": 10,
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
]
} | — | | — |
search_projectSearch across project sources with smart intent detection. IMPORTANT: "project docs" means APPLICATION documentation (docs/ + DECISIONS.md), NOT project management. Use intent "project_docs" when user says "project docs/documents/documentation" to search application documentation. Use intent "plan" for project management (status, todos, roadmap, backlog).Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query. Can be a single word, multiple words, or a phrase. The search is semantic and will find relevant content even with partial matches."
},
"intent": {
"type": "string",
"description": "Intent type to map to sources. \"project_docs\" searches docs/ + DECISIONS.md (application documentation). \"docs\" searches only docs/. \"plan/todos/roadmap/status/operational\" searches .project/ (project management). \"project\" searches everything. \"decisions\" searches only DECISIONS.md.",
"enum": [
"project",
"project_docs",
"docs",
"decisions",
"plan",
"todos",
"roadmap",
"status",
"operational",
""
]
},
"maxResults": {
"type": "number",
"description": "Maximum number of results to return. Default is 10, maximum is 50.",
"default": 10,
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
]
} | — | | — |
search_tasksSearch tasks by keyword in title, description, or content. Returns matching tasks with relevance ranking.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query (matches title, description, content)."
},
"project": {
"type": "string",
"description": "Filter by project."
},
"status": {
"type": "string",
"description": "Filter by status.",
"enum": [
"todo",
"in_progress",
"blocked",
"review",
"done",
""
]
},
"include_archived": {
"type": "boolean",
"description": "Include archived tasks in search. Default: false.",
"default": false
},
"limit": {
"type": "number",
"description": "Maximum results to return. Default: 10.",
"default": 10
}
},
"required": [
"query"
]
} | — | | — |
sync_todo_indexSyncs the parent TODO.md file with all tasks. Generates a dashboard view with tasks organized by status, priority counts, dependency graph, and execution order. This provides a bird's eye view of all work.Input schema{
"type": "object",
"properties": {
"format": {
"type": "string",
"description": "Output format: \"dashboard\" (default, visual overview), \"table\" (compact table), \"kanban\" (by status columns).",
"enum": [
"dashboard",
"table",
"kanban"
],
"default": "dashboard"
}
}
} | — | | — |
unarchive_taskRestores a task from archive/ back to todos/ for further work. Use when a completed task needs to be reopened.Input schema{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The task ID to unarchive (e.g., \"AUTH-001\")."
},
"status": {
"type": "string",
"description": "Status to set on restore. Default: \"todo\".",
"enum": [
"todo",
"in_progress",
"blocked",
"review"
],
"default": "todo"
}
},
"required": [
"task_id"
]
} | — | | — |
update_backlog_itemUpdates an item in BACKLOG.md. Can change priority, title, tags, or phase without promoting to active work.Input schema{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The task ID to update (e.g., \"AUTH-001\")."
},
"title": {
"type": "string",
"description": "New title for the task."
},
"priority": {
"type": "string",
"description": "New priority level (will move to new section).",
"enum": [
"P0",
"P1",
"P2",
"P3"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "New tags (replaces existing)."
},
"phase": {
"type": "string",
"description": "New phase/milestone."
}
},
"required": [
"task_id"
]
} | — | | — |
update_project_statusQuick status update for the project. Adds a timestamped entry to STATUS.md with the current status, changes, or notes.Input schema{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Current status summary (e.g., \"On track\", \"Blocked by API issues\")."
},
"health": {
"type": "string",
"description": "Project health indicator.",
"enum": [
"green",
"yellow",
"red"
]
},
"changes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of recent changes or updates."
},
"blockers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Current blockers or risks."
},
"next_milestone": {
"type": "string",
"description": "Next milestone or goal."
}
},
"required": [
"status"
]
} | — | | — |
update_taskUpdates an existing task by ID. Can update any field including status, priority, owner, dependencies, etc. Use this to transition tasks through workflow states.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The task ID to update (e.g., \"AUTH-001\")."
},
"title": {
"type": "string",
"description": "New title for the task."
},
"description": {
"type": "string",
"description": "New description. Use \"append:TEXT\" to append to existing description."
},
"owner": {
"type": "string",
"description": "New owner for the task."
},
"priority": {
"type": "string",
"description": "New priority level.",
"enum": [
"P0",
"P1",
"P2",
"P3"
]
},
"status": {
"type": "string",
"description": "New status. Transitioning to \"done\" will set completed date.",
"enum": [
"todo",
"in_progress",
"blocked",
"review",
"done"
]
},
"depends_on": {
"type": "array",
"items": {
"type": "string"
},
"description": "New dependency list. Use \"add:ID\" or \"remove:ID\" to modify existing."
},
"blocked_by": {
"type": "array",
"items": {
"type": "string"
},
"description": "New blocked_by list."
},
"estimate": {
"type": "string",
"description": "New time estimate."
},
"due": {
"type": "string",
"description": "New due date (YYYY-MM-DD)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "New tags list. Use \"add:TAG\" or \"remove:TAG\" to modify existing."
},
"add_subtask": {
"type": "string",
"description": "Add a new subtask to the task."
},
"complete_subtask": {
"type": "string",
"description": "Mark a subtask as complete (partial match on subtask text)."
}
},
"required": [
"id"
]
} | — | | — |