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/daemonicai/teambuilder/teambuilder-apply-dispatch-loopnpx skills add daemonicai/teambuilder --skill teambuilder-apply-dispatch-loopgit clone --depth 1 https://github.com/daemonicai/teambuilderWrote 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/daemonicai/teambuilder/teambuilder-apply-dispatch-loop)<a href="https://agentmods.dev/skills/daemonicai/teambuilder/teambuilder-apply-dispatch-loop"><img src="https://agentmods.dev/badge/skills/daemonicai/teambuilder/teambuilder-apply-dispatch-loop.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 | $0.00064 | $0.01232 |
| Opus 5 | $0.00032 | $0.00616 |
| Sonnet 5 | $0.00013 | $0.00246 |
| Haiku 4.5 | $0.00006 | $0.00123 |
Grade A, and why
teambuilder-apply-dispatch-loop 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 4d 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 — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Dispatch pending tasks from an OpenSpec change's tasks.md to the right Teambuilder persona (Designer, Programmer, or Tester) in a fresh subagent per task.
Input: The active change name. The caller (typically /opsx:apply) has already selected the change, read context files, and shown current progress — this skill only runs the dispatch loop itself.
Steps
-
Enumerate pending tasks and available personas
Read
openspec/changes/<name>/tasks.mdand collect every- [ ]checklist item in source order, along with the section heading it appears under. Preserve the exact task text.List
.claude/agents/programmer-*.mdand extract the variant suffix from each filename (e.g.,programmer-ios.md→ios). Hold this list for the classification step. If no variant files exist, the list is empty.If there are no pending tasks, exit immediately with a "Nothing to do" message and return control to the caller.
-
For each pending task in source order:
a. Classify by section heading:
- Heading matching
/design|ux|ui/i→ Designer (.claude/agents/designer.md) - Heading matching
/test/i→ Tester (.claude/agents/tester.md) - All other headings, or no heading → Programmer. Pick the variant:
- Check the heading (case-insensitive) for any variant suffix from step 1 as a whole-word substring.
- If exactly one variant matches → use
.claude/agents/programmer-<variant>.md. - If zero or more than one variant matches → use
.claude/agents/programmer.md.
The Architect is expected to structure
tasks.mdheadings to match available personas (see/teambuild:architect). If a heading is ambiguous, the fallback to baseprogrammer.mdis intentional — do not guess.b. Check the persona file exists at
.claude/agents/<persona>.md. If it does not:- Halt the loop immediately.
- Tell the user: "Task N requires the [Persona] persona, but
.claude/agents/<persona>.mddoes not exist. Run/teambuild:<persona>to create it, then re-run/opsx:apply." - Stop here.
c. Dispatch via the Agent tool using the persona's name as
subagent_type. Each persona file in.claude/agents/registers a subagent type via itsname:frontmatter (designer,tester,programmer,programmer-<variant>), so Claude Code loads the persona file as the subagent's system prompt automatically — no read-and-adopt step needed.- Designer task:
subagent_type: "designer" - Tester task:
subagent_type: "tester" - Programmer task:
subagent_type: "programmer"orsubagent_type: "programmer-<variant>"per step 2a.
If the Agent tool rejects the persona name as an unknown subagent type in the current environment, fall back to
subagent_type: "general-purpose"and prepend a line to the prompt: "Read and adopt the persona defined in.claude/agents/<persona>.mdbefore starting."Pass the task text verbatim and file-path pointers only — do NOT embed file contents:
Your task: <task text verbatim from tasks.md> Change artifacts (read these files for context): - Proposal: <absolute path to proposal.md> - Design: <absolute path to design.md> - Specs: <absolute path to specs/ directory> - Tasks: <absolute path to tasks.md> When you have completed the task: 1. Self-verify: confirm the implementation is correct, tests pass (if applicable), and the task claim holds. 2. Mark the task complete in tasks.md by changing its `- [ ]` to `- [x]`. 3. Return a brief summary of what you did. If you cannot complete the task, leave the checkbox unchanged and explain why.d. Verify completion: After the subagent returns, re-read
tasks.mdand confirm the dispatched task is now- [x]. If it is still- [ ]:- Halt the loop immediately.
- Surface the subagent's final message to the user.
- Tell the user which task stalled and wait for guidance.
- Do not advance to the next task.
- Heading matching
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.
- 4d ago First seen · 83 lines · 64 tokens per session scan A 8c07bbff1a9f
teambuilder-apply-dispatch-loop is a skill published in the GitHub repository daemonicai/teambuilder (11 stars, last pushed 4mo ago), licensed MIT. It adds 64 tokens to every session and 1,232 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-30.
Other skills, from other repositories
wayfinder
Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.
sap-transport-overview
System-wide inventory of open transport requests — every visible modifiable request, who owns it, how big it is, and supported risk signals such as empty/local requests, explicit locks, and confirmed manifest overlaps. Headers-only and cheap; NO source diffs. Use when asked "what transports are open in the system"…
timeline-creator
Create HTML timelines and project roadmaps with Gantt charts, milestones, phase groupings, and progress indicators. Use when users request timelines, roadmaps, Gantt charts, project schedules, or milestone visualizations.
okx-task-watch
监听任务进展 / 帮我盯着任务 / 任务有动静告诉我 / 历史消息 / 未读消息 / 未决策 / 待决策 / 继续监听 / task watch / user watch / monitor task progress / catch me up on tasks / outstanding decisions — OKX A2A user-session task-notification monitor: live long-poll via okx-a2a user watch (also drains backlog of past/missed/unread events on entry) plus…
pm-all
Skill "pm-all" from wei63w/pm-manager, covering user input, outline and shared workflow (all /pm- commands).
bootstrap-prd
Set up PRD-driven development infrastructure for a new project, including directory structure, templates, and roadmap.