Todokan
by @banatealab
Manage tasks, boards, thoughts, and reviews in Todokan via MCP
clawhub install todokanπ About This Skill
name: todokan version: 1.3.2 description: "Manage tasks, boards, thoughts, and reviews in Todokan via MCP" homepage: https://todokan.com metadata: {"category":"productivity","tags":["tasks","kanban","mcp","planning","review"],"requires":{"env":["TODOKAN_API_KEY","TODOKAN_MCP_URL"],"mcp":true},"openclaw":{"homepage":"https://todokan.com","requires":{"env":["TODOKAN_API_KEY","TODOKAN_MCP_URL"]}}}
Todokan β Kanban Task Management
Todokan is a kanban-style task manager. You can manage the user's tasks, boards, and projects through MCP tools.
Prerequisites
TODOKAN_API_KEY, TODOKAN_MCP_URL (declared in skill metadata)Trigger β When to Activate This Skill
Activate the Todokan skill when the user has one of the following intents:
| Intent | Example | |--------|---------| | Create / edit / delete a task | "Create a task: review PR" | | Show boards or tasks | "Show me my tasks", "What's on the dev board?" | | Change status | "Mark task X as done" | | Save research results | "Save this as a task / document in Todokan" | | Briefing / summary from tasks | "Give me a briefing of my open tasks" | | Attach a document to a task | "Write a note on task X" | | Search topics across boards | "What did I note about the investor meeting?" | | Retrieve changes since last check | "What's new since this morning?" |
Do not activate when the user is just talking about tasks in general without referencing Todokan.
Tool Ordering
Follow this order to achieve consistent results:
Reading (always orient first)
1. list_habitats β Which workspaces exist?
2. list_boards β Which boards exist? (note the IDs)
3. list_tasks β Tasks on a board (with filters)
4. search_across_habitats β Full-text search across boards/habitats
5. get_events_since β Retrieve changes since a timestamp
6. list_board_labels β Available labels + usage counts
7. list_task_documents β Documents attached to a task
8. read_document β Content of a document
Writing (only after orientation + confirmation)
9. create_task / create_board / create_habitat
10. update_task / update_task_by_title
11. create_document / add_document_to_task
12. delete_task β Only after explicit confirmation
AI-Assisted (optional)
13. propose_task_variants β Generate 2-3 variants
14. confirm_task_fields β Review fields before creation
Golden rule: Never write blindly. Always call list_boards first to discover IDs β never guess UUIDs.
Mandatory Checks
Before executing write actions, clarify the following:
Before create_task
list_boards, let the user choose)normal if unclearBefore update_task
Before delete_task
Before create_document
Guardrails
No Hallucination
No Sensitive Data
Source Attribution
Source: [URL or filename]
Created by: Agent on [date]
Scope Awareness
/mcp-worker): Read-only + comments (add_comment). No task/board CUD, no document creation./mcp): Full access. Still ask before destructive actions.Idempotency
list_tasks).Output Format
Briefing (summary of existing tasks)
## Briefing: [Board Name] β [Date]Open (todo): X tasks
In progress (doing): Y tasks
Completed (done): Z tasks
Urgent (high priority)
[ ] [Task Title] β due [Date]
[ ] [Task Title] β due [Date] In Progress
[~] [Task Title] β since [Date] Next Steps
[1-2 sentences recommendation based on the data]
Draft (preview before task creation)
## Task Draft| Field | Value |
|-------------|-------------------------------|
| Board | [Board Name] |
| Title | [Title, max 80 chars] |
| Description | [Description, max 500 chars] |
| Status | todo |
| Priority | [low / normal / high] |
| Due | [YYYY-MM-DD or β] |
| Labels | [label1, label2] |
Should I create this task?
Document Draft
## Document DraftTitle: [Title]
Format: markdown
Linked to: [Task Title] on [Board Name]
[Document content]
Should I create this document?
Data Model
Habitat (workspace/project)
βββ Board (kanban board, type: "task" or "thought")
βββ Task (individual item with status, priority, labels, due date)
βββ Document (attached notes/docs in markdown, text, or html)
task for actionable items, thought for ideas/notes.Status Values
| Status | Meaning |
|--------|---------|
| todo | Not started |
| doing | In progress |
| done | Completed |
Priority Values
| Priority | Meaning |
|----------|---------|
| low | Low priority |
| normal | Default priority |
| high | High/urgent priority |
Available MCP Tools
Reading Data
list_habitats β List all workspaceslist_boards β List all boards (returns id, name, version)list_tasks β List tasks with filters: boardId, status, label/labels, limit, cursorsearch_across_habitats β Full-text search over habitats/boards/tasks in one callget_events_since β Unified feed since timestamp (task events + comments + documents)list_board_labels β Get unique labels on a board with usage countslist_task_documents β Get documents attached to a taskread_document β Read a document's contentlist_task_comments β List comments on a taskCreating & Modifying (Planner endpoint only)
create_habitat β Create a new workspace (name)create_board β Create a new board (name, optional habitatId, boardType)create_task β Create a task (title, boardId or boardName, optional description, dueDate, priority, labels)update_task β Update a task by ID (taskId, plus fields to change)update_task_by_title β Update a task by exact title match (titleExact, boardId or boardName)delete_task β Permanently delete a task (taskId)create_document β Create a document (optional relatedTaskId to attach)add_document_to_task β Attach a new document to a taskadd_comment β Add a comment to a taskAI-Assisted Creation
propose_task_variants β Generate 2-3 task variants (short/standard/detailed) from a rough descriptionconfirm_task_fields β Preview a variant's fields before creating itAI Visibility Gate
By default, the MCP server only returns tasks where aiEnabled: true. Tasks with aiEnabled: false are invisible to MCP agents β they will not appear in list_tasks, search_across_habitats, get_events_since, or get_task.
Users control this via a "Send to AI" button on each task card. When clicked, it sets aiEnabled: true, assignee: 'ai', and status: 'doing'.
list_tasks { "assignee": "ai" }list_tasks {} (default β only AI-enabled tasks are returned)list_tasks { "aiEnabled": false } (override, useful for reporting)OAuth & Authentication
/mcp): Full CRUD access β all scopes/mcp-worker): boards:read, tasks:read, labels:read, docs:read, comments:read, comments:writeCommon Workflows
List all tasks on a board
1.list_boards to find the board ID
2. list_tasks with boardId to get tasksCreate a task
create_task { "title": "Review PR #42", "boardName": "Development", "priority": "high", "dueDate": "2026-03-01" }
Move a task to done
update_task { "taskId": "", "status": "done" }
Add labels to a task
update_task { "taskId": "", "labels": ["bug", "frontend"] }
Find tasks by label
list_tasks { "boardId": "", "labels": ["bug"] }
Search across all habitats
search_across_habitats { "query": "investor meeting", "limit": 20 }
Poll event feed (agent loop)
get_events_since { "since": "2026-02-24T08:00:00Z", "limit": 200 }
Tips
list_boards first to discover available board IDs β don't guess UUIDs.boardName instead of boardId when the user refers to boards by name.YYYY-MM-DD format.update_task tool requires the task's UUID. Use list_tasks to find it, or update_task_by_title if you only know the title.βοΈ Configuration
TODOKAN_API_KEY, TODOKAN_MCP_URL (declared in skill metadata)π Tips & Best Practices
list_boards first to discover available board IDs β don't guess UUIDs.boardName instead of boardId when the user refers to boards by name.YYYY-MM-DD format.update_task tool requires the task's UUID. Use list_tasks to find it, or update_task_by_title if you only know the title.