Comprehensive kanban board and task management via ktui CLI. Use for project tracking, todo lists, task dependencies, workflow automation, and board management...
You are an expert at using ktui (kanban-tui), a powerful CLI tool for managing kanban boards, tasks, and workflows. This skill enables you to help users organize projects, track tasks, manage dependencies, and automate workflows through a local SQLite-backed system.
--board specified)reset_column (default start), start_column (in-progress), finish_column (completion)ktui, use ktui task/board/column ... commands only--json flag for machine-readable output in automation--no-confirm for automation/scriptingAutomatically activate when the user:
ktui board list --json
Output: Array of boards with board_id, name, icon, creation_date, reset_column, start_column, finish_column
Note: Active board shown in output header (look for "Active Board: ...")
ktui board create "Board Name" --icon "π" --set-active -c "Col1" -c "Col2", -c "Col3"
Options:
--set-active: Immediately activate this board-c "Col1" -c "Col2", -c "Col3": Custom columns (default: "Ready, Doing, Done, Archive").--icon: Optional emoji icon for visual identificationktui board update BOARD_ID --name "New Name" --icon "π¨"
Note: Only specified fields are updated; others remain unchanged
ktui board activate BOARD_ID
Critical: Always verify active board before task operations
ktui board delete BOARD_ID --no-confirm
Warning: Deletes all associated tasks and columns, as an agent always use --no-confirm
ktui category list --json
Output: Array of categories with category_id, name, color
ktui category create "Category Name" "color"
Options:
color: Optional. If omitted, a color is automatically assigned.
Note: Color must be a valid CSS/X11 color name or hex code (e.g., "red", "#FF0000").ktui category update CATEGORY_ID --name "New Name" --color "new-color"
Note: Only specified fields are updated; others remain unchanged
ktui category delete CATEGORY_ID --no-confirm
Impact: Resets the category of all associated tasks to null, as an agent always use --no-confirm
ktui task list --json
Filters:
--column COLUMN_ID: Tasks in specific column--board BOARD_ID: Tasks on specific board--actionable: Only non-blocked tasks (no unfinished dependencies)Output Fields: task_id, title, description, column_id, board_id, due_date, category_id, depends_on (array), creation_date
ktui task create "Task Title" --description "Details" --column COLUMN_ID --category CATEGORY_ID --due-date 2026-01-20 --depends-on TASK_ID
Options:
--column: Target column ID (omit for leftmost visible column of active board)--category: Category ID to assign to the task--due-date: Format MUST be YYYY-MM-DD (e.g., "2026-01-20")--depends-on: Dependency task ID (use multiple times for multiple dependencies)Example Multi-Dependency:
ktui task create "Deploy to prod" --depends-on 5 --depends-on 7 --depends-on 9
Note: To create tasks on other boards, only use the --column flag to reference a column on that board
ktui task update TASK_ID --title "New Title" --description "New Desc" --category CATEGORY_ID --due-date 2026-01-21 --depends-on TASK_ID --remove-dependency TASK_ID
Options:
--title: Update task title--description: Update task description--category: Update category ID--due-date: Update due date (format: YYYY-MM-DD)--depends-on: Add dependency task ID (use multiple times for multiple dependencies)--remove-dependency: Remove dependency task ID (use multiple times for multiple dependencies)Note: Only specified fields are updated; others remain unchanged
Dependency Management Examples:
# Add single dependency
ktui task update 42 --depends-on 15
# Add multiple dependencies
ktui task update 42 --depends-on 15 --depends-on 20 --depends-on 25
# Remove dependency
ktui task update 42 --remove-dependency 15
# Update title and add dependencies
ktui task update 42 --title "Updated Task" --depends-on 15 --depends-on 20
Validation: The system validates dependencies when updating:
ktui task move TASK_ID TARGET_COLUMN_ID
Dependency Blocking: Tasks with unfinished dependencies cannot move to start/finish columns
ktui task delete TASK_ID --no-confirm
Impact: Removes task and all its dependency relationships, as an agent always use --no-confirm
ktui column list --json
Filters: --board BOARD_ID to show columns for specific board
Output: column_id, name, board_id, position, visible
CLI Capabilities:
ktui column list (read-only query)ktui)Sequential Workflow:
# Create tasks with chain dependencies
ktui task create "Design API" --column 1
ktui task create "Implement API" --column 1 --depends-on 1
ktui task create "Write Tests" --column 1 --depends-on 2
ktui task create "Deploy" --column 1 --depends-on 3
Parallel Dependencies:
# Multiple tasks must complete before final task
ktui task create "Frontend" --column 1
ktui task create "Backend" --column 1
ktui task create "Database" --column 1
ktui task create "Integration" --column 1 --depends-on 1 --depends-on 2 --depends-on 3
ktui task list --json --actionable
Use Case: Find tasks ready to work on (no blocking dependencies)
Follow this sequence for all operations:
# Get board IDs and identify active board
ktui board list --json
# Get column IDs for current board
ktui column list --json
# Get task IDs
ktui task list --json
ktui board activate BOARD_ID--json for automation--no-confirm for non-interactive executionUser Request: "Set up a new project board for our API development"
Actions:
# Create board with workflow columns Always prefer default columns, i.e. no -c options, if not told otherwise, to ensure already working status columns
ktui board create "API Development" --icon "βοΈ" --set-active
# Get column IDs
ktui column list --json
# Create initial tasks with dependencies
ktui task create "Define API spec" --column 1 --due-date 2026-01-25
ktui task create "Implement endpoints" --column 1 --depends-on 1 --due-date 2026-02-01
ktui task create "Write unit tests" --column 1 --depends-on 2 --due-date 2026-02-05
ktui task create "Integration testing" --column 1 --depends-on 3 --due-date 2026-02-08
User Request: "What tasks can I work on today?"
Actions:
# List actionable tasks (no blockers)
ktui task list --json --actionable
# Check for overdue tasks (compare due_date to today's date)
ktui task list --json
# Review specific column (e.g., "In Progress")
ktui task list --json --column 2
User Request: "Move task 42 to the next stage"
Actions:
# Get current task status
ktui task list --json | grep -A 10 '"task_id": 42'
# Get column IDs
ktui column list --json
# Move task (if no blockers)
ktui task move 42 3
# Update task details if needed
ktui task update 42 --description "Completed code review feedback"
User Request: "Show me all boards and their urgent tasks"
Actions:
# List all boards
ktui board list --json
# For each board, check actionable tasks
ktui task list --json --board 1 --actionable
ktui task list --json --board 2 --actionable
{
"board_id": 1,
"name": "Project X",
"icon": "π",
"creation_date": "2026-01-19T01:36:33",
"reset_column": 1,
"start_column": 2,
"finish_column": 3
}
{
"task_id": 42,
"title": "Implement feature",
"description": "Add user authentication",
"column_id": 2,
"board_id": 1,
"due_date": "2026-01-25",
"depends_on": [12, 15],
"creation_date": "2026-01-20T10:30:00"
}
{
"column_id": 2,
"name": "In Progress",
"board_id": 1,
"position": 1,
"visible": true
}
YYYY-MM-DDlist --json commands"Task Title", "Multi-word description"--force)--board BOARD_ID to target specific board when listingktui board list --jsonBefore executing commands:
YYYY-MM-DD--no-confirm for non-interactive operations--json for machine-readable outputktui: Launch TUI interface (exit with ctrl+q)ktui demo: Temporary demo instance with example dataktui demo --clean: Empty demo instancektui demo --keep: Don't delete demo data after exitktui --web: Launch web interface (requires textual-serve)ktui clear: Delete all data and configktui info: Show file locationsktui --version: Display version# Standard initialization sequence
ktui board list --json
ktui column list --json
ktui task list --json
Before executing operations, explain to the user:
# Instead of multiple separate commands, chain related operations:
ktui task create "Task 1" --column 1 && \
ktui task create "Task 2" --column 1 --depends-on 1 && \
ktui task create "Task 3" --column 1 --depends-on 2
When showing results to users, parse JSON and present:
# Check for tasks ready to move to next stage
TASKS=$(ktui task list --json --column 2 --actionable)
# Parse JSON, filter by criteria, move qualifying tasks
ktui task move TASK_ID 3
--force flagktui task list --json | jq '.[] | select(.task_id == X) | .depends_on'ktui board list --json to verify board existsYYYY-MM-DD formatktui board activate CORRECT_BOARD_ID or use --board flagYou now have complete access to the kanban-tui system. Remember:
ktui command to open the TUI--json flagThis skill empowers you to help users organize complex projects, automate workflows, and maintain productive task management systems entirely from the command line.