fanout
Run independent subtasks in parallel — one git worktree and one implementation sub-agent per task, each cross-reviewed LOCALLY before it opens its own PR.
Skill by uhstray-io
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/uhstray-io-fanout
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/fanout
What's inside
- Skill name
fanout- Description
- Run independent subtasks in parallel — one git worktree and one implementation sub-agent per task, each cross-reviewed LOCALLY before it opens its own PR. buhhdy never merges; the human does.
- License
- MIT
- Instructions
- 68 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# fanout — safe parallel execution
Use ONLY for subtasks that are parallel-safe (no shared files, no ordering
dependency).
Size the wave before dispatching: 2–3 agents for less complex work, 5–7
for more complex (the spawn_bounds cap is 7/turn — a ceiling, not a
target). If the task set exceeds one wave, batch by dependency order up
front rather than discovering the cap mid-fanout.
## Procedure
1. Per task, create an isolated worktree:
`sys_os_shell("git worktree add .worktrees/<task_id> -b buhhdy/<task_id>")`.
Record the worktree path + branch in the registry
(`.buhhdy/registry.json`).
2. Dispatch one implementation sub-agent per task, scoped to its worktree:
`sys_session_send(agent="claude_code"|"codex", 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, running the tests and capturing the evidence (commands run +
results), and COMMITS all of its work on the branch — cross-review
refuses a dirty worktree (anything staged, unstaged, or untracked) —
but it does NOT open a PR yet; the PR comes after local
cross-review passes (step 4). Do not add any co-author/attribution
trailer naming an AI tool or platform to its commits or PR description —
normal commit messages only.
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 (including the test-run evidence)
with `sys_read_inbox`. 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 worktree diff through `cross-review` — LOCAL,
before any PR exists. When it passes, the implementer opens its PR:
body carrying `Closes #N` for its tracker issue and the captured
test-run evidence. VERIFY both are present before counting the PR as
deliverable — a PR missing either goes back to its implementer. Record
the PR URL in the registry and update the issue's status.
5. buhhdy does NOT merge — the PR is the deliverable. Once open, the PR
belongs to pr-shepherd (CI, CodeRabbit findings, human review, merge
lifecycle); CodeRabbit reviews it independently — don't pre-empt or
duplicate it. Never run `git merge` / `gh pr merge` here.
6. Worktree removal is pr-shepherd's post-merge close-out, not fanout's —
don't remove a worktree that still has open fix-tasks or an unmerged PR.
## Notes
- Respect the per-turn dispatch cap (enforced by policy). More tasks than the
cap → dispatch in waves (let the running batch finish before dispatching more).
- The human can open any sub-agent in the UI's Subagents panel and read its
conversation while it runs.
- If a running worker is wrong, runaway, superseded, or no longer useful, call
`sys_cancel_task` with `task_id` set to the recorded `conversation_id` before
dispatching a replacement. `claude_code` is hard-stopped; `codex` cancellation
is best-effort until its runner-side hard-stop exists.
- A sub-agent that returns a dark or failing result: don't re-prompt it in a
loop — re-dispatch a fresh implementation sub-agent in a clean worktree, or
escalate to the user.
- Because buhhdy never merges, cross-PR conflicts surface when the human merges,
not here. Keeping each parallel task's file scope disjoint is what keeps that
rare — honor it.From uhstray-io/huhhb, MIT.
More from uhstray-io/huhhb
- 0.579score
discovering-context
uhstray-io
Use when a goal is big, vague, or dependency-heavy and you need to map every piece of context required before planning — "map the context", "what context do I…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-map
uhstray-io
Use when understanding the whole skill ecosystem and how skills relate — inventorying every skill across tiers (repo / user / plugin), drawing relationships…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-skills
uhstray-io
Use when reviewing the skill library as a whole and driving the skill lifecycle — auditing every hub skill and overlay against usage telemetry, bench history…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-review
uhstray-io
Use when running evolve's learning pass over recent sessions — triaging captured observations into overlay patches, new overlays, repo-memory entries, or…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
core-workflows
uhstray-io
Use when starting new planning/research on a project or picking up development against an existing plan — buhhdy's two standard, repeatable sequences…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
buhhdy-model-calibration-refresh
uhstray-io
Use when buhhdy's provider/model/auth facts need re-verifying — the operator says "run calibration refresh", the monthly refresh is due, a dispatch just…
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
investigate
uhstray-io
Delegate read-only investigation, debugging, audit, search, or code-understanding tasks to sub-agents; synthesize only from their structured reports.
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
cross-review
uhstray-io
Verify an implementer's diff with an INDEPENDENT, different-vendor sub-agent (diff plus contract only), LOCALLY and BEFORE the PR is opened; turn blocking…
SkillBFreshness: B★ 5Claude Code +9 - 0.576score
routing-guide
uhstray-io
Reference skill for buhhdy's provider routing logic — the decision tree, model tier table, per-provider strengths, skill-to-provider affinity, and…
SkillBFreshness: B★ 5Claude Code +9 - 0.575score
evolve-distill
uhstray-io
Use when turning a repeated, successful multi-step workflow from past sessions into a reusable overlay skill — distilling a proven procedure into a…
SkillBFreshness: B★ 5Claude Code +9 - 0.556score
brainstorming
uhstray-io
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillBFreshness: B★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Jul 15, 2026 (3 months ago)
- Last release
- Aug 11, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/uhstray-io/huhhb
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from uhstray-io
- 0.579score
discovering-context
uhstray-io
Use when a goal is big, vague, or dependency-heavy and you need to map every piece of context required before planning — "map the context", "what context do I…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-map
uhstray-io
Use when understanding the whole skill ecosystem and how skills relate — inventorying every skill across tiers (repo / user / plugin), drawing relationships…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-skills
uhstray-io
Use when reviewing the skill library as a whole and driving the skill lifecycle — auditing every hub skill and overlay against usage telemetry, bench history…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
evolve-review
uhstray-io
Use when running evolve's learning pass over recent sessions — triaging captured observations into overlay patches, new overlays, repo-memory entries, or…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
core-workflows
uhstray-io
Use when starting new planning/research on a project or picking up development against an existing plan — buhhdy's two standard, repeatable sequences…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
buhhdy-model-calibration-refresh
uhstray-io
Use when buhhdy's provider/model/auth facts need re-verifying — the operator says "run calibration refresh", the monthly refresh is due, a dispatch just…
SkillBFreshness: B★ 5Claude Code +9
Cite this page
fanout skill. Agent Mart. https://agentmart.dev/skills/uhstray-io-fanout (last updated 2026-10-24)