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 atretyak1985/swarmery --skill swarmery-board-cardgit clone --depth 1 https://github.com/atretyak1985/swarmeryWrote 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/atretyak1985/swarmery/swarmery-board-card)<a href="https://agentmods.dev/skills/atretyak1985/swarmery/swarmery-board-card"><img src="https://agentmods.dev/badge/skills/atretyak1985/swarmery/swarmery-board-card/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/atretyak1985/swarmery/swarmery-board-card"><img src="https://agentmods.dev/badge/skills/atretyak1985/swarmery/swarmery-board-card.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.00130 | $0.03756 |
| Opus 5 | $0.00065 | $0.01878 |
| Sonnet 5 | $0.00026 | $0.00751 |
| Haiku 4.5 | $0.00013 | $0.00376 |
Grade A, and why
swarmery-board-card scanned grade A with 1 finding 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 9d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
wrapped in `requireLocalOrigin` — a same-host call that sends no `Origin` header, e.g. `curl` or an How it starts
The opening of the file, as written. The whole thing — 252 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
jira-task-runner mirrors its own progress on the swarmery /board so a human watching the
board sees the same lifecycle the run is going through, without that card ever being able to
trigger a second, competing run of the same job. This skill is the only place that talks to
/api/board/tasks; every other jira-pack skill treats the card as a side effect of this one.
The load-bearing rule: this skill never sets boardColumn: "todo"
tools/swarmery/internal/dispatch/service.go:343 selects dispatch candidates with exactly:
WHERE t.source='queue' AND t.board_column='todo'
POST /api/board/tasks always writes source='queue' (tools/swarmery/internal/api/tasks_board.go:603,
the INSERT INTO tasks call inside createBoardTask), and the handler carries its own comment
right after the insert: "A task created directly into todo is immediately dispatchable — trigger
the event fast path" (tasks_board.go:617). A card that lands in todo is therefore picked up by
the dispatcher on its very next poke, which spawns a second jira-task-runner agent in its
own worktree doing the exact same job the current run is already doing. This is a correctness bug
— two agents racing to comment on and transition the same ticket — not a style preference.
Consequence: no step below may ever request boardColumn: "todo". The card is minted directly
in triage and moved to in_progress on the very next call, skipping todo entirely. The
lifecycle is exactly:
triage --(PATCH boardColumn=in_progress, immediately after creation)--> in_progress --(final PATCH)--> in_review | done
1. Resolve projectId
GET http://127.0.0.1:7777/api/projects returns the project registry as a list of projectDTO
(tools/swarmery/internal/api/handlers.go:48-74: id, path, slug, …). Match the run's
resolved working repo (the root jira-config's working-repo resolution already validated — see
Related) against each row's path first (exact match), falling back to slug. No match at all →
this skill cannot create a card; follow "5. Fallback: daemon unavailable" below with reason
"no project registered for <path>" — a card is observability, not a correctness gate, so a
missing project registration must not block the run.
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.
- 9d ago First seen · 252 lines · 130 tokens per session scan A 130b3901fe61
swarmery-board-card is a skill published in the GitHub repository atretyak1985/swarmery (6 stars, last pushed 2d ago), licensed Apache-2.0. It adds 130 tokens to every session and 3,756 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
execute
Execute phase — wave-based crew dispatch with critic gates and evidence-based verification.
recipe-batch-invite-to-event
Add a list of attendees to an existing Google Calendar event and send notifications.
recipe-block-focus-time
Create recurring focus time blocks on Google Calendar to protect deep work hours.
recipe-post-mortem-setup
Create a Google Docs post-mortem, schedule a Google Calendar review, and notify via Chat.
recipe-create-shared-drive
Create a Google Shared Drive and add members with appropriate roles.
recipe-find-free-time
Query Google Calendar free/busy status for multiple users to find a meeting slot.