by rookedsysc
Keyboard-first desktop Kanban workspace for AI coding agents with embedded terminals, git worktrees, and hook-driven task tracking.
# Add to your Claude Code skills
git clone https://github.com/rookedsysc/kanvibeLast scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@xmldom/xmldom: xmldom: XML injection via unsafe CDATA serialization allows attacker-controlled markup insertion",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ajv: ajv has ReDoS when using `$data` option",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "dompurify: DOMPurify contains a Cross-site Scripting vulnerability",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "electron: Electron has ASAR Integrity Bypass via resource modification",
"severity": "high"
},
{
"type": "npm-audit",
"message": "flatted: flatted vulnerable to unbounded recursion DoS in parse() revive phase",
"severity": "high"
},
{
"type": "npm-audit",
"message": "icu-minify: mcp-data-vis vulnerable to denial of service via unsanitized `select` key lookup on `Object.prototype` with `precompile: true`",
"severity": "low"
},
{
"type": "npm-audit",
"message": "lodash: lodash vulnerable to Code Injection via `_.template` imports key names",
"severity": "high"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "monaco-editor: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "next: Next.js: HTTP request smuggling in rewrites",
"severity": "high"
},
{
"type": "npm-audit",
"message": "next-intl: next-intl has an open redirect vulnerability",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "rollup: Rollup 4 has Arbitrary File Write via Path Traversal",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tmp: tmp has Path Traversal via unsanitized prefix/postfix that enables directory escape",
"severity": "high"
},
{
"type": "npm-audit",
"message": "undici: Undici: Malicious WebSocket 64-bit length overflows parser and crashes the client",
"severity": "high"
},
{
"type": "npm-audit",
"message": "uuid: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ws: ws: Uninitialized memory disclosure",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:19:59.232Z",
"npmAuditRan": true,
"pipAuditRan": true
}kanvibe is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by rookedsysc. Keyboard-first desktop Kanban workspace for AI coding agents with embedded terminals, git worktrees, and hook-driven task tracking. It has 137 GitHub stars.
kanvibe returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/rookedsysc/kanvibe" and add it to your Claude Code skills directory (see the Installation section above).
kanvibe is primarily written in TypeScript. It is open-source under rookedsysc on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh kanvibe against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
Keyboard-first Kanban workspace for AI coding agents
KanVibe keeps AI coding work out of scattered terminal tabs. Track branch-based tasks on a real-time Kanban board, open each task's tmux/zellij session in the browser or desktop app, and let Claude Code, Gemini CLI, Codex CLI, and OpenCode hooks move tasks through the workflow automatically.
Use shortcuts for project filters, task search, notifications, task detail panels, and common task actions without losing terminal focus.
Buying me a coffee is nice, but honestly? A contribution would make my day even more. :)
Watch Demo on YouTube
Open task search from anywhere, filter by project or branch name, and jump directly into the task workspace without returning to the board first.
Use numbered dock shortcuts on a task detail page to open task metadata, hook status, AI chat, and PR actions before the keystroke reaches the embedded terminal.
Narrow the board to the active projects you care about, with keyboard navigation for switching between repositories quickly.
Open the notification panel to review AI agent status changes, background sync results, and task events, then jump to the related task.
Create follow-up branch TODOs directly from the highlighted search result, preserving project and branch context for the next piece of work.
Turn on Vim-style board controls in Settings → Keyboard, then move across task cards with h/j/k/l, find visible task text with /, open the new-task modal with n, move statuses with :move progress, and delete a focused task with dd.
Open the Vim controls demo video
| Dependency | Version | Required | Install |
|---|---|---|---|
| git | latest | Yes | brew install git |
| tmux | latest | Yes | brew install tmux |
| gh | latest | Yes | brew install gh (requires gh auth login) |
| zellij | latest | No | brew install zellij |
Until KanVibe is accepted into the official Homebrew Cask repository, install it from the KanVibe Homebrew tap:
brew install --cask rookedsysc/kanvibe/kanvibe
open -a KanVibe
After the official Homebrew Cask is accepted, the install command becomes:
brew install --cask kanvibe
brew update
brew upgrade --cask kanvibe
brew uninstall --cask kanvibe
brew untap rookedsysc/kanvibe
Search for your local git repository using the fzf-style folder search in project settings. KanVibe scans the directory and automatically detects existing worktree branches.
To stop managing a project, delete it from project settings. This removes the project and its KanVibe tasks from the embedded SQLite database only; git branches, worktrees, and files on disk are kept.
Add a TODO task from the Kanban board. When creating a task with a branch name, KanVibe automatically:
Tasks are managed through 5 statuses: TODO → PROGRESS → PENDING → REVIEW → DONE
Change statuses via drag & drop, or let AI Agent Hooks transition them automatically. When a task moves to DONE, its branch, worktree, and terminal session are automatically deleted.
Each task's terminal page supports multiple pane layouts:
| Layout | Description |
|---|---|
| Single | One full-screen pane |
| Horizontal 2 | Two panes side by side |
| Vertical 2 | Two panes stacked |
| Left + Right TB | Left pane + right top/bottom split |
| Left TB + Right | Left top/bottom split + right pane |
| Quad | Four equal panes |
Each pane can run a custom command (e.g., vim, htop, lazygit, test runner, etc.). Configure layouts globally or per-project from the settings dialog.
~/.ssh/config~/.kanvibe, with per-host concurrency capped at 4x available CPU coresssh -Y) is requested only when local DISPLAY, remote X11Forwarding, and xauth are available| Shortcut | Scope | Action |
|---|---|---|
Cmd/Ctrl+F or / with Vim-style controls enabled |
Board | Open page find for visible project/task text; press Enter for next and Shift+Enter for previous |
h / j / k / l or ← / ↓ / ↑ / → |
Board task cards | Move focus left/down/up/right across visible task cards; if no task is focused, enter the first visible task |
n |
Board | Open the new task modal immediately |
:move todo|progress|pending|review|done |
Focused board task card | Move the focused task to the target status without drag-and-drop; press Tab in the command input to autocomplete a unique status prefix |
dd |
Focused board task card | Delete the focused task after confirmation |
Cmd/Ctrl+Shift+O |
Global | Open quick task search by branch or project name (default, configurable) |
Cmd/Ctrl+Shift+P |
Board | Open the project filter dropdown |
Cmd/Ctrl+Shift+I |
Board | Open the notifications dropdown |
Cmd+[ / Cmd+] (macOS), Alt+[ / Alt+] (Linux) |
Global | Navigate back/forward through app history; back falls back to board home when there is no previous page |
Cmd+1/2/3 (macOS), Alt+1/2/3 (Linux) |
Task detail | Activate the numbered detail dock items: info, status/hooks, and AI chat. These shortcuts are intercepted before terminal input |
Cmd+4 (macOS), Alt+4 (Linux) |
Task detail | Open the task PR in the browser when a PR exists; otherwise the shortcut belongs to the fourth numbered dock item when present |
Cmd/Ctrl+N |
Quick task search | Create a new branch TODO from the currently highlighted task |
↑ / ↓ / Enter / Shift+Enter / Esc |
Quick task search | Move selection, open task, open task in a new window, close dialog |
↑ / ↓ / Enter / Esc |
Project filter dropdown | Move selection, toggle project filter, close dropdown |
↑ / ↓ / Enter / Esc |
Notifications dropdown | Move selection, op |