kanban-grooming
Use when auditing or grooming Kanban board health: dependency-stub reconciliation, stale generated blockers, malformed Repo/Base/Kind headers, stale…
Skill by EdgeVector
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/edgevector-kanban-grooming
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security, finance
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/kanban-grooming
What's inside
- Skill name
kanban-grooming- Description
- Use when auditing or grooming Kanban board health: dependency-stub reconciliation, stale generated blockers, malformed Repo/Base/Kind headers, stale review/doing placement, superseded trackers, pickup-ready counts, unblock accounting, or human-gate classification. For the full three-bucket needs_human audit (REAL_HUMAN / NOT_A_BLOCKER / NEEDS_RECOMMENDATION), prefer routine human-gate-audit. Triage-only; never ships feature code.
- License
- MIT
- Instructions
- 108 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## NO REVIEW COLUMN (Tom 2026-07-16 — won't-undo)
There is **no `review` column**. Board columns are only:
`backlog → todo → doing → done`.
- Incomplete work: stay in `todo` or `doing`
- Complete work: `done` only with merge/END-STATE proof
- Intentional holds: `block_status=needs_human|deferred|design_first` + reason
in **`backlog`** (default `todo` rejects deferred/human-gated holds; see kanban skill)
Never `kanban move <slug> review`. The live board rejects it. Do not invent
a review lane on custom boards either.
# Kanban Grooming
This skill is for board hygiene, not feature implementation. Use it with the
`kanban-card-authoring` rules for exact card shape.
## Start
1. Check Situations before mutating board state.
2. Use socket-backed board reads; do not run doctor/init or restart LastDB for
`:9001` or busy-node errors.
3. Use capped or column-scoped reads for routine automation. Read full card
bodies only for selected cards with `kanban show <slug>`.
## Audit Checklist
Run these checks and repair only when the evidence is clear:
- **Dependency stubs:** For active cards tagged `dependency-stub`, determine
whether the prerequisite is already done under another slug. Use kanban,
Brain, repo history, PRs, and current source. If done, append a `PROOF
<date>:` note and move the stub to `done`. If not done, rewrite it into a real
tracker/PR/validation card with clean headers and dependencies.
- **Dependent unblock accounting:** After closing dependency cards, list direct
dependents and separate cards now `blocked:false` from cards still blocked by
another dependency or intentional gate.
- **Generated repo-block damage:** Clear `needs_human` blockers whose reason is
only `Repo target not resolvable` / `kanban-pickup cannot resolve Repo` when
the correct repo is evident from the body, title, tags, or known checkout.
Normalize standalone `Repo: owner/name`, `Base: main`, and `Kind:` headers.
Leave a real human gate only when ownership is genuinely unclear.
- **Review lane hygiene:** `review` is for human gates, failed/awaiting
validation, or real PR review state. If a card has no PR/branch and no real
gate, move it back to `todo`. If it is already proven done, append proof and
move it to `done`.
- **Doing lane hygiene:** A stale historical tracker in `doing` should be moved
out. Close it only with proof that it is complete or clearly superseded; else
move it back to `todo` with a note.
- **Stale block text:** Remove body text that says `BLOCKED` when the referenced
blocker is already `done`; add a short `RESOLVED <date>:` note instead.
- **Pickup count:** Report the count of unblocked `todo` cards, then the subset
that is pickup-routable: `kind` in `pr|validation` and non-empty `repo` and
`base`.
## Do Not
- Do not mark a card `done` merely because it is old, quiet, or probably fixed.
- Do not remove human gates that require Tom, production credentials, biometric
prompts, destructive force-pushes, or installed-app upgrades.
- Do not guess across multiple plausible repos. Split the card or leave a crisp
human question.
- Do not rewrite large bodies wholesale unless needed; preserve useful context
and append concise proof/resolution notes.
## Useful Queries
```text
# `kanban list --json` prints an envelope {cards, total, truncated}, not an
# array. Iterate `.cards[]`; never `.[]` (papercut-kanban-watch-list-json-envelope-20260923).
last-stack-json-capture /tmp/kanban-todo.json -- kanban list --column todo --limit 200 --json
last-stack-json-capture /tmp/kanban-doing.json -- kanban list --column doing --limit 100 --json
jq -s '{cards: [.[].cards[]], truncated: any(.[]; .truncated)}' \
/tmp/kanban-todo.json /tmp/kanban-doing.json > /tmp/kanban-active.json
# Active missing dependency slugs
jq -r '.cards[] | select(.column!="done" and ((.missingDeps//[])|length>0))
| [.slug,.column,((.missingDeps//[])|join(","))] | @tsv' /tmp/kanban-active.json
# Stale generated repo blockers
jq -r '.cards[] | select(.column!="done" and .block_status=="needs_human"
and ((.block_reason//"")|test("Repo target not resolvable|kanban-pickup cannot resolve Repo")))
| [.slug,.column,.repo,.base,.kind,.block_reason] | @tsv' /tmp/kanban-active.json
# Pickup-ready count
jq '[.cards[] | select(.column=="todo" and (.blocked|not)
and (.kind=="pr" or .kind=="validation")
and ((.repo//"")!="") and ((.base//"")!=""))] | length' /tmp/kanban-active.json
```
## Human-gate three-bucket model (Tom 2026-07-17)
Deep classification is owned by routine **`human-gate-audit`** (daily). Use the
same buckets when grooming touches a human hold:
| Bucket | Meaning | Action |
|--------|---------|--------|
| **REAL_HUMAN** | pen / vendor / freeze / Tom-only secret / irreversible prod | keep gate; crisp `block_reason` |
| **NOT_A_BLOCKER** | agent-completable (incl. host ops with permission) | clear gate; promote if pickup-ready |
| **NEEDS_RECOMMENDATION** | blocked on missing evidence, not pen | measure now **or** file investigation child that ends with a RECOMMENDATION for Tom |
Digest: brain **`human-gate-audit-latest`**. Morning-sync §⚠️ should prefer that
record over raw `needs_human` labels. Never leave `needs_human` in todo/doing —
demote to backlog first.From EdgeVector/last-stack, MIT.
More from EdgeVector/last-stack
- 0.565score
kanban
EdgeVector
Manage the kanban board — a kanban over LastDB.
SkillAFreshness: AClaude Code +9 - 0.565score
kanban-metrics-dashboard
EdgeVector
Build or refresh an ad-hoc metrics/benchmark view over kanban or LastDB ops data — velocity, throughput, write-timeout benchmarks, board-column funnels…
SkillAFreshness: AClaude Code +9 - 0.565score
board-closeout
EdgeVector
Drain stuck kanban doing cards — merged PRs/CRs to done, true zombies to todo — via the zero-LLM last-stack-board-closeout-sweep.
SkillAFreshness: AClaude Code +9 - 0.565score
factory-health
EdgeVector
Hourly Kanban Factory health check — ship rate, todo depth, doing age vs baselines; ra notify Tom when out of band.
SkillAFreshness: AClaude Code +9 - 0.560score
diagram
EdgeVector
Draw a diagram in Tom's preferred style — technical black-and-white line drawings (thin uniform geometric strokes, hatch for solid/stored things, dimension…
SkillAFreshness: AClaude Code +9 - 0.560score
app-identity-dogfood
EdgeVector
Run the App Identity app-creation flow end-to-end against the DEV environment, autonomously.
SkillAFreshness: AClaude Code +9 - 0.560score
brain-doctor
EdgeVector
Read-only triage of the LastDB brain (Tom's primary brain/kanban daily-driver node — the desktop fold-app process or Mini daemon, reached over the Unix socket…
SkillAFreshness: AClaude Code +9 - 0.560score
fix-it
EdgeVector
Find and land the permanent fix for a defect, papercut, failing signal, or leftover temporary repair.
SkillAFreshness: AClaude Code +9 - 0.551score
close-out
EdgeVector
Run the full close-out loop after finishing a substantive change — worktree PR + auto-merge, file session papercuts, write a full brain report of what was…
SkillAFreshness: AClaude Code +9 - 0.551score
kanban-agent
EdgeVector
Drive a single kanban card all the way to a MERGED PR — a card only reaches `done` when its code is actually in the repo and its outcome is proven.
SkillAFreshness: AClaude Code +9 - 0.524score
app-safe-upgrade
EdgeVector
REQUIRED path for upgrading any installed EdgeVector app (kanban, brain, situations, last-stack, search, …).
SkillBFreshness: BClaude Code +9 - 0.524score
last-stack-machine-leak-scan
EdgeVector
Scan Last Stack for host-machine identity leaks (usernames, home paths, emails, private IPs) that must not ship in the public installable product.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 23, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/EdgeVector/last-stack
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from EdgeVector
- 0.565score
kanban-metrics-dashboard
EdgeVector
Build or refresh an ad-hoc metrics/benchmark view over kanban or LastDB ops data — velocity, throughput, write-timeout benchmarks, board-column funnels…
SkillAFreshness: AClaude Code +9 - 0.565score
board-closeout
EdgeVector
Drain stuck kanban doing cards — merged PRs/CRs to done, true zombies to todo — via the zero-LLM last-stack-board-closeout-sweep.
SkillAFreshness: AClaude Code +9 - 0.565score
factory-health
EdgeVector
Hourly Kanban Factory health check — ship rate, todo depth, doing age vs baselines; ra notify Tom when out of band.
SkillAFreshness: AClaude Code +9 - 0.565score
kanban
EdgeVector
Manage the kanban board — a kanban over LastDB.
SkillAFreshness: AClaude Code +9 - 0.560score
fix-it
EdgeVector
Find and land the permanent fix for a defect, papercut, failing signal, or leftover temporary repair.
SkillAFreshness: AClaude Code +9 - 0.560score
app-identity-dogfood
EdgeVector
Run the App Identity app-creation flow end-to-end against the DEV environment, autonomously.
SkillAFreshness: AClaude Code +9
Cite this page
kanban-grooming skill. Agent Mart. https://agentmart.dev/skills/edgevector-kanban-grooming (last updated 2026-10-24)