
Ov Kanban
Work through tasks on a kanban board stored in OpenViking...
Install
npx skills add volcengine/OpenViking --skill ov-kanban -g -a claude-code -y- Repository
- volcengine/OpenViking41.3k
- Category
- AI and agents
- Updated
- 3d ago
- License
- AGPL-3.0
- Context cost
- Mediumabout 2,084 tokens
- Runs scripts
- Yes, review before use
What it does
Work through tasks on a kanban board stored in OpenViking (viking://agent/kanban/<board>/, one markdown file per task). Use when the user says "ov kanban", "kanban", "看板", asks to put a task on the board, hand off the current work, continue a task another agent started, or run an unattended task loop. A board holds many tasks; each task file is the handoff itself - a frontmatter header (id, status, owner, board) plus Goal, Context, Decisions, Progress, Next, Questions, Log - and its process detail is folded into an archive file instead of being summarized away, so any agent with the `ov` CLI can resume it and drill down when needed.
OV Kanban
A board is a directory in OpenViking that holds many tasks. A task is one
markdown file. The file is both the ticket and the handoff: whoever reads it
can continue the work without the previous conversation. OpenViking stores
it, indexes it (find/grep), and shares it across every agent and user of
the account. There is no other state.
<root>/<board>/<id>.md the task: header + current state, rewritten every turn
<root>/<board>/archive/<id>.md its folded detail: append-only, never rewritten
<root>isviking://agent/kanban. Probe it once per session withov stat viking://agent/kanban(orov mkdirwhen it does not exist yet); if the server answersPERMISSION_DENIED(older servers block writes underviking://agentexcept skills), useviking://resources/kanbaninstead.$OV_KANBAN_ROOT, when set, overrides the probe. The protocol is identical, only the root changes.<board>is the isolation unit (a project, repo, or team). It is a plain directory:ov aclon it decides who may read or take tasks. Create one withov mkdir <root>/<board>andov mkdir <root>/<board>/archive(write --mode createneeds the parent directory to exist).<id>isYYYY-MM-DD-short-slug, unique inside the board.
Use the ov CLI (works from any agent that has a shell). If the OpenViking
MCP tools list, read, write, grep are registered, they are
equivalent; never fall back to raw HTTP. Prefer the CLI for writes: a
write that runs into the MCP client timeout has usually still landed, so
read the file back before writing again.
Read in layers
Detail is folded, not compressed: a lower layer holds the full text the upper layer points to. Read top-down and stop at the first layer that answers the question.

