fanout

fanout is a skill for Claude Code, Codex from omnigent-ai/omnigent. It costs 43 tokens per session (909 once invoked), scanned A, original, Apache-2.0.

A workflow for splitting independent development tasks into separate Git worktrees, assigning each to its own coding agent, and opening a pull request for each one.

In plain words
What is it for?
Use it for tasks that share no files and have no ordering dependency, such as separate fixes or refactors.
Why use it?
It keeps parallel changes isolated and adds a cross-review step before a human decides what to merge.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents; mentions Codex; mentions OpenCode.

Good fit Use it for tasks that share no files and have no ordering dependency, such as separate fixes or refactors.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/omnigent-ai/omnigent/fanout
About the project

Omnigent is an open-source orchestration layer for running and coordinating different AI coding agents through one system. It is for developers who want to combine agents, apply policies and sandboxing, and continue sessions across devices. The catalogue add-ons extend its agent workflows.

omnigent-ai/omnigent · 9,752 stars · on GitHub · omnigent.ai

Install

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.

Any agent
npx skills add omnigent-ai/omnigent --skill fanout
Clone the repo
git clone --depth 1 https://github.com/omnigent-ai/omnigent

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for fanout

README.md
[![agentmods](https://agentmods.dev/badge/skills/omnigent-ai/omnigent/fanout.svg)](https://agentmods.dev/skills/omnigent-ai/omnigent/fanout)
Your own site
<a href="https://agentmods.dev/skills/omnigent-ai/omnigent/fanout"><img src="https://agentmods.dev/badge/skills/omnigent-ai/omnigent/fanout.svg" alt="Measured on agentmods" height="20"></a>
Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 909 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00043 $0.00909
Opus 5 $0.00022 $0.00454
Sonnet 5 $0.00009 $0.00182
Haiku 4.5 $0.00004 $0.00091

Measured 8d ago against content hash d01d3ffd72e0, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

fanout 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 8d 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.

examples/polly/skills/fanout/SKILL.md · 63 lines

How it starts

The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.

fanout — safe parallel execution

Use ONLY for subtasks that are parallel-safe (no shared files, no ordering dependency).

Procedure

  1. Per task, create an isolated worktree: sys_os_shell("git worktree add .worktrees/<task_id> -b polly/<task_id>"). Record the worktree path + branch in the registry (.polly/registry.json).
  2. Dispatch one implementation sub-agent per task, scoped to its worktree: sys_session_send(agent="claude_code"|"codex"|"opencode"|"cursor"|"hermes"|"agy", title="<task_slug>", args={purpose: "implement", input: "<task + acceptance contract + worktree path>"}). Use a short task-based title such as auth-refactor or fix-sse-error, never the raw vendor name. State the scope and that it must work only inside .worktrees/<task_id>. The worker drives the task to green and opens its OWN PR for the branch. Every commit the worker authors must end with a blank line followed by the exact co-sign trailer as its final line — Co-authored-by: omnigent <[email protected]>. For a long-running claude_code or codex implementation with an explicit completion condition, the input may instead be one standalone /goal <condition> command containing that same task, worktree, acceptance contract, green gates, and PR requirement. Do not use child goal mode for other workers or non-implementation purposes. Record each handle's conversation_id in the registry. Emit the worktree + sys_session_send tool calls in THIS turn — never end a turn having only said you will dispatch; the dispatch calls and their announcement go in the same turn. Dispatch the whole parallel-safe set, THEN (and only then) END YOUR TURN. Do not poll.
  3. Each sub-agent runs autonomously and notifies you through the inbox when it finishes. Collect its structured result with sys_read_inbox and record the PR URL in the registry. If the inbox result is empty/unclear, inspect that worker conversation with sys_session_get_history before deciding what to do next.
  4. Send each finished task's PR through cross-review.
  5. polly does NOT merge — the PR is the deliverable. When cross-review passes, the task is done: mark it ready in the registry with its PR URL and leave it for the human to review and merge. Never run git merge / gh pr merge.
  6. Remove a finished worktree (git worktree remove) only once its PR is open and review is clean — the branch lives on the remote, so the worktree is disposable. Don't remove a worktree that still has open fix-tasks.

Read the full file on GitHub · 63 lines

Changes

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.

  1. 8d ago First seen · 63 lines · 43 tokens per session scan A d01d3ffd72e0

Subscribe to this mod's changes

fanout is a skill published in the GitHub repository omnigent-ai/omnigent (9,752 stars, last pushed today), licensed Apache-2.0. It adds 43 tokens to every session and 909 once invoked, about $0.0002 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.

Related

Other skills, from other repositories

cli-release

Release and recover first-party Composio CLI binaries through Build CLI Binaries, including automatic beta builds, promote-stable dispatches, beta-tag selection, asset and installation verification, and failed release recovery. Use when a contributor asks to build a CLI beta, publish or promote a stable CLI version…

ComposioHQ/composio · 95 tokens

python-release

Handle Python SDK release, build, bump, packaging metadata, PyPI client pin, uv.lock, nox/build workflow, and publish verification changes. Use for Python release process work or dependency pin bumps; do not use for ordinary Python feature implementation.

ComposioHQ/composio · 53 tokens

taiyi-integration

A project workflow skill for closing a TaiyiForge change and recording it in a CHANGELOG.md file. It checks review results, tests, and the state of the working tree before archiving the change.

Dong90/oh-my-taiyiforge · 27 tokens

security-pipeline

Use when security verification is needed - pre-commit security checks, vulnerability scanning, STRIDE threat analysis. Integrates with /handoff-verify --security and /commit-push-pr. CWE Top 25 based.

sangrokjung/claude-forge · 48 tokens

lean-review

CocoLean diff-scoped over-engineering audit — scans uncommitted git diff and applies five classification tags (delete/stdlib/native/yagni/shrink) to identify unnecessary surface area before commit.

Snowflake-Labs/cocoplus · 44 tokens

map-diff

Analyze the impact of staged git changes against the committed Cortex function knowledge graph — shows which downstream functions are affected before you commit.

Snowflake-Labs/cocoplus · 28 tokens