[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F0XXDMP2TNFE88TAC0SXVB":3,"skill-same:01M6F0XXDMP2TNFE88TAC0SXVB":132},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":68,"ownerHtmlUrl":69,"ownerBlogUrl":6,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M6F0XXDMP2TNFE88TAC0SXVB","vibe-kanban",null,"Manage AI coding agents on a visual Kanban board. Run parallel agents through a To Do→In Progress→Review→Done flow with automatic git worktree isolation and GitHub PR creation.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"vibe kanban","kanban","vibe","write","isolation","pr creation","visual","do","github pr","manage","MCP","read","parallel","coding","multi-agent","open","parallel agents","git","run","gemini","2026-11-10 10:12:30",false,"---\nname: vibe-kanban\ndescription: Manage AI coding agents on a visual Kanban board. Run parallel agents through a To Do→In Progress→Review→Done flow with automatic git worktree isolation and GitHub PR creation.\nallowed-tools: Read Write Bash Grep Glob\nmetadata:\n  tags: vibe-kanban, kanban, kanbanview, multi-agent, git-worktree, github-pr, task-management, claude-code, codex, gemini, open-code, mcp\n  platforms: Claude, Codex, Gemini, OpenCode\n  keyword: kanbanview\n  version: 1.2.0\n  source: \"https:\u002F\u002Fgithub.com\u002FBloopAI\u002Fvibe-kanban\"\n  verified: 2026-02-22\n  verified-with: playwright\n---\n\n\n## Platform Support Status (Current)\n\n| Platform | Current Support | Requirements |\n|---|---|---|\n| Claude | Native MCP integration | Register in `mcpServers` |\n| Codex | MCP script integration | `scripts\u002Fmcp-setup.sh --codex` or equivalent config |\n| Gemini | MCP registration | `mcpServers`\u002Fbridge configuration |\n| OpenCode | MCP\u002Fbridge integration | `omx`\u002F`ohmg` or equivalent setup |\n\nWhether this skill alone is sufficient:\n- Claude\u002FGemini: **Yes**\n- Codex: **Yes (requires script-based setup)**\n- OpenCode: **Yes (via orchestration)**\n\n# Vibe Kanban — AI Agent Kanban Board\n\n> Manage multiple AI agents (Claude\u002FCodex\u002FGemini) from a single Kanban board.\n> Moving a card (task) to In Progress automatically creates a git worktree and starts the agent.\n\n## When to use this skill\n\n- When breaking an epic into independent tasks for parallel agent assignment\n- When you want to visually track the status of ongoing AI work\n- When you want to review agent results as diffs\u002Flogs in the UI and retry them\n- When combining GitHub PR-based team collaboration with AI agent work\n\n---\n\n## Prerequisites\n\n```bash\n# Node.js 18+ required\nnode --version\n\n# Complete agent authentication beforehand\nclaude --version    # Set ANTHROPIC_API_KEY\ncodex --version     # Set OPENAI_API_KEY (optional)\ngemini --version    # Set GOOGLE_API_KEY (optional)\nopencode --version  # No separate setup needed (GUI-based)\n```\n\n> **Verified versions (as of 2026-02-22)**\n> - vibe-kanban: v0.1.17\n> - claude (Claude Code): 2.1.50\n> - codex: 0.104.0\n> - gemini: 0.29.5\n> - opencode: 1.2.10\n\n---\n\n## Installation & Running\n\n### npx (fastest)\n\n```bash\n# Run immediately (no installation needed)\nnpx vibe-kanban\n\n# Specify port (default port 3000)\nnpx vibe-kanban --port 3001\n\n# Specify port and environment variable together\nPORT=3001 npx vibe-kanban --port 3001\n\n# Use wrapper script\nbash scripts\u002Fvibe-kanban-start.sh\n```\n\nBrowser opens `http:\u002F\u002Flocalhost:3000` automatically.\n\n> ⚠️ **Port conflict warning**: If another dev server like Next.js is using port 3000,\n> run `PORT=3001 npx vibe-kanban --port 3001`.\n> Confirm `Main server on :3001` in the startup log, then visit `http:\u002F\u002Flocalhost:3001`.\n\nNormal startup log:\n```\nStarting vibe-kanban v0.1.17...\nNo user profiles.json found, using defaults only\nStarting PR monitoring service with interval 60s\nRemote client initialized with URL: https:\u002F\u002Fapi.vibekanban.com\nMain server on :3001, Preview proxy on :XXXXX\nOpening browser...\n```\n\n### Clone + dev mode\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FBloopAI\u002Fvibe-kanban.git\ncd vibe-kanban\npnpm i\npnpm run dev\n```\n\n---\n\n## Environment Variables\n\n| Variable | Description | Default |\n|------|------|--------|\n| `PORT` | Server port | `3000` |\n| `HOST` | Server host | `127.0.0.1` |\n| `VIBE_KANBAN_REMOTE` | Allow remote connections | `false` |\n| `VK_ALLOWED_ORIGINS` | CORS allowed origins | Not set |\n| `DISABLE_WORKTREE_CLEANUP` | Disable worktree cleanup | Not set |\n| `ANTHROPIC_API_KEY` | For Claude Code agent | — |\n| `OPENAI_API_KEY` | For Codex\u002FGPT agent | — |\n| `GOOGLE_API_KEY` | For Gemini agent | — |\n\nSet in `.env` file before starting the server.\n\n> **API key location per agent (Settings → Agents → Environment variables)**\n> - Claude Code: `ANTHROPIC_API_KEY`\n> - Codex: `OPENAI_API_KEY`\n> - Gemini: `GOOGLE_API_KEY`\n> - Opencode: No separate setup needed (built-in auth)\n\n---\n\n## MCP Configuration\n\nVibe Kanban runs as an MCP (Model Context Protocol) server, letting agents control the board directly.\n\n### Claude Code MCP Setup\n\n`~\u002F.claude\u002Fsettings.json` or project `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"vibe-kanban\": {\n      \"command\": \"npx\",\n      \"args\": [\"vibe-kanban\", \"--mcp\"],\n      \"env\": {\n        \"MCP_HOST\": \"127.0.0.1\",\n        \"MCP_PORT\": \"3001\"\n      }\n    }\n  }\n}\n```\n\n### OpenCode MCP Setup\n\nAdd to `~\u002F.config\u002Fopencode\u002Fopencode.json`:\n\n```json\n{\n  \"mcp\": {\n    \"vibe-kanban\": {\n      \"command\": \"npx\",\n      \"args\": [\"vibe-kanban\", \"--mcp\"],\n      \"env\": {\n        \"MCP_HOST\": \"127.0.0.1\",\n        \"MCP_PORT\": \"3001\"\n      }\n    }\n  }\n}\n```\n\nAfter restarting, `vk_*` tools are available directly in your OpenCode session.\n\n\n### MCP Tool List\n\n| Tool | Description |\n|------|------|\n| `vk_list_cards` | List all cards (workspaces) |\n| `vk_create_card` | Create a new card |\n| `vk_move_card` | Change card status |\n| `vk_get_diff` | Get card diff |\n| `vk_retry_card` | Re-run a card |\n\n> ⚠️ **Tool name changes from older versions**: `vk_list_tasks` → `vk_list_cards`, `vk_create_task` → `vk_create_card`\n> These are the confirmed tool names from the actual MCP API as of v0.1.17.\n\n### Codex MCP Integration\n\nTo connect Vibe Kanban with Codex, run the following from your project root:\n\n```bash\nbash scripts\u002Fmcp-setup.sh --codex\n```\n\nThis command adds the `vibe-kanban` MCP server config to `~\u002F.codex\u002Fconfig.toml`.  \nHook-based auto-looping is not default Codex behavior, so retry\u002Floop management is handled via board card progress states or a higher-level orchestrator.\n\n---\n\n## Workspace → Parallel Agents → PR Workflow\n\n> **v0.1.17 actual UI structure**: Vibe Kanban is a Kanban board, but\n> the actual unit of work is a **Workspace**.\n> Each workspace handles one task independently.\n\n### 1. Start the server\n\n```bash\n# Default run\nnpx vibe-kanban\n# → http:\u002F\u002Flocalhost:3000\n\n# Port conflict (e.g., Next.js)\nPORT=3001 npx vibe-kanban --port 3001\n# → http:\u002F\u002Flocalhost:3001\n```\n\n### 2. (Optional) Review epic plan with planno\n\n```text\nReview the implementation plan for this feature with planno\n```\n\nplanno (plannotator) is an independent skill — usable without Vibe Kanban.\n\n### 3. Create a Workspace\n\n1. Open the UI → click **\"+ Create Workspace\"** or the `+` button in the left sidebar\n2. **Which repositories?** screen:\n   - **Browse** → select a git repo from the filesystem (manual path entry supported)\n   - **Recent** → previously used repos\n   - Select a repo, then choose a branch (default: `main`)\n   - Click **Continue**\n3. **What would you like to work on?** screen:\n   - Select an agent (Opencode, Claude Code, Codex, Gemini, Amp, Qwen Code, Copilot, Droid, Cursor Agent)\n   - Enter a task description (Markdown supported)\n   - Select a mode (Default, Build, etc.)\n   - Click **Create**\n\n### 4. Automatic agent execution\n\nWhen a workspace is created:\n- A `vk\u002F\u003Chash>-\u003Cslug>` branch is created automatically (e.g., `vk\u002F3816-add-a-comment-to`)\n- A git worktree is created automatically (fully isolated per agent)\n- The selected agent CLI runs with log streaming\n\nWorkspace states:\n- **Running**: Agent is executing (left sidebar)\n- **Idle**: Waiting\n- **Needs Attention**: Agent finished or needs input\n\n### 5. Review results\n\n- **Changes panel**: View file diffs\n- **Logs panel**: Agent execution logs\n- **Preview panel**: Web app preview\n- **Terminal**: Run commands directly\n- **Notes**: Write notes\n\n### 6. Create PR & finish\n\n- Workspace detail → **\"Open pull request\"** button\n- PR merge → workspace moves to Archive\n- Worktree cleaned up automatically\n\n---\n\n## Git Worktree Isolation Structure\n\nWorkspace directory (configurable in Settings → General → Workspace Directory):\n```\n~\u002F.vibe-kanban-workspaces\u002F          ← default location (under home directory)\n├── \u003Cworkspace-uuid-1>\u002F             ← workspace 1 isolated environment\n├── \u003Cworkspace-uuid-2>\u002F             ← workspace 2 isolated environment\n└── \u003Cworkspace-uuid-3>\u002F             ← workspace 3 isolated environment\n```\n\nBranch naming (configurable in Settings → General → Git → Branch Prefix):\n```\nvk\u002F\u003C4-char ID>-\u003Ctask-slug>\ne.g.: vk\u002F3816-add-a-comment-to-readme\n```\n\nInternal behavior:\n```bash\ngit worktree add \u003Cworkspace-dir> -b vk\u002F\u003Chash>-\u003Ctask-slug> main\n\u003Cagent-cli> -p \"\u003Ctask-description>\" --cwd \u003Cworkspace-dir>\n```\n\n> **Recommended .gitignore entries:**\n> ```\n> .vibe-kanban-workspaces\u002F\n> .vibe-kanban\u002F\n> ```\n\n---\n\n## Remote Deployment\n\n### Docker\n\n```bash\n# Official image\ndocker run -p 3000:3000 vibekanban\u002Fvibe-kanban\n\n# Pass environment variables\ndocker run -p 3000:3000 \\\n  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \\\n  -e VK_ALLOWED_ORIGINS=https:\u002F\u002Fvk.example.com \\\n  vibekanban\u002Fvibe-kanban\n```\n\n### Reverse Proxy (Nginx\u002FCaddy)\n\n```bash\n# CORS must be allowed\nVK_ALLOWED_ORIGINS=https:\u002F\u002Fvk.example.com\n\n# Or multiple origins\nVK_ALLOWED_ORIGINS=https:\u002F\u002Fa.example.com,https:\u002F\u002Fb.example.com\n```\n\n### SSH Remote Access\n\nIntegrates with VSCode Remote-SSH:\n```\nvscode:\u002F\u002Fvscode-remote\u002Fssh-remote+user@host\u002Fpath\u002Fto\u002F.vk\u002Ftrees\u002F\u003Ctask-slug>\n```\n\n---\n\n## Troubleshooting\n\n### Worktree conflicts \u002F orphaned worktrees\n\n```bash\n# Clean up orphaned worktrees\ngit worktree prune\n\n# List current worktrees\ngit worktree list\n\n# Force remove a specific worktree\ngit worktree remove .vk\u002Ftrees\u002F\u003Cslug> --force\n```\n\n### 403 Forbidden (CORS error)\n\n```bash\n# CORS config required for remote access\nVK_ALLOWED_ORIGINS=https:\u002F\u002Fyour-domain.com npx vibe-kanban\n```\n\n### Agent won't start\n\n```bash\n# Test CLI directly\nclaude --version\ncodex --version\n\n# Check API keys\necho $ANTHROPIC_API_KEY\necho $OPENAI_API_KEY\n```\n\n### Port conflict\n\n```bash\n# Use a different port\nnpx vibe-kanban --port 3001\n\n# Or use environment variable\nPORT=3001 npx vibe-kanban\n```\n\n### SQLite lock error\n\n```bash\n# Disable worktree cleanup and restart\nDISABLE_WORKTREE_CLEANUP=1 npx vibe-kanban\n```\n\n---\n\n## UI vs CLI Decision Guide\n\n| Situation | Mode |\n|------|------|\n| Shared team board, visual progress tracking | UI (`npx vibe-kanban`) |\n| CI\u002FCD pipeline, script automation | CLI (`scripts\u002Fpipeline.sh`) |\n| Quick local experiments | CLI (`scripts\u002Fconductor.sh`) |\n| Browser diff\u002Flog review | UI |\n\n---\n\n## Supported Agents (verified v0.1.17)\n\nConfigure each agent in Settings → Agents:\n\n| Agent | Command | API Key |\n|----------|------|--------|\n| **Opencode** | `opencode` | Built-in (default) |\n| **Claude Code** | `claude` | `ANTHROPIC_API_KEY` |\n| **Codex** | `codex` | `OPENAI_API_KEY` |\n| **Gemini** | `gemini` | `GOOGLE_API_KEY` |\n| **Amp** | `amp` | Separate |\n| **Qwen Code** | `qwen-coder` | Separate |\n| **Copilot** | `copilot` | GitHub account |\n| **Droid** | `droid` | Separate |\n| **Cursor Agent** | `cursor` | Cursor subscription |\n\nConfigurable per agent:\n- **Append prompt**: Additional instructions appended at agent runtime\n- **Model**: Model name to use (e.g., `claude-opus-4-6`)\n- **Variant**: Model variant\n- **Auto Approve**: Auto-approve agent actions (default: ON)\n- **Auto Compact**: Auto-compress context (default: ON)\n- **Environment variables**: API keys and other env vars\n\n## Representative Use Cases\n\n### 1. Parallel epic decomposition\n\n```\n\"Payment Flow v2\" epic\n  ├── Workspace 1: Frontend UI  → Claude Code\n  ├── Workspace 2: Backend API  → Codex\n  └── Workspace 3: Integration tests → Opencode\n→ 3 workspaces Running simultaneously → parallel implementation\n```\n\n### 2. Role-based specialist agent assignment\n\n```\nClaude Code  → design\u002Fdomain-heavy features\nCodex        → types\u002Ftests\u002Frefactoring\nGemini       → docs\u002Fstorybook writing\nOpencode     → general tasks (default)\n```\n\n### 3. GitHub PR-based team collaboration\n\n```\nSet VIBE_KANBAN_REMOTE=true\n→ Team members check status on the board\n→ Review\u002Fapproval only via GitHub PR\n→ Parallel agents + traditional PR process combined\n```\n\n### 4. Implementation comparison\n\n```\nSame task, two workspaces:\n  Workspace A → Claude Code (UI structure focus)\n  Workspace B → Codex (performance optimization focus)\n→ Compare PRs, pick best-of-both\n```\n\n### 5. OpenCode + ulw parallel delegation\n\nCombine with OpenCode's ulw (ultrawork) mode to run agents in parallel at the epic level:\n\n```python\n# ulw keyword → activates ultrawork parallel execution layer\n# Vibe Kanban board: npx vibe-kanban (run in a separate terminal)\n\ntask(category=\"visual-engineering\", run_in_background=True,\n     load_skills=[\"frontend-ui-ux\", \"vibe-kanban\"],\n     description=\"[Kanban WS1] Frontend UI\",\n     prompt=\"Implement payment flow UI — card input, order confirmation, and completion screens in src\u002Fcomponents\u002Fpayment\u002F\")\n\ntask(category=\"unspecified-high\", run_in_background=True,\n     load_skills=[\"vibe-kanban\"],\n     description=\"[Kanban WS2] Backend API\",\n     prompt=\"Implement payment flow API — POST \u002Fcharge, POST \u002Frefund, GET \u002Fstatus\u002F:id\")\n\ntask(category=\"unspecified-low\", run_in_background=True,\n     load_skills=[\"vibe-kanban\"],\n     description=\"[Kanban WS3] Integration tests\",\n     prompt=\"Write payment E2E tests — success\u002Ffailure\u002Frefund scenarios\")\n\n# → 3 workspaces appear simultaneously in Running state on the Kanban board\n# → On each completion: Needs Attention → PR created → Archive\n```\n\n---\n\n## Tips\n\n- Keep card scope narrow (1 card = 1 commit unit)\n- For changes spanning 2+ files, review the plan with planno first\n- Use `VIBE_KANBAN_REMOTE=true` only on trusted networks\n- If an agent stalls, reassign or split the card\n\n---\n\n## Architecture Overview\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                    Vibe Kanban UI                       │\n│   ┌──────────┬──────────┬──────────┬──────────┐        │\n│   │  To Do   │In Progress│  Review  │   Done   │        │\n│   └──────────┴──────────┴──────────┴──────────┘        │\n└───────────────────────────┬─────────────────────────────┘\n                            │ REST API\n┌───────────────────────────▼─────────────────────────────┐\n│                    Rust Backend                         │\n│  ┌─────────┐  ┌──────────┐  ┌─────────┐  ┌──────────┐  │\n│  │ server  │  │executors │  │   git   │  │ services │  │\n│  └─────────┘  └──────────┘  └─────────┘  └──────────┘  │\n│                   │                                     │\n│             ┌─────▼─────┐                               │\n│             │  SQLite   │                               │\n│             └───────────┘                               │\n└─────────────────────────────────────────────────────────┘\n                            │\n        ┌───────────────────┼───────────────────┐\n        │                   │                   │\n   ┌────▼────┐        ┌─────▼─────┐       ┌────▼────┐\n   │ Claude  │        │   Codex   │       │ Gemini  │\n   │worktree1│        │ worktree2 │       │worktree3│\n   └─────────┘        └───────────┘       └─────────┘\n```\n\n---\n\n## References\n\n- [GitHub repo: BloopAI\u002Fvibe-kanban](https:\u002F\u002Fgithub.com\u002FBloopAI\u002Fvibe-kanban)\n- [Official landing page: vibekanban.com](https:\u002F\u002Fvibekanban.online)\n- [Architecture analysis: vibe-kanban – a Kanban board for AI agents](https:\u002F\u002Fvirtuslab.com\u002Fblog\u002Fai\u002Fvibe-kanban\u002F)\n- [Adoption story](https:\u002F\u002Fbluedreamer-twenty.tistory.com\u002F7)\n- [Demo: Run Multiple Claude Code Agents Without Git Conflicts](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=W45XJWZiwPM)\n- [Demo: Claude Code Just Got Way Better | Auto Claude Kanban Boards](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=vPPAhTYoCdA)\n\n---\n\n## Skill File Structure\n\n```\n.agent-skills\u002Fvibe-kanban\u002F\n├── SKILL.md              # Main skill document\n├── SKILL.toon            # TOON format (compressed)\n├── scripts\u002F\n│   ├── start.sh          # Server start wrapper\n│   ├── cleanup.sh        # Worktree cleanup\n│   ├── mcp-setup.sh      # MCP setup automation\n│   └── health-check.sh   # Server health check\n├── references\u002F\n│   ├── environment-variables.md  # Environment variable reference\n│   └── mcp-api.md                # MCP API reference\n└── templates\u002F\n    ├── claude-mcp-config.json    # Claude Code MCP config\n    ├── docker-compose.yml        # Docker deployment template\n    └── .env.example              # Environment variable example\n```\n\n### Script Usage\n\n```bash\n# Start server\nbash scripts\u002Fstart.sh --port 3001\n\n# Worktree cleanup\nbash scripts\u002Fcleanup.sh --dry-run  # Preview\nbash scripts\u002Fcleanup.sh --all       # Remove all VK worktrees\n\n# MCP setup\nbash scripts\u002Fmcp-setup.sh --claude  # Claude Code setup\nbash scripts\u002Fmcp-setup.sh --all     # Setup for all agents\n\n# Health check\nbash scripts\u002Fhealth-check.sh\nbash scripts\u002Fhealth-check.sh --json  # JSON output\n```\n\n---\n\n## Quick Reference\n\n```\n=== Start server ===\nnpx vibe-kanban                       Run immediately (port 3000)\nPORT=3001 npx vibe-kanban --port 3001 Port conflict (e.g., Next.js)\nhttp:\u002F\u002Flocalhost:3000                  Board UI\n\n=== Environment variables ===\nPORT=3001                        Change port\nVK_ALLOWED_ORIGINS=https:\u002F\u002F...   Allow CORS\nANTHROPIC_API_KEY=...            Claude Code auth\nOPENAI_API_KEY=...               Codex auth\nGOOGLE_API_KEY=...               Gemini auth\n\n=== MCP integration ===\nnpx vibe-kanban --mcp            MCP mode\nvk_list_cards                    List cards (workspaces)\nvk_create_card                   Create card\nvk_move_card                     Change status\n\n=== Workspace flow ===\nCreate → Running → Needs Attention → Archive\nRunning: worktree created + agent started\nNeeds Attention: finished or needs input\nArchive: PR merge complete\n\n=== MCP config file locations ===\nOpencode: ~\u002F.config\u002Fopencode\u002Fopencode.json\nClaude Code: ~\u002F.claude\u002Fsettings.json or .mcp.json\n\n=== worktree cleanup ===\ngit worktree prune               Clean up orphans\ngit worktree list                List all\ngit worktree remove \u003Cpath>       Force remove\n```\n","## Platform Support Status (Current)\n\n| Platform | Current Support | Requirements |\n|---|---|---|\n| Claude | Native MCP integration | Register in `mcpServers` |\n| Codex | MCP script integration | `scripts\u002Fmcp-setup.sh --codex` or equivalent config |\n| Gemini | MCP registration | `mcpServers`\u002Fbridge configuration |\n| OpenCode | MCP\u002Fbridge integration | `omx`\u002F`ohmg` or equivalent setup |\n\nWhether this skill alone is sufficient:\n- Claude\u002FGemini: **Yes**\n- Codex: **Yes (requires script-based setup)**\n- OpenCode: **Yes (via orchestration)**\n\n# Vibe Kanban — AI Agent Kanban Board\n\n> Manage multiple AI agents (Claude\u002FCodex\u002FGemini) from a single Kanban board.\n> Moving a card (task) to In Progress automatically creates a git worktree and starts the agent.\n\n## When to use this skill\n\n- When breaking an epic into independent tasks for parallel agent assignment\n- When you want to visually track the status of ongoing AI work\n- When you want to review agent results as diffs\u002Flogs in the UI and retry them\n- When combining GitHub PR-based team collaboration with AI agent work\n\n---\n\n## Prerequisites\n\n```bash\n# Node.js 18+ required\nnode --version\n\n# Complete agent authentication beforehand\nclaude --version    # Set ANTHROPIC_API_KEY\ncodex --version     # Set OPENAI_API_KEY (optional)\ngemini --version    # Set GOOGLE_API_KEY (optional)\nopencode --version  # No separate setup needed (GUI-based)\n```\n\n> **Verified versions (as of 2026-02-22)**\n> - vibe-kanban: v0.1.17\n> - claude (Claude Code): 2.1.50\n> - codex: 0.104.0\n> - gemini: 0.29.5\n> - opencode: 1.2.10\n\n---\n\n## Installation & Running\n\n### npx (fastest)\n\n```bash\n# Run immediately (no installation needed)\nnpx vibe-kanban\n\n# Specify port (default port 3000)\nnpx vibe-kanban --port 3001\n\n# Specify port and environment variable together\nPORT=3001 npx vibe-kanban --port 3001\n\n# Use wrapper script\nbash scripts\u002Fvibe-kanban-start.sh\n```\n\nBrowser opens `http:\u002F\u002Flocalhost:3000` automatically.\n\n> ⚠️ **Port conflict warning**: If another dev server like Next.js is using port 3000,\n> run `PORT=3001 npx vibe-kanban --port 3001`.\n> Confirm `Main server on :3001` in the startup log, then visit `http:\u002F\u002Flocalhost:3001`.\n\nNormal startup log:\n```\nStarting vibe-kanban v0.1.17...\nNo user profiles.json found, using defaults only\nStarting PR monitoring service with interval 60s\nRemote client initialized with URL: https:\u002F\u002Fapi.vibekanban.com\nMain server on :3001, Preview proxy on :XXXXX\nOpening browser...\n```\n\n### Clone + dev mode\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FBloopAI\u002Fvibe-kanban.git\ncd vibe-kanban\npnpm i\npnpm run dev\n```\n\n---\n\n## Environment Variables\n\n| Variable | Description | Default |\n|------|------|--------|\n| `PORT` | Server port | `3000` |\n| `HOST` | Server host | `127.0.0.1` |\n| `VIBE_KANBAN_REMOTE` | Allow remote connections | `false` |\n| `VK_ALLOWED_ORIGINS` | CORS allowed origins | Not set |\n| `DISABLE_WORKTREE_CLEANUP` | Disable worktree cleanup | Not set |\n| `ANTHROPIC_API_KEY` | For Claude Code agent | — |\n| `OPENAI_API_KEY` | For Codex\u002FGPT agent | — |\n| `GOOGLE_API_KEY` | For Gemini agent | — |\n\nSet in `.env` file before starting the server.\n\n> **API key location per agent (Settings → Agents → Environment variables)**\n> - Claude Code: `ANTHROPIC_API_KEY`\n> - Codex: `OPENAI_API_KEY`\n> - Gemini: `GOOGLE_API_KEY`\n> - Opencode: No separate setup needed (built-in auth)\n\n---\n\n## MCP Configuration\n\nVibe Kanban runs as an MCP (Model Context Protocol) server, letting agents control the board directly.\n\n### Claude Code MCP Setup\n\n`~\u002F.claude\u002Fsettings.json` or project `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"vibe-kanban\": {\n      \"command\": \"npx\",\n      \"args\": [\"vibe-kanban\", \"--mcp\"],\n      \"env\": {\n        \"MCP_HOST\": \"127.0.0.1\",\n        \"MCP_PORT\": \"3001\"\n      }\n    }\n  }\n}\n```\n\n### OpenCode MCP Setup\n\nAdd to `~\u002F.config\u002Fopencode\u002Fopencode.json`:\n\n```json\n{\n  \"mcp\": {\n    \"vibe-kanban\": {\n      \"command\": \"npx\",\n      \"args\": [\"vibe-kanban\", \"--mcp\"],\n      \"env\": {\n        \"MCP_HOST\": \"127.0.0.1\",\n        \"MCP_PORT\": \"3001\"\n      }\n    }\n  }\n}\n```\n\nAfter restarting, `vk_*` tools are available directly in your OpenCode session.\n\n\n### MCP Tool List\n\n| Tool | Description |\n|------|------|\n| `vk_list_cards` | List all cards (workspaces) |\n| `vk_create_card` | Create a new card |\n| `vk_move_card` | Change card status |\n| `vk_get_diff` | Get card diff |\n| `vk_retry_card` | Re-run a card |\n\n> ⚠️ **Tool name changes from older versions**: `vk_list_tasks` → `vk_list_cards`, `vk_create_task` → `vk_create_card`\n> These are the confirmed tool names from the actual MCP API as of v0.1.17.\n\n### Codex MCP Integration\n\nTo connect Vibe Kanban with Codex, run the following from your project root:\n\n```bash\nbash scripts\u002Fmcp-setup.sh --codex\n```\n\nThis command adds the `vibe-kanban` MCP server config to `~\u002F.codex\u002Fconfig.toml`.  \nHook-based auto-looping is not default Codex behavior, so retry\u002Floop management is handled via board card progress states or a higher-level orchestrator.\n\n---\n\n## Workspace → Parallel Agents → PR Workflow\n\n> **v0.1.17 actual UI structure**: Vibe Kanban is a Kanban board, but\n> the actual unit of work is a **Workspace**.\n> Each workspace handles one task independently.\n\n### 1. Start the server\n\n```bash\n# Default run\nnpx vibe-kanban\n# → http:\u002F\u002Flocalhost:3000\n\n# Port conflict (e.g., Next.js)\nPORT=3001 npx vibe-kanban --port 3001\n# → http:\u002F\u002Flocalhost:3001\n```\n\n### 2. (Optional) Review epic plan with planno\n\n```text\nReview the implementation plan for this feature with planno\n```\n\nplanno (plannotator) is an independent skill — usable without Vibe Kanban.\n\n### 3. Create a Workspace\n\n1. Open the UI → click **\"+ Create Workspace\"** or the `+` button in the left sidebar\n2. **Which repositories?** screen:\n   - **Browse** → select a git repo from the filesystem (manual path entry supported)\n   - **Recent** → previously used repos\n   - Select a repo, then choose a branch (default: `main`)\n   - Click **Continue**\n3. **What would you like to work on?** screen:\n   - Select an agent (Opencode, Claude Code, Codex, Gemini, Amp, Qwen Code, Copilot, Droid, Cursor Agent)\n   - Enter a task description (Markdown supported)\n   - Select a mode (Default, Build, etc.)\n   - Click **Create**\n\n### 4. Automatic agent execution\n\nWhen a workspace is created:\n- A `vk\u002F\u003Chash>-\u003Cslug>` branch is created automatically (e.g., `vk\u002F3816-add-a-comment-to`)\n- A git worktree is created automatically (fully isolated per agent)\n- The selected agent CLI runs with log streaming\n\nWorkspace states:\n- **Running**: Agent is executing (left sidebar)\n- **Idle**: Waiting\n- **Needs Attention**: Agent finished or needs input\n\n### 5. Review results\n\n- **Changes panel**: View file diffs\n- **Logs panel**: Agent execution logs\n- **Preview panel**: Web app preview\n- **Terminal**: Run commands directly\n- **Notes**: Write notes\n\n### 6. Create PR & finish\n\n- Workspace detail → **\"Open pull request\"** button\n- PR merge → workspace moves to Archive\n- Worktree cleaned up automatically\n\n---\n\n## Git Worktree Isolation Structure\n\nWorkspace directory (configurable in Settings → General → Workspace Directory):\n```\n~\u002F.vibe-kanban-workspaces\u002F          ← default location (under home directory)\n├── \u003Cworkspace-uuid-1>\u002F             ← workspace 1 isolated environment\n├── \u003Cworkspace-uuid-2>\u002F             ← workspace 2 isolated environment\n└── \u003Cworkspace-uuid-3>\u002F             ← workspace 3 isolated environment\n```\n\nBranch naming (configurable in Settings → General → Git → Branch Prefix):\n```\nvk\u002F\u003C4-char ID>-\u003Ctask-slug>\ne.g.: vk\u002F3816-add-a-comment-to-readme\n```\n\nInternal behavior:\n```bash\ngit worktree add \u003Cworkspace-dir> -b vk\u002F\u003Chash>-\u003Ctask-slug> main\n\u003Cagent-cli> -p \"\u003Ctask-description>\" --cwd \u003Cworkspace-dir>\n```\n\n> **Recommended .gitignore entries:**\n> ```\n> .vibe-kanban-workspaces\u002F\n> .vibe-kanban\u002F\n> ```\n\n---\n\n## Remote Deployment\n\n### Docker\n\n```bash\n# Official image\ndocker run -p 3000:3000 vibekanban\u002Fvibe-kanban\n\n# Pass environment variables\ndocker run -p 3000:3000 \\\n  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \\\n  -e VK_ALLOWED_ORIGINS=https:\u002F\u002Fvk.example.com \\\n  vibekanban\u002Fvibe-kanban\n```\n\n### Reverse Proxy (Nginx\u002FCaddy)\n\n```bash\n# CORS must be allowed\nVK_ALLOWED_ORIGINS=https:\u002F\u002Fvk.example.com\n\n# Or multiple origins\nVK_ALLOWED_ORIGINS=https:\u002F\u002Fa.example.com,https:\u002F\u002Fb.example.com\n```\n\n### SSH Remote Access\n\nIntegrates with VSCode Remote-SSH:\n```\nvscode:\u002F\u002Fvscode-remote\u002Fssh-remote+user@host\u002Fpath\u002Fto\u002F.vk\u002Ftrees\u002F\u003Ctask-slug>\n```\n\n---\n\n## Troubleshooting\n\n### Worktree conflicts \u002F orphaned worktrees\n\n```bash\n# Clean up orphaned worktrees\ngit worktree prune\n\n# List current worktrees\ngit worktree list\n\n# Force remove a specific worktree\ngit worktree remove .vk\u002Ftrees\u002F\u003Cslug> --force\n```\n\n### 403 Forbidden (CORS error)\n\n```bash\n# CORS config required for remote access\nVK_ALLOWED_ORIGINS=https:\u002F\u002Fyour-domain.com npx vibe-kanban\n```\n\n### Agent won't start\n\n```bash\n# Test CLI directly\nclaude --version\ncodex --version\n\n# Check API keys\necho $ANTHROPIC_API_KEY\necho $OPENAI_API_KEY\n```\n\n### Port conflict\n\n```bash\n# Use a different port\nnpx vibe-kanban --port 3001\n\n# Or use environment variable\nPORT=3001 npx vibe-kanban\n```\n\n### SQLite lock error\n\n```bash\n# Disable worktree cleanup and restart\nDISABLE_WORKTREE_CLEANUP=1 npx vibe-kanban\n```\n\n---\n\n## UI vs CLI Decision Guide\n\n| Situation | Mode |\n|------|------|\n| Shared team board, visual progress tracking | UI (`npx vibe-kanban`) |\n| CI\u002FCD pipeline, script automation | CLI (`scripts\u002Fpipeline.sh`) |\n| Quick local experiments | CLI (`scripts\u002Fconductor.sh`) |\n| Browser diff\u002Flog review | UI |\n\n---\n\n## Supported Agents (verified v0.1.17)\n\nConfigure each agent in Settings → Agents:\n\n| Agent | Command | API Key |\n|----------|------|--------|\n| **Opencode** | `opencode` | Built-in (default) |\n| **Claude Code** | `claude` | `ANTHROPIC_API_KEY` |\n| **Codex** | `codex` | `OPENAI_API_KEY` |\n| **Gemini** | `gemini` | `GOOGLE_API_KEY` |\n| **Amp** | `amp` | Separate |\n| **Qwen Code** | `qwen-coder` | Separate |\n| **Copilot** | `copilot` | GitHub account |\n| **Droid** | `droid` | Separate |\n| **Cursor Agent** | `cursor` | Cursor subscription |\n\nConfigurable per agent:\n- **Append prompt**: Additional instructions appended at agent runtime\n- **Model**: Model name to use (e.g., `claude-opus-4-6`)\n- **Variant**: Model variant\n- **Auto Approve**: Auto-approve agent actions (default: ON)\n- **Auto Compact**: Auto-compress context (default: ON)\n- **Environment variables**: API keys and other env vars\n\n## Representative Use Cases\n\n### 1. Parallel epic decomposition\n\n```\n\"Payment Flow v2\" epic\n  ├── Workspace 1: Frontend UI  → Claude Code\n  ├── Workspace 2: Backend API  → Codex\n  └── Workspace 3: Integration tests → Opencode\n→ 3 workspaces Running simultaneously → parallel implementation\n```\n\n### 2. Role-based specialist agent assignment\n\n```\nClaude Code  → design\u002Fdomain-heavy features\nCodex        → types\u002Ftests\u002Frefactoring\nGemini       → docs\u002Fstorybook writing\nOpencode     → general tasks (default)\n```\n\n### 3. GitHub PR-based team collaboration\n\n```\nSet VIBE_KANBAN_REMOTE=true\n→ Team members check status on the board\n→ Review\u002Fapproval only via GitHub PR\n→ Parallel agents + traditional PR process combined\n```\n\n### 4. Implementation comparison\n\n```\nSame task, two workspaces:\n  Workspace A → Claude Code (UI structure focus)\n  Workspace B → Codex (performance optimization focus)\n→ Compare PRs, pick best-of-both\n```\n\n### 5. OpenCode + ulw parallel delegation\n\nCombine with OpenCode's ulw (ultrawork) mode to run agents in parallel at the epic level:\n\n```python\n# ulw keyword → activates ultrawork parallel execution layer\n# Vibe Kanban board: npx vibe-kanban (run in a separate terminal)\n\ntask(category=\"visual-engineering\", run_in_background=True,\n     load_skills=[\"frontend-ui-ux\", \"vibe-kanban\"],\n     description=\"[Kanban WS1] Frontend UI\",\n     prompt=\"Implement payment flow UI — card input, order confirmation, and completion screens in src\u002Fcomponents\u002Fpayment\u002F\")\n\ntask(category=\"unspecified-high\", run_in_background=True,\n     load_skills=[\"vibe-kanban\"],\n     description=\"[Kanban WS2] Backend API\",\n     prompt=\"Implement payment flow API — POST \u002Fcharge, POST \u002Frefund, GET \u002Fstatus\u002F:id\")\n\ntask(category=\"unspecified-low\", run_in_background=True,\n     load_skills=[\"vibe-kanban\"],\n     description=\"[Kanban WS3] Integration tests\",\n     prompt=\"Write payment E2E tests — success\u002Ffailure\u002Frefund scenarios\")\n\n# → 3 workspaces appear simultaneously in Running state on the Kanban board\n# → On each completion: Needs Attention → PR created → Archive\n```\n\n---\n\n## Tips\n\n- Keep card scope narrow (1 card = 1 commit unit)\n- For changes spanning 2+ files, review the plan with planno first\n- Use `VIBE_KANBAN_REMOTE=true` only on trusted networks\n- If an agent stalls, reassign or split the card\n\n---\n\n## Architecture Overview\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                    Vibe Kanban UI                       │\n│   ┌──────────┬──────────┬──────────┬──────────┐        │\n│   │  To Do   │In Progress│  Review  │   Done   │        │\n│   └──────────┴──────────┴──────────┴──────────┘        │\n└───────────────────────────┬─────────────────────────────┘\n                            │ REST API\n┌───────────────────────────▼─────────────────────────────┐\n│                    Rust Backend                         │\n│  ┌─────────┐  ┌──────────┐  ┌─────────┐  ┌──────────┐  │\n│  │ server  │  │executors │  │   git   │  │ services │  │\n│  └─────────┘  └──────────┘  └─────────┘  └──────────┘  │\n│                   │                                     │\n│             ┌─────▼─────┐                               │\n│             │  SQLite   │                               │\n│             └───────────┘                               │\n└─────────────────────────────────────────────────────────┘\n                            │\n        ┌───────────────────┼───────────────────┐\n        │                   │                   │\n   ┌────▼────┐        ┌─────▼─────┐       ┌────▼────┐\n   │ Claude  │        │   Codex   │       │ Gemini  │\n   │worktree1│        │ worktree2 │       │worktree3│\n   └─────────┘        └───────────┘       └─────────┘\n```\n\n---\n\n## References\n\n- [GitHub repo: BloopAI\u002Fvibe-kanban](https:\u002F\u002Fgithub.com\u002FBloopAI\u002Fvibe-kanban)\n- [Official landing page: vibekanban.com](https:\u002F\u002Fvibekanban.online)\n- [Architecture analysis: vibe-kanban – a Kanban board for AI agents](https:\u002F\u002Fvirtuslab.com\u002Fblog\u002Fai\u002Fvibe-kanban\u002F)\n- [Adoption story](https:\u002F\u002Fbluedreamer-twenty.tistory.com\u002F7)\n- [Demo: Run Multiple Claude Code Agents Without Git Conflicts](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=W45XJWZiwPM)\n- [Demo: Claude Code Just Got Way Better | Auto Claude Kanban Boards](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=vPPAhTYoCdA)\n\n---\n\n## Skill File Structure\n\n```\n.agent-skills\u002Fvibe-kanban\u002F\n├── SKILL.md              # Main skill document\n├── SKILL.toon            # TOON format (compressed)\n├── scripts\u002F\n│   ├── start.sh          # Server start wrapper\n│   ├── cleanup.sh        # Worktree cleanup\n│   ├── mcp-setup.sh      # MCP setup automation\n│   └── health-check.sh   # Server health check\n├── references\u002F\n│   ├── environment-variables.md  # Environment variable reference\n│   └── mcp-api.md                # MCP API reference\n└── templates\u002F\n    ├── claude-mcp-config.json    # Claude Code MCP config\n    ├── docker-compose.yml        # Docker deployment template\n    └── .env.example              # Environment variable example\n```\n\n### Script Usage\n\n```bash\n# Start server\nbash scripts\u002Fstart.sh --port 3001\n\n# Worktree cleanup\nbash scripts\u002Fcleanup.sh --dry-run  # Preview\nbash scripts\u002Fcleanup.sh --all       # Remove all VK worktrees\n\n# MCP setup\nbash scripts\u002Fmcp-setup.sh --claude  # Claude Code setup\nbash scripts\u002Fmcp-setup.sh --all     # Setup for all agents\n\n# Health check\nbash scripts\u002Fhealth-check.sh\nbash scripts\u002Fhealth-check.sh --json  # JSON output\n```\n\n---\n\n## Quick Reference\n\n```\n=== Start server ===\nnpx vibe-kanban                       Run immediately (port 3000)\nPORT=3001 npx vibe-kanban --port 3001 Port conflict (e.g., Next.js)\nhttp:\u002F\u002Flocalhost:3000                  Board UI\n\n=== Environment variables ===\nPORT=3001                        Change port\nVK_ALLOWED_ORIGINS=https:\u002F\u002F...   Allow CORS\nANTHROPIC_API_KEY=...            Claude Code auth\nOPENAI_API_KEY=...               Codex auth\nGOOGLE_API_KEY=...               Gemini auth\n\n=== MCP integration ===\nnpx vibe-kanban --mcp            MCP mode\nvk_list_cards                    List cards (workspaces)\nvk_create_card                   Create card\nvk_move_card                     Change status\n\n=== Workspace flow ===\nCreate → Running → Needs Attention → Archive\nRunning: worktree created + agent started\nNeeds Attention: finished or needs input\nArchive: PR merge complete\n\n=== MCP config file locations ===\nOpencode: ~\u002F.config\u002Fopencode\u002Fopencode.json\nClaude Code: ~\u002F.claude\u002Fsettings.json or .mcp.json\n\n=== worktree cleanup ===\ngit worktree prune               Clean up orphans\ngit worktree list                List all\ngit worktree remove \u003Cpath>       Force remove\n```\n",{"name":5,"metadata":54,"description":7,"allowed-tools":62},{"tags":55,"source":56,"keyword":57,"version":58,"verified":59,"platforms":60,"verified-with":61},"vibe-kanban, kanban, kanbanview, multi-agent, git-worktree, github-pr, task-management, claude-code, codex, gemini, open-code, mcp","https:\u002F\u002Fgithub.com\u002FBloopAI\u002Fvibe-kanban","kanbanview","1.2.0",1771718400000,"Claude, Codex, Gemini, OpenCode","playwright","Read Write Bash Grep Glob","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill vibe-kanban",{"tool":78,"command":79},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill vibe-kanban",{"tool":81,"command":82},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill vibe-kanban","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002FSKILL.md",true,[86,92,96,102,106,110,114,118,124,128],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fenvironment-variables.md","REFERENCE","参考文档",1530,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Freferences\u002Fenvironment-variables.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fmcp-api.md",3085,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Freferences\u002Fmcp-api.md",{"path":97,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Fcleanup.sh","SCRIPT","脚本",4195,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Fscripts\u002Fcleanup.sh",{"path":103,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fhealth-check.sh",4376,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Fscripts\u002Fhealth-check.sh",{"path":107,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":108,"sourceHtmlUrl":109},"scripts\u002Fmcp-setup.sh",4929,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Fscripts\u002Fmcp-setup.sh",{"path":111,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":112,"sourceHtmlUrl":113},"scripts\u002Fstart.sh",4551,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Fscripts\u002Fstart.sh",{"path":115,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":116,"sourceHtmlUrl":117},"skill-report.json",16000,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Fskill-report.json",{"path":119,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":122,"sourceHtmlUrl":123},"SKILL.toon","OTHER","其他",2216,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002FSKILL.toon",{"path":125,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":126,"sourceHtmlUrl":127},"templates\u002Fclaude-mcp-config.json",200,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Ftemplates\u002Fclaude-mcp-config.json",{"path":129,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":130,"sourceHtmlUrl":131},"templates\u002Fdocker-compose.yml",726,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsupercent-io\u002Fvibe-kanban\u002Ftemplates\u002Fdocker-compose.yml",[133,143,152,161,167,174],{"skillNo":134,"name":135,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":139,"publishedAt":49},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[138],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[140,141,142],"model","model hierarchy","model hierarchy skill",{"skillNo":144,"name":145,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":149,"publishedAt":49},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[148],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[39,150,151],"zoom","zoom mcp",{"skillNo":153,"name":154,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":49},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[158,159,160,150],"sdk","zoom apps sdk","apps",{"skillNo":162,"name":163,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":49},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[163],{"skillNo":168,"name":169,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":173,"publishedAt":49},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[172],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[169],{"skillNo":175,"name":176,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":49},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[176]]