/codekanban-cli
Operate CodeKanban workflows, terminal sessions, and web sessions through the installable `codekanban-cli` command. Use when the user wants to create, inspect, control, watch, or continue CodeKanban AI work from a project path, project ID, or project name without relying on
$ npx -y skills add fy0/CodeKanban --skill codekanban-cli --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/codekanban-cli
Context preview
The summary Claude sees to decide when to auto-load this skill.
Operate CodeKanban workflows, terminal sessions, and web sessions through the installable `codekanban-cli` command. Use when the user wants to create, inspect, control, watch, or continue CodeKanban AI work from a project path, project ID, or project name without relying on
SKILL.md
codekanban-cli.SKILL.mdname: codekanban-cli
description: Operate CodeKanban workflows, terminal sessions, and web sessions through the installable `codekanban-cli` command. Use when the user wants to create, inspect, control, watch, or continue CodeKanban AI work from a project path, project ID, or project name without relying on repository-local helper scripts. Prefer `web-session` for structured interactive work, and use `workflow start` or `terminal continue` only when the user explicitly wants PTY-style terminal behavior.
CodeKanban CLI
Use this skill after installing the `codekanban-cli` package and copying this packaged skill into the user's Codex skills directory.
When to use this skill
- Use it for CodeKanban `project`, `web-session`, `workflow`, `session`, and `terminal` operations.
- Prefer `web-session` for structured interactive AI work.
- Use `workflow start` only when the user explicitly wants a PTY-style startup flow.
- Use `terminal continue` only when the user explicitly wants to continue an existing terminal session.
Command boundary
The CLI surface is limited to the scopes documented here: `project`, `web-session`, `workflow`, `session`, `terminal`, `file`, and `auth`. The former Kanban task scope is removed; do not invent task or board API calls. For repository work, send instructions through `web-session` or use the `file` commands.
Prerequisites
- `codekanban-cli` is installed and available on `PATH`
- The CodeKanban service is reachable
- Default service URL is `http://127.0.0.1:3007`
- If auth is enabled, save a token once with `codekanban-cli auth save-token`
First-time initialization
If the service is open and does not require auth, you can start immediately:
codekanban-cli project list
If the service requires auth, save a token once:
printf '%s' '<PASSWORD>' | codekanban-cli auth save-token --password-stdin
You can also save a token directly:
codekanban-cli auth save-token --token-file <TOKEN_FILE>
Saved session data lives in a user-level config directory, not in a repository:
- Windows: `%APPDATA%\codekanban-cli\session.json`
- macOS/Linux: `$XDG_CONFIG_HOME/codekanban-cli/session.json` or `~/.config/codekanban-cli/session.json`
Project targeting rules
Target selection priority:
1. `--project-id` 2. `--project-name` 3. local current directory fallback for local servers only 4. explicit `--path`
Use these project helpers first when the user refers to a project by name:
codekanban-cli project list
codekanban-cli project resolve --project-name codekanban
Then operate on the resolved project:
codekanban-cli web-session create --project-name codekanban --agent codex --workflow-mode plan --permission-level elevated --title "Planning session"
codekanban-cli session list --project-name codekanban
If the user says something like "create a web session for project codekanban and pull git updates", follow this pattern:
1. Resolve the project by name 2. Create the web session for that project 3. Send the requested instruction into the new session 4. Watch or poll the session if the user expects completion status
For the common structured flow "create a session, answer user-input questions, execute the plan, and wait for done", prefer the built-in orchestration command:
codekanban-cli web-session run --project-name codekanban --agent codex --text "Create a concise plan first, then implement it." --strict-cwd
Image inputs
Use repeatable `--image <path>` options when the initial task or a follow-up message needs local image references:
codekanban-cli web-session run --project-name codekanban --agent codex --text "Match the implementation to these references." --image ./desktop.png --image ./mobile.png --strict-cwd
codekanban-cli web-session send --session-id <SESSION_ID> --text "Also account for this state." --image ./reference.png
- `--image` is supported by `web-session run` and `web-session send`.
- Image paths are local to the machine running `codekanban-cli`, even when the CodeKanban service is remote.
- The option is repeatable and can be combined with existing `--attachment-id` values.
- Web-session attachments currently support images only and are subject to the server attachment size limit.
- Use `web-session attach --file <path>` followed by `--attachment-id <id>` only when an uploaded image must be reused across commands.
Remote web-session test loop (minimal SDK)
Use this when you want a short programmable remote verification loop without stitching websocket events by hand.
- Prefer SDK polling helpers over websocket event streams for this flow.
- `runWebSessionUntilDone(...)` already handles:
- ordinary structured user-input prompts
- latest-plan execution
- terminal-state debounce through `settleMs`
- It still stops and returns control on approvals or timeouts.
- Keep this template focused on session orchestration; do file verification separately if you need it.
node --input-type=module <<'EOF'
import { CodeKanbanClient } from '@codekanban/sdk';
const baseURL = 'http://10.128.128.111:6112';
const projectPath = '/home/dev/test1';
const initialTask = 'Use the current directory as the project root. Keep the task short, ask structured questions only if needed, and do not do unrelated work.';
const client = new CodeKanbanClient({ baseURL });
const health = await fetch(`${baseURL}/api/v1/health`);
if (!health.ok) {
throw new Error(`health check failed: ${health.status}`);
}
const { project } = await client.resolveProject({
path: projectPath,
ensureProject: true,
});
const session = await client.createWebSession({
projectId: project.id,
agent: 'codex',
workflowMode: 'plan',
permissionLevel: 'elevated',
reasoningEffort: 'low',
title: 'remote test loop',
});
await client.sendWebSessionMessage({
sessionId: session.id,
text: initialTask,
});
const result = await client.runWebSessionUntilDone({
projectIdRead more
name: codekanban-cli description: Operate CodeKanban workflows, terminal sessions, and web sessions through the installable `codekanban-cli` command. Use when the user wants to create, inspect, control, watch, or continue CodeKanban AI work from a project path, project ID, or project name without relying on repository-local helper scripts. Prefer `web-session` for structured interactive work, and use `workflow start` or `terminal continue` only when the user explicitly wants PTY-style terminal behavior.
CodeKanban CLI
Use this skill after installing the `codekanban-cli` package and copying this packaged skill into the user's Codex skills directory.
When to use this skill
- Use it for CodeKanban `project`, `web-session`, `workflow`, `session`, and `terminal` operations.
- Prefer `web-session` for structured interactive AI work.
- Use `workflow start` only when the user explicitly wants a PTY-style startup flow.
- Use `terminal continue` only when the user explicitly wants to continue an existing terminal session.
Command boundary
The CLI surface is limited to the scopes documented here: `project`, `web-session`, `workflow`, `session`, `terminal`, `file`, and `auth`. The former Kanban task scope is removed; do not invent task or board API calls. For repository work, send instructions through `web-session` or use the `file` commands.
Prerequisites
- `codekanban-cli` is installed and available on `PATH`
- The CodeKanban service is reachable
- Default service URL is `http://127.0.0.1:3007`
- If auth is enabled, save a token once with `codekanban-cli auth save-token`
First-time initialization
If the service is open and does not require auth, you can start immediately:
codekanban-cli project list
If the service requires auth, save a token once:
printf '%s' '<PASSWORD>' | codekanban-cli auth save-token --password-stdin
You can also save a token directly:
codekanban-cli auth save-token --token-file <TOKEN_FILE>
Saved session data lives in a user-level config directory, not in a repository:
- Windows: `%APPDATA%\codekanban-cli\session.json`
- macOS/Linux: `$XDG_CONFIG_HOME/codekanban-cli/session.json` or `~/.config/codekanban-cli/session.json`
Project targeting rules
Target selection priority:
1. `--project-id` 2. `--project-name` 3. local current directory fallback for local servers only 4. explicit `--path`
Use these project helpers first when the user refers to a project by name:
codekanban-cli project list codekanban-cli project resolve --project-name codekanban
Then operate on the resolved project:
codekanban-cli web-session create --project-name codekanban --agent codex --workflow-mode plan --permission-level elevated --title "Planning session" codekanban-cli session list --project-name codekanban
If the user says something like "create a web session for project codekanban and pull git updates", follow this pattern:
1. Resolve the project by name 2. Create the web session for that project 3. Send the requested instruction into the new session 4. Watch or poll the session if the user expects completion status
For the common structured flow "create a session, answer user-input questions, execute the plan, and wait for done", prefer the built-in orchestration command:
codekanban-cli web-session run --project-name codekanban --agent codex --text "Create a concise plan first, then implement it." --strict-cwd
Image inputs
Use repeatable `--image <path>` options when the initial task or a follow-up message needs local image references:
codekanban-cli web-session run --project-name codekanban --agent codex --text "Match the implementation to these references." --image ./desktop.png --image ./mobile.png --strict-cwd codekanban-cli web-session send --session-id <SESSION_ID> --text "Also account for this state." --image ./reference.png
- `--image` is supported by `web-session run` and `web-session send`.
- Image paths are local to the machine running `codekanban-cli`, even when the CodeKanban service is remote.
- The option is repeatable and can be combined with existing `--attachment-id` values.
- Web-session attachments currently support images only and are subject to the server attachment size limit.
- Use `web-session attach --file <path>` followed by `--attachment-id <id>` only when an uploaded image must be reused across commands.
Remote web-session test loop (minimal SDK)
Use this when you want a short programmable remote verification loop without stitching websocket events by hand.
- Prefer SDK polling helpers over websocket event streams for this flow.
- `runWebSessionUntilDone(...)` already handles:
- ordinary structured user-input prompts
- latest-plan execution
- terminal-state debounce through `settleMs`
- It still stops and returns control on approvals or timeouts.
- Keep this template focused on session orchestration; do file verification separately if you need it.
node --input-type=module <<'EOF'
import { CodeKanbanClient } from '@codekanban/sdk';
const baseURL = 'http://10.128.128.111:6112';
const projectPath = '/home/dev/test1';
const initialTask = 'Use the current directory as the project root. Keep the task short, ask structured questions only if needed, and do not do unrelated work.';
const client = new CodeKanbanClient({ baseURL });
const health = await fetch(`${baseURL}/api/v1/health`);
if (!health.ok) {
throw new Error(`health check failed: ${health.status}`);
}
const { project } = await client.resolveProject({
path: projectPath,
ensureProject: true,
});
const session = await client.createWebSession({
projectId: project.id,
agent: 'codex',
workflowMode: 'plan',
permissionLevel: 'elevated',
reasoningEffort: 'low',
title: 'remote test loop',
});
await client.sendWebSessionMessage({
sessionId: session.id,
text: initialTask,
});
const result = await client.runWebSessionUntilDone({
projectIdManage all your terminals and AI coding tools (Claude Code / Codex) from one unified page.

