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 agentmods add skills/keefar/ticket-flow/specnpx skills add keefar/ticket-flow --skill specgit clone --depth 1 https://github.com/keefar/ticket-flowWhat 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 | $0.00116 | $0.03432 |
| Opus 5 | $0.00058 | $0.01716 |
| Sonnet 5 | $0.00023 | $0.00686 |
| Haiku 4.5 | $0.00012 | $0.00343 |
Grade A, and why
spec 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 2d 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 — 197 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/ticket-flow:spec — Create item spec from template
Args: <kanban-id> (required, numeric) · <author> (optional, default: git config user.name, fallback $USER) · --auto (optional, position-independent — non-interactive full draft)
Examples:
/ticket-flow:spec 94→ drafting author =git config user.name(e.g.Jane Doe)/ticket-flow:spec 80 agent→ drafting author = agent/ticket-flow:spec 80a agent→ for split sub-items (letter suffix allowed)/ticket-flow:spec 94 --auto→ full autonomous draft, no questions, Kanban note →spec: review
Prerequisites
- The item must already exist as a tracked ticket:
a bd issue (raw bd-id, or a
kanban-<id>label for numeric ids). - Items in ROADMAP.md are out of scope — triage them into bd first.
- Template:
docs/specs/SPEC-TEMPLATE.md(in the project).
Steps
-
Find the item — resolve the bd issue, do not read
KANBAN.md:source "${CLAUDE_PLUGIN_ROOT}/skills/kanban/bd-helper.sh" BD_ID="$(bd_id_for "$id")" # raw bd-ids pass through; numeric ids scan kanban-<id> labelsEmpty
BD_ID→ error ("item # not tracked in bd"). -
Extract fields — from
bd show "$BD_ID" --json:tagfromissue_type(bug/feature/task→change),title,notefrom the bdnotesfield,clusterfrom acluster-<marker>label if present (else-).No date is extracted in either mode — neither bd's display nor KANBAN.md's four columns (
# · Tag · Title · Note) store a creation date. The frontmattercreated:is set in step 6. -
Build the slug:
- Lowercase the title, map umlauts (ä→a, ö→o, ü→u, ß→ss), all special chars →
-, collapse multiple-→ single-, strip leading/trailing- - Max 50 chars, cut at word boundary
- Examples: "Add user authentication" →
add-user-authentication; "Refactor session-token-storage layer" →refactor-session-token-storage-layer
- Lowercase the title, map umlauts (ä→a, ö→o, ü→u, ß→ss), all special chars →
-
Target path:
docs/specs/${id}-${slug}.md. If the file already exists → error ("Spec already exists: ") and no KANBAN update. -
Read the template:
Readdocs/specs/SPEC-TEMPLATE.md. -
Fill the frontmatter:
--- id: <id> title: <title> tag: <tag> cluster: <cluster or "-> created: <today> status: draft reference-fork: none subitems: false testable-surface: none ---id/title/tag/clusterare verbatim from the step-2 fields.created:is today's date (date +%F) — KANBAN.md stores no creation date, and the field records when this spec doc was written, which is today. The optional fields (reference-fork,subitems,testable-surface) default to the safe values above; interactive mode leaves them for the spec author to update,--autopopulates them per the rules below. -
Title heading in the template: replace
# <Title>with# ${title}(no cluster marker). -
Keep the rest verbatim — the spec author fills it in. The template's body sections are: Context, Acceptance Criteria, Out of Scope, Reference Fork (Cherry #7), Testable Surfaces (Cherry #1), Sub-Items (Cherry #6), References, Notes. (In
--automode the agent fills the body instead — see Autonomous mode (--auto) below.) -
Writethe filled spec to the target path. -
Surface the spec link + status marker — write to bd only. Do not touch
KANBAN.md(a board snapshot is available on demand via/ticket-flow:board):
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.
- 2d ago First seen · 197 lines · 0 tokens per session scan A 05a74d7a494d
spec is a skill published in the GitHub repository keefar/ticket-flow (4 stars, last pushed 6d ago), licensed MIT. It adds 116 tokens to every session and 3,432 once invoked, about $0.0006 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
kanvibe-release-deploy
Use this skill whenever releasing or deploying KanVibe desktop from a clean, up-to-date dev checkout: ask only for the target version and release-note approval, then let the AI update package versions, run pnpm run deploy, publish the DMG GitHub release, update the Homebrew cask, create the release PR, and auto-merge…
council-router
Route code reviews to appropriate council members. Use when reviewing PRs, architecture decisions, or significant code changes that need expert perspective.
issue-triage
Triage Paperclip inbox issues that are stale, blocked, in-review, or assigned-but-not-progressing, and decide a single next action per issue (resume, reassign, unblock, escalate, or close).
taiyi-ultrawork
TaiyiForge ultrawork — 并行切片 + Cursor Task 自动派发契约(对标 OMC ultrawork + spawnagent).
trtllm-code-contribution
Best practices for contributing code to TensorRT-LLM. Covers the official contribution process (issue tracking, fork workflow, DCO signing), coding guidelines, implementation workflow, common mistakes, testing strategy, commit hygiene, and review readiness. Incorporates rules from CONTRIBUTING.md and…
codekanban-cli
Operate CodeKanban workflows, terminal sessions, and web sessions through the installable codekanban-cli command. Use when the user wants to create, inspect, control, watch, or continue CodeKanban AI work from a project path, project ID, or project name without relying on repository-local helper scripts. Prefer…