This Claude skill enables seamless management of kanban boards using the Kan CLI. It allows users to create, track, and organize tasks, cards, and projects through a local, file-based system. By integrating CLI commands into the AI workflow, it provides a powerful developer-centric approach to project tracking, supporting everything from basic task lists to complex hierarchical project structures with a built-in web interface.
Use Cases
Task Lifecycle Management: Quickly add, edit, and move cards across custom columns (e.g., backlog, in-progress, done) to maintain an up-to-date project status.
Hierarchical Project Tracking: Organize complex features by creating subtasks and parent-child relationships between cards for better granularity.
Custom Workflow Configuration: Initialize boards with specific column names, colors, and custom metadata fields (like priority or bug type) tailored to specific team needs.
Local Data Visualization: Launch a local web UI directly from the CLI to provide a visual overview of the kanban board for easier progress reviews.
Automated Task Scripting: Use the non-interactive mode to integrate task updates into development scripts or CI/CD pipelines.
name
kan
description
Manage kanban boards using the Kan CLI. Use when working with tasks, cards, boards, columns, or project tracking via the kan command.
Kan CLI
Kan is a file-based kanban board CLI. All data lives in .kan/ as plain files.
Getting Help
Every command supports --help for detailed usage:
kan --help
kan add --help
kan column --help
Initialize
kan init # Create .kan/ in current directory
kan init -l .kanboard # Custom location
kan init -c todo,doing,done # Custom columns
kan init -n myboard # Custom board name
kan init -p myproject # Custom project name for favicon/title
kan init -c a,b,c -n project # Both custom columns and name
Project name for favicon and page title (default: git repo or directory name)
Adding Cards
kan add "Fix login bug" # Add card, prompted for details
kan add "Fix login bug" -c backlog # Add to specific column
kan add "Feature" -b features -c todo # Specify board and column
kan add "Title" "Description here" -c backlog # Title + description
kan add "Subtask" -p 12 # Add as child of card 12
kan add "Task" -f priority=high -f type=bug # Add with custom fields
Flag
Description
-b, --board
Target board
-c, --column
Target column
-p, --parent
Parent card ID or alias
-f, --field
Custom field (key=value, repeatable)
Listing Cards
kan list # List all cards grouped by column
kan list -c done # Filter by column
kan list -b myboard # Filter by board
Showing Card Details
kan show 12 # Show card by ID
kan show fix # Show card by alias or partial match
kan show fix -b myboard # Specify board
Editing Cards
kan edit 12 # Edit interactively
kan edit fix -t "New title" # Update title
kan edit fix -c done # Move to column
kan edit fix -d "New description" # Update description
kan edit fix -f priority=low # Update custom field
Flag
Description
-b, --board
Board name
-t, --title
Set card title
-d, --description
Set card description
-c, --column
Move card to column
-p, --parent
Set parent card
-a, --alias
Set explicit alias
-f, --field
Set custom field (key=value, repeatable)
Board Management
kan board create features # Create a new board
kan board list # List all boards
Column Management
kan column add review # Add column to end
kan column add review --color "#9333ea" # With custom color
kan column add review --position 2 # Insert at position
kan column delete review # Delete column
kan column rename review code-review # Rename column
kan column edit review --color "#ec4899" # Change column color
kan column list # List columns
kan column move review --position 1 # Reorder column
kan column move review --after backlog # Insert after another
Web Interface
kan serve # Start web UI (opens browser)
kan serve -p 8080 # Custom port
kan serve --no-open # Don't auto-open browser
Migration
kan migrate # Migrate data to current schema
kan migrate --dry-run # Preview changes without applying
Global Flags
Flag
Description
-I, --non-interactive
Fail instead of prompting for input
Tips
Cards are identified by flexible IDs: numeric ID, alias, or partial match
Use -I for scripting to ensure commands fail rather than prompt