Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add drobins25/craft/plugin install craftWrote 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/commands/drobins25/craft/craft-cycle-assign)<a href="https://agentmods.dev/commands/drobins25/craft/craft-cycle-assign"><img src="https://agentmods.dev/badge/commands/drobins25/craft/craft-cycle-assign.svg" alt="Measured on agentmods" 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.00013 | $0.01466 |
| Opus 5 | $0.00006 | $0.00733 |
| Sonnet 5 | $0.00003 | $0.00293 |
| Haiku 4.5 | $0.00001 | $0.00147 |
Grade A, and why
cycle-assign 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 7d 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 — 226 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cycle Assign
Assign stories from the backlog to a cycle.
Status Guard
Before assigning, validate story has chunks:
| Check | Action if Failed |
|---|---|
| Has chunks? | BLOCK: "Story needs planning" → offer path choice |
Status = ready? |
OK (backlog stories should be ready) |
Use AskUserQuestion if story isn't ready:
question: "This story doesn't have chunks yet. How do you want to plan it?"
header: "Plan"
options:
- label: "Get creative"
description: "Explore options first with creative-spark"
- label: "Plan directly"
description: "I know what I want, run plan-chunks"
- label: "Pick a different story"
description: "Choose another story to assign"
If user provides custom text: Ask a clarifying AskUserQuestion before proceeding.
Flow
Step 1: Select Story
If no story specified:
"Which story do you want to assign?"
Use AskUserQuestion (options based on actual backlog):
question: "Which story do you want to assign?"
header: "Story"
options:
- label: "[story-1-name]"
description: "[priority] — [brief spark]"
- label: "[story-2-name]"
description: "[priority] — [brief spark]"
- label: "[story-3-name]"
description: "[priority] — [brief spark]"
If user provides custom text: Ask a clarifying AskUserQuestion to confirm which story they mean.
If story specified: proceed directly.
Step 2: Select Cycle
If no cycle specified:
"Which cycle?"
Use AskUserQuestion (options based on existing cycles, sorted by numeric prefix):
question: "Which cycle?"
header: "Cycle"
options:
- label: "[1-auth] (Recommended)"
description: "active, 3 stories"
- label: "[2-dashboard]"
description: "planning, 6 stories"
- label: "Create new cycle"
description: "Start a new cycle for this story"
If user provides custom text: Ask a clarifying AskUserQuestion to confirm which cycle.
Cycle selection logic:
- Sort cycles by numeric prefix (e.g.,
1-auth<2-dashboard) - If active cycle exists: mark it as "(Recommended)"
- If no active cycle: recommend the lowest-numbered incomplete cycle
- If only one cycle exists: use it directly
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.
- 7d ago First seen · 226 lines · 13 tokens per session scan A 2d830eaa45e4
cycle-assign is a command published in the GitHub repository drobins25/craft (53 stars, last pushed today), licensed MIT. It adds 13 tokens to every session and 1,466 once invoked, about $0.0001 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-30.
Other commands, from other repositories
claudehut-learning-report
Show the ClaudeHut learning scoreboard — measured memory health (store size, reinforcement, effectiveness/recurrence, quality) so you can tell whether the agent is actually getting smarter across sessions. One-shot, read-only.
issue-tracker
Intelligent issue management and project coordination with ruv-swarm integration for automated tracking, progress monitoring, and team coordination.
sdd
Generate a Kiro-style spec triple — specs/ /{requirements,design,tasks}.md.
smart-agents
Automatically spawn the right agents at the right time without manual intervention.
issue-triage
Intelligent issue classification and triage.
traceability-gen
Regenerate traceability.md from specs + plans + tests.