Kanban Workflow Export
by @simonvanlaak
Kanban Workflow is a TypeScript skill for a stage-based agentic co-worker that integrates PM platforms via CLI-first adapters (CLIs or small wrapper scripts)...
clawhub install kanban-workflow-exportπ About This Skill
name: kanban-workflow description: Kanban Workflow is a TypeScript skill for a stage-based agentic co-worker that integrates PM platforms via CLI-first adapters (CLIs or small wrapper scripts). It provides setup + verbs (show/next/start/update/ask/complete/create) around a canonical stage set (backlog/blocked/in-progress/in-review), plus polling/diffing foundations and automation hooks.
Skill packaging / runtime requirements
requirements: # Core runtime binaries: - node - npm node: install: npm ci # Adapter-specific CLIs (only required if you select that adapter at setup time)
adapters:
github:
binaries: [gh]
planka:
binaries: [planka-cli]
plane:
# ClawHub skill plane (owner: vaguilera-jinko)
binaries: [plane]
linear:
# Uses LINEAR_API_KEY (ClawHub skill linear, owner: ManuelHettich) via scripts/linear_json.sh.
binaries: [bash, curl, jq]
# Environment variables
env:
# No env vars are required by Kanban Workflow itself.
# Auth is inherited from the selected platform CLI.
required: []
optional:
# Required when using the Plane adapter (via ClawHub skill plane).
- PLANE_API_KEY
- PLANE_WORKSPACE
# Required when using the Linear adapter (via ClawHub skill linear).
- LINEAR_API_KEY
Kanban Workflow (core)
Goal
Provide a reusable core for a project-management βco-workerβ that:
stage:* lifecycle as the canonical state machine.Canonical stage model
Treat these labels/states as canonical (and the only stages the agent should consider):
stage:backlogstage:blockedstage:in-progressstage:in-reviewNotes:
Adapters map platform concepts (labels, lists, statuses, custom fields) into this canonical set.
Architecture (ports & adapters)
Core (platform-agnostic)
WorkItem, Project, Comment, Stage.WorkItemCreated, WorkItemUpdated, StageChanged, CommentAdded, etc.Adapters (platform-specific)
Adapters are βsmart wrappersβ that:
gh, planka-cli, plane), relying on their auth/session (Plane uses PLANE_API_KEY + PLANE_WORKSPACE; Linear uses LINEAR_API_KEY via the ClawHub skill linear).Canonical adapter entrypoints live in src/adapters/:
github.ts (gh CLI)planka.ts (planka-cli)plane.ts (ClawHub skill plane CLI; owner: vaguilera-jinko)linear.ts (ClawHub skill linear auth convention via scripts/linear_json.sh)See also: src/adapters/README.md for CLI links and assumptions.
Entry points
Library entry points:
tick() (poll β normalize β diff β events)show, next, start, update, ask, complete, create, autopilot-tickrunProgressAutoUpdates()CLI entry point:
src/cli.ts (provides kanban-workflow ; see README for setup flags)CLI ergonomics: "What next" tips
All kanban-workflow commands print a What next: tip after execution to guide the canonical flow:
setup β next β start β (ask | update) β complete β next
After start, the tip additionally reminds you to run the actual execution/implementation work in a subagent, then report back via ask/update.
If config/kanban-workflow.json is missing or invalid, all commands error and instruct you to complete setup.
Setup (flags-only)
Setup writes config/kanban-workflow.json and validates that the selected platform CLI is installed + authenticated.
Required:
kanban-workflow setup --adapter ... --map-backlog, --map-blocked, --map-in-progress, --map-in-reviewOptional autopilot scheduling:
--autopilot-cron-expr "*/5 * * * *" (default)--autopilot-cron-tz "Europe/Berlin" (optional)--autopilot-install-cron (creates an OpenClaw cron job that runs kanban-workflow autopilot-tick)Adapter flags (summary):
--github-repo , optional --github-project-number --plane-workspace-slug , --plane-project-id , optional --plane-order-field --linear-team-id or --linear-project-id , optional --linear-view-id --planka-board-id , --planka-backlog-list-id Continuous status updates
While a task is in stage:in-progress, Kanban Workflow can post an automatic progress update comment every 5 minutes.
Use runProgressAutoUpdates() and persist its state in your agent/runtime.
Recommended repo layout
scripts/: deterministic helper scripts used by adapters or the core.references/: schemas and adapter notes (loaded on demand).assets/: runbooks/SOP templates.Repo status
src/.Next implementation steps
1) Extend the adapter port to include idempotent write operations (comment/transition/label) in addition to fetchSnapshot().
2) Finish and validate the Plane + Linear adapters (consume ClawHub skill plane output schema; Linear uses scripts/linear_json.sh JSON compatibility wrapper).
3) Decide on the authoritative mapping rule for stage β platform state (names vs explicit mapping table) and codify it.
4) Add a small CLI surface for Kanban Workflow itself (e.g. kanban-workflow tick --adapter plane --workspace ... --project ...).