Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OAI-Labs/vibe-flow --skill vibe-export-kanbangit clone --depth 1 https://github.com/OAI-Labs/vibe-flowWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/oai-labs/vibe-flow/vibe-export-kanban)<a href="https://agentmods.dev/skills/oai-labs/vibe-flow/vibe-export-kanban"><img src="https://agentmods.dev/badge/skills/oai-labs/vibe-flow/vibe-export-kanban/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/oai-labs/vibe-flow/vibe-export-kanban"><img src="https://agentmods.dev/badge/skills/oai-labs/vibe-flow/vibe-export-kanban.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.01559 |
| Opus 5 | $0.00031 | $0.00779 |
| Sonnet 5 | $0.00012 | $0.00312 |
| Haiku 4.5 | $0.00006 | $0.00156 |
Grade A, and why
vibe-export-kanban scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vibe-export-kanban
Overview
One-way sync from a completed local run back to vibe-kanban. For each issue in plan-local.json that has a kanban_id, post a "merged" comment with the final PR url and the commit SHA, then transition the issue to done. Idempotent — re-running is safe.
Core principle: Comment + transition only. Never touch title, description, tags, or relationships. Teammates own the canonical metadata; we just close the loop.
Announce at start: "I'm using the vibe-export-kanban skill to sync results back."
When to use
vibe-ship-fastfinished, the final PR is merged tomain(verified viagh pr view --json state).vibe-flow/plan-local.jsonexists and at least one issue has a non-nullkanban_id
Do NOT use if:
- Final PR is still open or closed-without-merge → wait or abandon
- Plan was created by
vibe-plan --local(no kanban links) → nothing to export, exit early with a message - A previous export already ran for this commit (detected via marker comment) → no-op confirmation
The process
Step 1: Verify preconditions
# Final PR must be merged
PR_URL=$(jq -r '.pr_url' .vibe-flow/state-local.json)
PR_NUM=$(echo "$PR_URL" | grep -oE '[0-9]+$')
STATE=$(gh pr view "$PR_NUM" --json state,mergeCommit --jq '.state')
[ "$STATE" = "MERGED" ] || { echo "PR $PR_NUM not merged (state=$STATE)"; exit 1; }
MERGE_SHA=$(gh pr view "$PR_NUM" --json mergeCommit --jq '.mergeCommit.oid')
If preconditions fail → STOP, report to user.
Step 2: Load plan + state
Read .vibe-flow/plan-local.json and .vibe-flow/state-local.json. Build the export set:
for each issue in plan-local.json.issues:
if issue.kanban_id is null → skip (local-only)
if state-local.json.issues[issue.id].status != "merged" → skip (not actually shipped this run)
else → include in export set
If export set is empty → output "nothing to sync" and exit.
Step 3: Check the idempotency marker
For each issue in the export set, call list_issue_comments(issue_id) (or equivalent MCP read). Look for an existing comment containing:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 160 lines · 62 tokens per session scan A c7422f30cabe
vibe-export-kanban is a skill published in the GitHub repository OAI-Labs/vibe-flow (1 stars, last pushed 1mo ago), licensed MIT. It adds 62 tokens to every session and 1,559 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
lead
Use when acting as the factory tech lead: classify work, ask the minimum questions, create tickets, and dispatch without implementing.
to-tickets
Use when breaking a plan into tracer-bullet GitHub issues with blocking edges.
merge-review
Reviews pending fleet worktree merges before they're accepted. Reads the merge-check queue, detects file-level conflicts between branches, proposes a safe merge order, and surfaces reconciliation plans for overlapping changes.
workspace
Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.
decision-map
Turn a loose idea into a git-tracked, session-resumable map of typed investigation tickets, then drive them to resolution one at a time. The planning-loop engine for work that is still being figured out — too fuzzy for a campaign, too big for a single intake item. Resolved tickets graduate into .planning/intake/ for…
unharness
Safely leave Citadel using the active adoption receipt. Produces a no-write, reviewable plan, preserves a portable archive, removes only exact owned material, and reports modified or externally registered surfaces as retained or unknown. Legacy installs must be imported before exact leave is claimed.