Kanban Management Skill
This skill provides comprehensive tools for managing kanban boards, projects, columns, cards, and comments through the MCP interface.
What You Can Do With This Skill
The agent can perform the following categories of actions:
| Capability |
Description |
| Project Management |
List and sync projects that own boards |
| Board Operations |
Create, read, update, delete kanban boards |
| Column Management |
Add, modify, reorder, remove columns in boards |
| Card Operations |
Create, update, move, delete task cards |
| Batch Operations |
Create, update, move, or delete multiple cards simultaneously |
| Comments |
Add, modify, retrieve, and delete comments on cards |
When to Use Each Capability
Project Management
When to use:
- At the start of any kanban workflow to identify which project to work with
- When creating a new board, you need the project_id first
- When you need to see all available projects
How to use:
# List all available projects
list_projects()
# Sync projects from filesystem (discovers projects automatically)
sync_projects(projects_path="/a0/usr/projects")
Instance: User says "Show me my projects" or "I need to create a board for my project"
Board Operations
When to use:
- User wants to see all boards across projects
- User needs to view a specific board with all its columns and cards
- Creating a new board for organizing work
- Renaming or updating board metadata
- Deleting an old or unused board
How to use:
# List all boards with their project info
list_boards()
# Get a specific board (returns columns and cards)
get_board(board_id="uuid-of-board")
# Create a new board for a project
create_board(project_id="uuid-of-project", name="Sprint Board")
# Update board name or metadata
update_board(board_id="uuid-of-board", name="New Name")
# Delete a board (deletes columns and cards too)
delete_board(board_id="uuid-of-board")
Instances:
- User says "Create a kanban board for my marketing project"
- User says "Show me the board called Sprint Planning"
- User says "What boards exist in my project?"
Column Management
When to use:
- Setting up a new board with workflow stages
- Adding a new stage to an existing workflow (e.g., "In Review")
- Renaming columns to match team terminology
- Reordering columns to reflect priority
- Removing columns that are no longer needed
How to use:
# Create a new column in a board
create_column(board_id="uuid-of-board", name="In Review", position=2)
# Rename a column
update_column(column_id="uuid-of-column", name="Review")
# Reorder a column (position is 0-indexed)
update_column(column_id="uuid-of-column", position=3)
# Delete a column (moves cards to first column or fails if column has cards - handle appropriately)
delete_column(column_id="uuid-of-column")
Instances:
- User says "Add a 'Testing' column to our board"
- User says "Rename the third column to 'Awaiting Approval'"
- User wants to set up columns like: To Do, In Progress, In Review, Done
Common column patterns:
| Pattern |
Columns |
| Simple |
To Do, In Progress, Done |
| Standard |
Backlog, To Do, In Progress, Done |
| Complete |
To Do, In Progress, In Review, Done, Verified |
| Bug Tracking |
To Do, In Progress, In Review, Verified, Backlog |
Card Operations
When to use:
- Creating new tasks or work items
- Updating task details (title, description, metadata)
- Moving tasks between workflow stages (columns)
- Reordering tasks within a column
- Deleting tasks that are no longer needed
How to use:
# Create a new task card
create_card(column_id="uuid-of-column", title="Fix login bug", description="Users cannot log in with special characters")
# Update card details
update_card(card_id="uuid-of-card", title="Fixed login bug", description="Issue resolved in v2.1")
# Move card to a different column (workflow stage change)
move_card(card_id="uuid-of-card", column_id="new-column-uuid", position=0)
# Reorder card within same column
update_card(card_id="uuid-of-card", position=5)
# Move card by updating its column
update_card(card_id="uuid-of-card", column_id="new-column-uuid")
# Delete a card
delete_card(card_id="uuid-of-card")
Instances:
- User says "Add a task to review the design"
- User says "Move the bug fix to the Done column"
- User says "Update the description for task #3"
- User says "What tasks are in the To Do column?"
Card lifecycle:
- Create in appropriate column (typically "To Do")
- Move through columns as work progresses
- End in final column (typically "Done" or "Verified")
Batch Operations
When to use:
- Importing multiple tasks at once (e.g., from a sprint backlog)
- Updating status of multiple tasks simultaneously
- Moving multiple tasks to a new stage (e.g., starting a new sprint)
- Deleting completed or obsolete tasks in bulk
- Reorganizing many cards at once
How to use:
# Create multiple cards at once
batch_create_cards(cards=[
{"column_id": "col-uuid-1", "title": "Task 1", "description": "First task"},
{"column_id": "col-uuid-1", "title": "Task 2", "description": "Second task"},
{"column_id": "col-uuid-2", "title": "Task 3"}
])
# Update multiple cards at once
batch_update_cards(cards=[
{"id": "card-uuid-1", "title": "Updated Title 1", "position": 0},
{"id": "card-uuid-2", "description": "New description"},
{"id": "card-uuid-3", "column_id": "new-column-uuid"}
])
# Delete multiple cards at once
batch_delete_cards(ids=["card-uuid-1", "card-uuid-2", "card-uuid-3"])
# Move multiple cards to a column at once
batch_move_cards(card_ids=["card-uuid-1", "card-uuid-2", "card-uuid-3"], column_id="target-column-uuid")
Instances:
- User says "Import these 10 tasks from our planning meeting"
- User says "Move all completed tasks to Done column"
- User says "Archive these old tasks (delete them)"
- User says "Start a new sprint - move these tasks to In Progress"
Batch vs Individual:
- Use batch when: 3+ cards need same operation, importing lists, bulk moves
- Use individual when: 1-2 cards, complex different updates, unclear requirements
Comments
When to use:
- Adding notes or context to a task
- Recording review feedback on a task
- Adding questions that need answering
- Tracking discussions about work items
- Adding status updates or blockers
How to use:
# Get all comments on a card
get_comments(card_id="uuid-of-card")
# Add a comment to a card
create_comment(card_id="uuid-of-card", content="This needs review before merging", author="Reviewer")
# Update a comment
update_comment(comment_id="uuid-of-comment", content="Updated comment text")
# Delete a comment
delete_comment(comment_id="uuid-of-comment")
Instances:
- User says "Add a note to the design task about the color scheme"
- User says "What's the discussion on the bug fix?"
- User says "Mark the review comment as addressed"
- User says "Add feedback: needs more testing"
Complete Tool Reference
Projects
| Tool |
Description |
list_projects |
List all projects that can own boards |
sync_projects |
Sync projects from filesystem to discover available projects |
Boards
| Tool |
Description |
list_boards |
List all kanban boards with project information |
get_board |
Get a board with all its columns and cards |
create_board |
Create a new board for a project |
update_board |
Update a board's name or metadata |
delete_board |
Delete a board and all its contents |
Columns
| Tool |
Description |
create_column |
Create a new column in a board |
update_column |
Update a column's name or position |
delete_column |
Delete a column |
Cards
| Tool |
Description |
create_card |
Create a new card in a column |
update_card |
Update a card's title, description, position, or column |
move_card |
Move a card to a different column |
delete_card |
Delete a card |
Batch Operations
| Tool |
Description |
batch_create_cards |
Create multiple cards at once |
batch_update_cards |
Update multiple cards at once |
batch_delete_cards |
Delete multiple cards at once |
batch_move_cards |
Move multiple cards to a column at once |
Comments
| Tool |
Description |
get_comments |
Get comments for a card |
create_comment |
Create a comment on a card |
update_comment |
Update a comment |
delete_comment |
Delete a comment |
Common Workflows
Creating a New Project Board
- Identify the project:
list_projects() or sync_projects()
- Create the board:
create_board(project_id="uuid", name="Board Name")
- Set up columns: Use
create_column for each workflow stage
- Add tasks: Use
create_card or batch_create_cards
Moving Tasks Through Workflow
- View current state:
get_board(board_id="uuid")
- Move task:
move_card(card_id="uuid", column_id="next-stage-uuid")
- Or update directly:
update_card(card_id="uuid", column_id="next-stage-uuid")
Bulk Task Import
- Get target column: Find column ID from
get_board
- Prepare card data: Create list of {column_id, title, description}
- Import:
batch_create_cards(cards=[...])
Adding Discussion to Tasks
- Find card: Get card ID from
get_board
- Add comment:
create_comment(card_id="uuid", content="...", author="Name")
- View discussion:
get_comments(card_id="uuid")
Data Structures
Board Response
{
"id": "uuid",
"project_id": "uuid",
"name": "Board Name",
"columns": [
{
"id": "uuid",
"name": "To Do",
"position": 0,
"cards": [
{
"id": "uuid",
"title": "Task title",
"description": "Task description",
"position": 0
}
]
}
]
}
Edge Cases
- Empty board: Boards are created with default columns: New, To Do, In Progress, Done
- Position handling: When moving cards, specify position explicitly or they'll append to end
- Batch partial failure: If one card in a batch fails, others still proceed; check returned results
- Column deletion: May fail if column has cards - handle by moving cards first or using batch operations
- Card updates: Can update multiple fields in single call (title, description, column_id, position)
Best Practices
- Always get the board first to understand structure before making changes
- Use batch operations for 3+ cards to reduce API calls
- Use descriptive titles for cards that clearly indicate the work item
- Add descriptions for cards with details, requirements, or context
- Use comments for ongoing discussion rather than constantly editing card description
- Plan column structure before bulk card creation
Skill Version: 3.0 | Focus: MCP-only usage for kanban board management
1---2name: kanban-management3description: A skill for managing kanban boards, projects, columns, cards, and comments via MCP. Use when: user needs to create or manage tasks, organize work items, track project progress, manage to-do lists, create kanban boards, move tasks through workflow stages, add comments to tasks, or perform batch operations on multiple cards at once.4license: MIT5---67# Kanban Management Skill89This skill provides comprehensive tools for managing kanban boards, projects, columns, cards, and comments through the MCP interface.1011## What You Can Do With This Skill1213The agent can perform the following categories of actions:1415| Capability | Description |16|------------|-------------|17| **Project Management** | List and sync projects that own boards |18| **Board Operations** | Create, read, update, delete kanban boards |19| **Column Management** | Add, modify, reorder, remove columns in boards |20| **Card Operations** | Create, update, move, delete task cards |21| **Batch Operations** | Create, update, move, or delete multiple cards simultaneously |22| **Comments** | Add, modify, retrieve, and delete comments on cards |2324---2526## When to Use Each Capability2728### Project Management2930**When to use:**31- At the start of any kanban workflow to identify which project to work with32- When creating a new board, you need the project_id first33- When you need to see all available projects3435**How to use:**36```37# List all available projects38list_projects()3940# Sync projects from filesystem (discovers projects automatically)41sync_projects(projects_path="/a0/usr/projects")42```4344**Instance:** User says "Show me my projects" or "I need to create a board for my project"4546---4748### Board Operations4950**When to use:**51- User wants to see all boards across projects52- User needs to view a specific board with all its columns and cards53- Creating a new board for organizing work54- Renaming or updating board metadata55- Deleting an old or unused board5657**How to use:**58```59# List all boards with their project info60list_boards()6162# Get a specific board (returns columns and cards)63get_board(board_id="uuid-of-board")6465# Create a new board for a project66create_board(project_id="uuid-of-project", name="Sprint Board")6768# Update board name or metadata69update_board(board_id="uuid-of-board", name="New Name")7071# Delete a board (deletes columns and cards too)72delete_board(board_id="uuid-of-board")73```7475**Instances:**76- User says "Create a kanban board for my marketing project"77- User says "Show me the board called Sprint Planning"78- User says "What boards exist in my project?"7980---8182### Column Management8384**When to use:**85- Setting up a new board with workflow stages86- Adding a new stage to an existing workflow (e.g., "In Review")87- Renaming columns to match team terminology88- Reordering columns to reflect priority89- Removing columns that are no longer needed9091**How to use:**92```93# Create a new column in a board94create_column(board_id="uuid-of-board", name="In Review", position=2)9596# Rename a column97update_column(column_id="uuid-of-column", name="Review")9899# Reorder a column (position is 0-indexed)100update_column(column_id="uuid-of-column", position=3)101102# Delete a column (moves cards to first column or fails if column has cards - handle appropriately)103delete_column(column_id="uuid-of-column")104```105106**Instances:**107- User says "Add a 'Testing' column to our board"108- User says "Rename the third column to 'Awaiting Approval'"109- User wants to set up columns like: To Do, In Progress, In Review, Done110111**Common column patterns:**112| Pattern | Columns |113|---------|---------|114| Simple | To Do, In Progress, Done |115| Standard | Backlog, To Do, In Progress, Done |116| Complete | To Do, In Progress, In Review, Done, Verified |117| Bug Tracking | To Do, In Progress, In Review, Verified, Backlog |118119---120121### Card Operations122123**When to use:**124- Creating new tasks or work items125- Updating task details (title, description, metadata)126- Moving tasks between workflow stages (columns)127- Reordering tasks within a column128- Deleting tasks that are no longer needed129130**How to use:**131```132# Create a new task card133create_card(column_id="uuid-of-column", title="Fix login bug", description="Users cannot log in with special characters")134135# Update card details136update_card(card_id="uuid-of-card", title="Fixed login bug", description="Issue resolved in v2.1")137138# Move card to a different column (workflow stage change)139move_card(card_id="uuid-of-card", column_id="new-column-uuid", position=0)140141# Reorder card within same column142update_card(card_id="uuid-of-card", position=5)143144# Move card by updating its column145update_card(card_id="uuid-of-card", column_id="new-column-uuid")146147# Delete a card148delete_card(card_id="uuid-of-card")149```150151**Instances:**152- User says "Add a task to review the design"153- User says "Move the bug fix to the Done column"154- User says "Update the description for task #3"155- User says "What tasks are in the To Do column?"156157**Card lifecycle:**1581. Create in appropriate column (typically "To Do")1592. Move through columns as work progresses1603. End in final column (typically "Done" or "Verified")161162---163164### Batch Operations165166**When to use:**167- Importing multiple tasks at once (e.g., from a sprint backlog)168- Updating status of multiple tasks simultaneously169- Moving multiple tasks to a new stage (e.g., starting a new sprint)170- Deleting completed or obsolete tasks in bulk171- Reorganizing many cards at once172173**How to use:**174```175# Create multiple cards at once176batch_create_cards(cards=[177 {"column_id": "col-uuid-1", "title": "Task 1", "description": "First task"},178 {"column_id": "col-uuid-1", "title": "Task 2", "description": "Second task"},179 {"column_id": "col-uuid-2", "title": "Task 3"}180])181182# Update multiple cards at once183batch_update_cards(cards=[184 {"id": "card-uuid-1", "title": "Updated Title 1", "position": 0},185 {"id": "card-uuid-2", "description": "New description"},186 {"id": "card-uuid-3", "column_id": "new-column-uuid"}187])188189# Delete multiple cards at once190batch_delete_cards(ids=["card-uuid-1", "card-uuid-2", "card-uuid-3"])191192# Move multiple cards to a column at once193batch_move_cards(card_ids=["card-uuid-1", "card-uuid-2", "card-uuid-3"], column_id="target-column-uuid")194```195196**Instances:**197- User says "Import these 10 tasks from our planning meeting"198- User says "Move all completed tasks to Done column"199- User says "Archive these old tasks (delete them)"200- User says "Start a new sprint - move these tasks to In Progress"201202**Batch vs Individual:**203- Use batch when: 3+ cards need same operation, importing lists, bulk moves204- Use individual when: 1-2 cards, complex different updates, unclear requirements205206---207208### Comments209210**When to use:**211- Adding notes or context to a task212- Recording review feedback on a task213- Adding questions that need answering214- Tracking discussions about work items215- Adding status updates or blockers216217**How to use:**218```219# Get all comments on a card220get_comments(card_id="uuid-of-card")221222# Add a comment to a card223create_comment(card_id="uuid-of-card", content="This needs review before merging", author="Reviewer")224225# Update a comment226update_comment(comment_id="uuid-of-comment", content="Updated comment text")227228# Delete a comment229delete_comment(comment_id="uuid-of-comment")230```231232**Instances:**233- User says "Add a note to the design task about the color scheme"234- User says "What's the discussion on the bug fix?"235- User says "Mark the review comment as addressed"236- User says "Add feedback: needs more testing"237238---239240## Complete Tool Reference241242### Projects243| Tool | Description |244|------|-------------|245| `list_projects` | List all projects that can own boards |246| `sync_projects` | Sync projects from filesystem to discover available projects |247248### Boards249| Tool | Description |250|------|-------------|251| `list_boards` | List all kanban boards with project information |252| `get_board` | Get a board with all its columns and cards |253| `create_board` | Create a new board for a project |254| `update_board` | Update a board's name or metadata |255| `delete_board` | Delete a board and all its contents |256257### Columns258| Tool | Description |259|------|-------------|260| `create_column` | Create a new column in a board |261| `update_column` | Update a column's name or position |262| `delete_column` | Delete a column |263264### Cards265| Tool | Description |266|------|-------------|267| `create_card` | Create a new card in a column |268| `update_card` | Update a card's title, description, position, or column |269| `move_card` | Move a card to a different column |270| `delete_card` | Delete a card |271272### Batch Operations273| Tool | Description |274|------|-------------|275| `batch_create_cards` | Create multiple cards at once |276| `batch_update_cards` | Update multiple cards at once |277| `batch_delete_cards` | Delete multiple cards at once |278| `batch_move_cards` | Move multiple cards to a column at once |279280### Comments281| Tool | Description |282|------|-------------|283| `get_comments` | Get comments for a card |284| `create_comment` | Create a comment on a card |285| `update_comment` | Update a comment |286| `delete_comment` | Delete a comment |287288---289290## Common Workflows291292### Creating a New Project Board2932941. **Identify the project**: `list_projects()` or `sync_projects()`2952. **Create the board**: `create_board(project_id="uuid", name="Board Name")`2963. **Set up columns**: Use `create_column` for each workflow stage2974. **Add tasks**: Use `create_card` or `batch_create_cards`298299### Moving Tasks Through Workflow3003011. **View current state**: `get_board(board_id="uuid")`3022. **Move task**: `move_card(card_id="uuid", column_id="next-stage-uuid")`3033. **Or update directly**: `update_card(card_id="uuid", column_id="next-stage-uuid")`304305### Bulk Task Import3063071. **Get target column**: Find column ID from `get_board`3082. **Prepare card data**: Create list of {column_id, title, description}3093. **Import**: `batch_create_cards(cards=[...])`310311### Adding Discussion to Tasks3123131. **Find card**: Get card ID from `get_board`3142. **Add comment**: `create_comment(card_id="uuid", content="...", author="Name")`3153. **View discussion**: `get_comments(card_id="uuid")`316317---318319## Data Structures320321### Board Response322```json323{324 "id": "uuid",325 "project_id": "uuid",326 "name": "Board Name",327 "columns": [328 {329 "id": "uuid",330 "name": "To Do",331 "position": 0,332 "cards": [333 {334 "id": "uuid",335 "title": "Task title",336 "description": "Task description",337 "position": 0338 }339 ]340 }341 ]342}343```344345---346347## Edge Cases3483491. **Empty board**: Boards are created with default columns: New, To Do, In Progress, Done3502. **Position handling**: When moving cards, specify position explicitly or they'll append to end3513. **Batch partial failure**: If one card in a batch fails, others still proceed; check returned results3524. **Column deletion**: May fail if column has cards - handle by moving cards first or using batch operations3535. **Card updates**: Can update multiple fields in single call (title, description, column_id, position)354355---356357## Best Practices3583591. **Always get the board first** to understand structure before making changes3602. **Use batch operations** for 3+ cards to reduce API calls3613. **Use descriptive titles** for cards that clearly indicate the work item3624. **Add descriptions** for cards with details, requirements, or context3635. **Use comments** for ongoing discussion rather than constantly editing card description3646. **Plan column structure** before bulk card creation365366---367368*Skill Version: 3.0 | Focus: MCP-only usage for kanban board management*