kanban-md-498b12 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited kanban-md-498b12 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- kanban-md-skill-version: 0.38.0 -->
Manage kanban boards stored as Markdown files with YAML frontmatter. Each task is a .md file in kanban/tasks/. The CLI is kanban-md (alias kbmd if installed via Homebrew).
!kanban-md board 2>/dev/null || echo 'No board found — run: kanban-md init --name PROJECT_NAME'
--compact for listing commands (list, board, metrics, log) to gettoken-efficient one-line output.
kanban-md show ID (default table format) to read task details — it includesthe full body and all fields in a human-readable layout. Only add --json when you need to pipe the output to another tool or parse fields programmatically.
--yes when deleting (kanban-md delete ID --yes).YYYY-MM-DD format.kanban-md board to discover valid values before using them.
| User wants to... | Command |
|---|---|
| See board overview / standup | kanban-md board --compact |
| Get a unique agent name (for claims) | kanban-md agent-name |
| List all tasks | kanban-md list --compact |
| List tasks by status | kanban-md list --compact --status todo,in-progress |
| List tasks by priority | kanban-md list --compact --priority high,critical |
| List tasks by assignee | kanban-md list --compact --assignee alice |
| List tasks by tag | kanban-md list --compact --tag bug |
| List blocked tasks | kanban-md list --compact --blocked |
| List ready-to-start tasks | kanban-md list --compact --not-blocked --unblocked --status todo |
| List tasks with resolved deps | kanban-md list --compact --unblocked |
| Find a specific task | kanban-md show ID |
| Claim next available task | kanban-md pick --claim <agent> --status todo --move in-progress |
| Create a task | kanban-md create "TITLE" --priority P --tags T |
| Create a task with body | kanban-md create "TITLE" --body "DESC" |
| Create and immediately claim a task | kanban-md create "TITLE" --priority P --claim <agent> |
| Start working on a task | kanban-md move ID in-progress --claim <agent> |
| Advance to next status | kanban-md move ID --next |
| Move a task back | kanban-md move ID --prev |
| Complete a task | kanban-md move ID done |
| Edit task fields | kanban-md edit ID --title "NEW" --priority P |
| Add/remove tags | kanban-md edit ID --add-tag T --remove-tag T |
| Set a due date | kanban-md edit ID --due 2026-03-01 |
| Block a task | kanban-md edit ID --block "REASON" |
| Unblock a task | kanban-md edit ID --unblock |
| Add a dependency | kanban-md edit ID --add-dep DEP_ID |
| Set a parent task | kanban-md edit ID --parent PARENT_ID |
| Append a note to task body | kanban-md edit ID --append-body "note" --timestamp |
| Hand off a task to review | kanban-md handoff ID --claim <agent> --note "…" --release |
| Soft-delete with confirmation semantics | kanban-md delete ID --yes |
| Archive a task explicitly | kanban-md archive ID |
| See flow metrics | kanban-md metrics --compact |
| See activity log | kanban-md log --compact --limit 20 |
| See recent activity for a task | kanban-md log --compact --task ID |
| Get a board context summary | kanban-md context |
| Initialize a new board | kanban-md init --name "NAME" |
kanban-md list [--status S] [--priority P] [--assignee A] [--tag T] \
[--sort FIELD] [-r] [-n LIMIT] [--blocked] [--not-blocked] \
[--parent ID] [--unblocked] [--unclaimed] [--claimed-by AGENT] \
[--class C] [--archived] [--group-by FIELD]Sort fields: id, title, status, priority, created, updated, due. -r reverses. --unblocked shows tasks whose dependencies are all at terminal status.
kanban-md create "TITLE" [--status S] [--priority P] [--assignee A] \
[--tags T1,T2] [--due YYYY-MM-DD] [--estimate E] [--body "TEXT"] \
[--parent ID] [--depends-on ID1,ID2] [--class C] [--claim AGENT]Prints the created task ID and summary. --claim immediately claims the task for an agent, combining creation and claiming in one step.
kanban-md show ID
kanban-md show ID --archived # include archived direct children
kanban-md show ID --json # only when piping to another toolDefault format shows all fields including the body in a readable layout. Use --json only when you need to parse fields programmatically. For the JSON schema, see references/json-schemas.md.
kanban-md agent-nameGenerates a random two-word identifier (e.g. frost-maple) to use as a claim name. Run once per agent session and remember the result.
kanban-md edit ID[,ID,...] [--title T] [--status S] [--priority P] [--assignee A] \
[--add-tag T] [--remove-tag T] [--due YYYY-MM-DD] [--clear-due] \
[--estimate E] [--body "TEXT"] [-a "TEXT"] [--started YYYY-MM-DD] [--clear-started] \
[--completed YYYY-MM-DD] [--clear-completed] [--parent ID] \
[--clear-parent] [--add-dep ID] [--remove-dep ID] \
[--block "REASON"] [--unblock] [--class C] \
[--claim AGENT] [--release] [-t]Only specified fields are changed. Prints a confirmation message. -a / --append-body appends text to the existing body without replacing it. -t / --timestamp prefixes a timestamp line when appending. --claim claims (or renews a claim on) the task for the agent. --release releases the claim on the task. Accepts comma-separated IDs for bulk edits.
kanban-md move ID[,ID,...] STATUS
kanban-md move ID --next
kanban-md move ID --prev
kanban-md move ID STATUS --claim AGENTAuto-sets Started on first move from initial status. Auto-sets Completed on move to terminal status. Accepts comma-separated IDs for bulk moves. --claim claims the task during the move (useful when resuming a parked task).
kanban-md pick --claim AGENT [--status S] [--move STATUS] [--tags T1,T2] \
[--parent ID] [--no-body]Finds the highest-priority unclaimed, unblocked task and claims it in the same command. Use --status to restrict which column to pick from. Use --move to move the task in that operation. This replaces the slower list → claim → move sequence. Claims are cooperative leases rather than a distributed transaction. By default the result includes full task details; use --no-body when the one-line confirmation is enough.
kanban-md handoff ID --claim AGENT [--note "TEXT"] [--block "REASON"] [--release] [-t]Moves the task to review, appends a handoff note, and optionally marks it blocked and/or releases the claim. Use when parking work for another agent or waiting on user input. -t adds a timestamp.
kanban-md context [--sections in-progress,blocked,overdue,recently-completed] \
[--days N] [--write-to FILE]Generates a markdown board summary suitable for embedding in CLAUDE.md or AGENTS.md. --write-to writes (or updates) the summary inside a delimited block in the target file.
kanban-md delete ID --yesMoves the task to archived; the task file remains on disk. Always pass --yes because non-interactive contexts cannot answer the confirmation prompt.
kanban-md archive ID[,ID,...] [--claim AGENT]Moves tasks to archived without a confirmation prompt. Pass the current claim name when archiving an actively claimed task.
kanban-md boardShows board overview: task counts per status, WIP utilization, blocked/overdue counts, priority distribution.
kanban-md metrics [--since YYYY-MM-DD]Shows throughput (7d/30d), avg lead/cycle time, flow efficiency, aging items.
kanban-md log [--since YYYY-MM-DD] [--limit N] [--action TYPE] \
[--task ID]Common action types: create, edit, move, delete, block, unblock, claim, release, handoff, and priority.
All commands accept: --json, --table, --compact (alias --oneline), --dir PATH, --no-color.
kanban-md board --compact — board overviewkanban-md list --compact --status in-progress — in-flight workkanban-md list --compact --blocked — stuck itemskanban-md metrics --compact — throughput and agingkanban-md list --compact --status backlog --sort priority — review backlogkanban-md move ID todokanban-md create "TITLE" --priority P --tags Tkanban-md archive IDkanban-md board --compact — current statekanban-md list --compact --status backlog,todo --sort priority — candidateskanban-md move ID todokanban-md edit ID --assignee NAMEkanban-md edit ID --due YYYY-MM-DDkanban-md move ID done — marks complete, sets Completed timestampkanban-md show ID --json — verify status and timestampskanban-md create "Fix: DESCRIPTION" --priority high --tags bugkanban-md edit ID --body "Steps to reproduce: ..."kanban-md create "Epic title"kanban-md create "Subtask" --parent PARENT_IDkanban-md create "Task B" --depends-on TASK_A_IDkanban-md list --compact --unblockedQuick-reference for the agent task lifecycle. These are combination commands — multiple flags in one call to minimize round-trips. Replace <agent> with your session's agent-name output.
kanban-md agent-name # generate a unique claim name; remember it
kanban-md board --compact # orient: what's active, blocked, overdue# Pick highest-priority unclaimed task from todo and move it to in-progress in one step
kanban-md pick --claim <agent> --status todo --move in-progress
# If todo is empty, pick from backlog
kanban-md pick --claim <agent> --status backlog --move in-progress
Pick already prints full task details; add --no-body only when they are unnecessary.
# Create a task and immediately claim it
kanban-md create "TITLE" --priority high --tags bug --claim <agent>
# Add a body separately (or use --body inline if short)
kanban-md edit <ID> --body "Steps to reproduce: ..."# Leave a timestamped note while keeping your claim active
kanban-md edit <ID> -a "Implemented X, running tests." -t --claim <agent># Run from board home, after merging
kanban-md edit <ID> --release
kanban-md move <ID> done# Waiting on user decision or external action
kanban-md handoff <ID> --claim <agent> \
--note "Ready to merge: branch task/<ID>-…; waiting for: ..." \
-t --release
# Blocked on something specific
kanban-md handoff <ID> --claim <agent> \
--block "Reason for block" \
--note "What's needed to unblock and next step." \
-t --releasekanban-md edit <ID> --claim <agent> # re-claim
kanban-md edit <ID> --unblock --claim <agent> # unblock (if it was blocked)
kanban-md move <ID> in-progress --claim <agent> # move back to in-progress# Tag multiple tasks at once
kanban-md edit <ID1>,<ID2>,<ID3> --add-tag layer-3
# Move multiple tasks
kanban-md move <ID1>,<ID2> todo
# List with combined filters
kanban-md list --compact --status backlog --priority high,critical --sort priority
kanban-md list --compact --not-blocked --status todo # tasks ready to start
kanban-md list --compact --status in-progress,review # all active/parked work--compact for listing, board, metrics, and log commands — it is the most token-efficient format.kanban-md show ID (default format) to read task details — it is readable and includes the full body.--yes on delete. Without it, a non-interactive command exits witha confirmation-required error.
pick --claim <agent> --status todo --move in-progress rather thanlist → edit → move — one operation minimizes the coordination window and records ownership immediately.
-a / --append-body with --claim <agent> when adding progress notes — this renews the claim and appends without overwriting the body.--json unless you are piping output to another tool or parsing fields programmatically. Default and --compact formats are sufficient for reading.kanban-md board --compact.--next or --prev without checking current status. They fail at boundary statuses.--status and --next/--prev to move. Use one or the other.kanban-md create "Fix: the 'login' bug".--body and --append-body values. Shell interprets backticks (` `) and $(...) inside double quotes as command substitution, which will **execute the text as commands**. Escape every backtick with a backslash: \ `` or use single quotes for the outer string if possible.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.