delegate
Skill5 starsChanged 33 days agoMITView on GitHub
Delegate a bounded one-shot task to Hugin's orchestrator-v1 broker — cheaper / smaller runtimes via the `hugin-mcp` MCP. Use for summarize / extract / classify / draft / rewrite / short reason work where you'd rather not spend Claude tokens. Submits, polls to completion, surfaces the result, and prompts the user to rate it.
78 other projects use a version of this.
Adopted by
Most recently taken up by
- brasillero/brstacktheir own version, first seen Nov 8, 2026
- go-sphere/skillstheir own version, first seen Nov 8, 2026
- victor-falcon/skillstheir own version, first seen Nov 8, 2026
- AlomoesDataScience/claude-skillstheir own version, first seen Nov 8, 2026
- lehcode/claudelegatetheir own version, first seen Nov 8, 2026
- codewhale-hq/codewhale-plugin-marketplacetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use state, preview and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillstate
Store and query a Microsoft Managed App's built-in state and file attachments with `ms project state` CLI schema commands and generated TypeScript clients. First, with the user signed in to the CLI, run `ms feature status --name state --json`; if `feature.enabled` is not `true`, recommend an alternative connector or data source.
Also in 3 projects that use this
kv0906Skillpreview
Render vault notes as styled HTML and open in browser. Turn markdown docs, decisions, progress reports into readable previews. Use for "/preview docs/project-a/checkout-flow.md", "/preview progress all", "/preview decide auth-approach", or when user wants to see a doc before sharing.
Also in 3 projects that use this
GitHubSkillprd
Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.
Also in 5 projects that use this
nicolasestremSkilldocument
Create focused documentation for specific components or features
Also in 3 projects that use this
anombyte93Skilldiscover
Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.
Also in 3 projects that use this
Microsoft AzureSkillskill-authoring
Write Agent Skills that comply with the agentskills.io specification. WHEN: "create a skill", "new skill", "write a skill", "skill template", "skill structure", "review skill", "skill PR", "skill compliance", "SKILL.md format", "skill frontmatter", "skill best practices". DO NOT USE FOR: general documentation. INVOKES: vally CLI.
Also in 3 projects that use this
Other versions78 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 78
- prassanna-ravishankar/repowire★ 270same name
- HurricaHjz/SecondSelf★ 156same name
- wlsdks/ontology-atlas★ 149same name
- HurricaHjz/second-yourself★ 105same name
- spmtitsolution/OpenBA-Kit★ 38same name
- pvjbuilds/delegate-router★ 32same name
- PyModel/claude-architect★ 31same name
- peterpme/skills★ 28same name
- jisuzzzz/haechi★ 17same name
- mhlaghari/stuntman★ 16same name
68 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- closeSkill
- cloudflare-private-static-siteSkill
- code-frictionSkill
- commitSkill
- debate-claudeSkill
- debateSkill
- eli5Skill
- email-triageSkill
- friction-triageSkill
- issuesSkill
- m5-delegateSkill
- magnus-security-reviewSkill
- mimir-searchSkill
- presentifySkill
- review-pr-codexSkill
- ship-itSkill
- ticket-fleetSkill
- user-test-memorySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 6 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 68 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
If the task needs a worktree / git / file edits, use /submit-task instead — pi-large-coder exists in the alias map but isn't wired in v1.
- Very specific: line 23
If the current model is Opus, ask the user to run /model sonnet first.
- Very specific: line 29
If the MCP is registered but the broker is unreachable, hugin_submit will return a broker_network_error — surface that clearly and stop.
- Distinctive: line 40
If the user gave a description, paraphrase it back in one line and identify:
- Distinctive: line 45
If anything is unclear, ask one focused question.
- Very specific: line 71
When unsure, start with medium.
- Very specific: line 80
If the content is private (personal correspondence, financial details, secrets), do not delegate — those belong on a local-only runtime, …
- Distinctive: line 84
Write a clean, self-contained prompt.
- Very specific: line 93
Keep prompts short. If you're tempted to write a multi-phase plan, you probably want /submit-task, not this.
- Distinctive: line 114
Ask: "Delegate this to Hugin?"
- Very specific: line 118
Call hugin_submit with the validated input.
- Very specific: line 123
If reused_idempotency: true, surface that the broker treated this as a replay (probably benign).
- Very specific: line 133
Call hugin_await with the task_id.
- Distinctive: line 158
Ask the user one question: "How did that go?
- Very specific: line 167
If they rate, also ask for verification_outcome:
- Distinctive: line 176
If the user doesn't want to rate, skip and move on.
- Very specific: line 183
Don't pre-fetch
hugin_models: every time — only when the user asks "what's behind medium?" or you need to disambiguate.
“Common” is measured: kept by at least 6 in 10 of the 68 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/delegate — Delegate to a Cheaper Runtime
Hand a bounded task off to Hugin's broker (/v1/delegate/*) via the hugin-mcp MCP server. The broker dispatches to a cheaper one-shot runtime (Ollama on the Pi, or OpenRouter) and returns a single response. This is not the same as /submit-task — that runs a full agent (Claude Code / Codex) on the Pi for autonomous, multi-step work.
When to use which
Use /delegate when… | Use /submit-task when… |
| One-shot transformation: summarize, extract, classify, draft, rewrite | Multi-step autonomous work — code changes, commits, multi-tool reasoning |
| You want to save Claude tokens on routine work | The task needs tool use, file I/O, MCP access, git |
| Bounded prompt → bounded response | Open-ended "go figure this out" |
| Fast turnaround (seconds–minute) | Long-running (minutes–hours) |
If the task needs a worktree / git / file edits, use /submit-task instead — pi-large-coder exists in the alias map but isn't wired in v1.
Model check
If the current model is Opus, ask the user to run /model sonnet first. This skill is prompt-shaping plus MCP calls — Sonnet is enough.
Prerequisites
hugin-mcp must be registered as an MCP and connected. Check with claude mcp list. If absent, the user needs to register it (see Hugin's CLAUDE.md for the command and the broker token).
If the MCP is registered but the broker is unreachable, hugin_submit will return a broker_network_error — surface that clearly and stop.
Usage
/delegate— interactive: ask what to delegate/delegate <description>— build a task from the description, confirm, submit
Flow
Step 1: Understand the task
If the user gave a description, paraphrase it back in one line and identify:
- What's the input? (text, list, document — paste it inline if small, otherwise reference)
- What's the desired output? (a summary, a JSON list, a draft email, a rewritten paragraph)
- What's the format? (paragraph, bullets, JSON, etc.)
If anything is unclear, ask one focused question.
Step 2: Pick task_type
Map the user's intent to one of these (the broker uses this for accounting + future routing, not execution):
task_type | Examples |
summarize | Condense a meeting note, paper, thread |
extract | Pull entities / action items / structured fields out of text |
classify | Tag, categorize, assign labels |
draft | Compose a new email / message / paragraph from scratch |
reason | Short Q&A, simple inference, "is this X or Y and why" |
rewrite | Reword, simplify, change tone, translate |
code-edit | (reserved — use /submit-task for now) |
other | None of the above |
Step 3: Pick alias_requested
| Alias | Use when | Roughly |
tiny | Trivial bounded transforms — single-sentence summary, simple classify, format normalization | Small Ollama on Pi |
medium | Default. Most summarize/extract/draft/rewrite work | Mid-size local or cheap cloud |
large-reasoning | Needs real reasoning — multi-step inference, nuanced rewrite, careful analysis | Cloud reasoning model |
pi-large-coder | Code editing in a worktree — not in v1, use /submit-task |
When unsure, start with medium. If the result is poor, tell the user "this might want large-reasoning — want me to retry?"
You can call hugin_models first if you want the live alias map and want to surface the actual underlying model, but don't do this on every invocation — it's a network round-trip.
Step 4: Pick sensitivity
public— fine to send to any cloud runtime (e.g., paraphrasing public docs)internal— default. Not public, but no special privacy concern. Stays within trusted runtimes.
If the content is private (personal correspondence, financial details, secrets), do not delegate — those belong on a local-only runtime, and the v1 broker doesn't expose private. Use /submit-task with Runtime: ollama and an explicit Sensitivity: private instead.
Step 5: Build the prompt
Write a clean, self-contained prompt. The runtime sees only this string — no MCP, no tools, no follow-up. Include:
- Role / framing — one short sentence ("You are a careful editor.")
- Input — the actual content, clearly delimited (e.g., between
<input>tags) - Instruction — what to produce, in what format
- Constraints — length cap, tone, what to avoid
For structured output (JSON, bulleted list with required fields), spell the schema out and ask for only that — small models drift if you let them.
Keep prompts short. If you're tempted to write a multi-phase plan, you probably want /submit-task, not this.
Step 6: Pick timeout_ms
| Task | Timeout |
Trivial transform (tiny, short input) | 60000 (1 min) |
Default (medium, normal input) | 300000 (5 min — broker default) |
Long input or large-reasoning | 600000 (10 min) |
Omit for the broker default (5 min).
Step 7: Confirm with the user
Show:
- Alias:
medium - Task type:
summarize - Sensitivity:
internal - Timeout: 5 min
- Prompt: (full text — collapse if long)
Ask: "Delegate this to Hugin?"
Step 8: Submit
Call hugin_submit with the validated input. The MCP fills in envelope fields. Capture:
task_ididempotency_key(echoed back — keep it for retries)received_at
If reused_idempotency: true, surface that the broker treated this as a replay (probably benign).
On error:
broker_network_error→ broker is unreachable. Tell the user, stop.broker_http_errorwith 401/403 → token mismatch. Tell the user to checkHUGIN_BROKER_TOKEN.broker_http_errorwith 4xx + body → schema or policy rejection. Show the body.input_validation→ my fault — re-shape the input and retry.
Step 9: Poll
Call hugin_await with the task_id. Poll cadence: every 3–5 seconds for the first 30 seconds, then every 10 seconds. Stop polling when:
status: "completed"— read the resultstatus: "failed"— read the errororphan_suspected: true— lease expired without completion. Tell the user, offer to wait longer or give up.- Wall-clock exceeds the requested
timeout_ms+ 30s buffer
Show light progress feedback ("Still running…") roughly every 30s while polling, not every poll.
Step 10: Surface the result
When completed:
- Show the result body to the user, formatted appropriately for the task type
- Note effective runtime + model from the result envelope (the broker echoes the resolved alias)
- Prompt the user to rate
When failed:
- Show the error kind + message
- Suggest a remedy based on
kind:alias_unavailable→ retry with a different aliaspolicy_rejected→ sensitivity / scanner rejection — explainexecutor_failed/timeout→ retry, or escalate to/submit-taskscanner_blocked→ the prompt or output tripped a security scanner
Step 11: Rate (optional but encouraged)
Ask the user one question: "How did that go? pass / partial / redo / wrong"
| Rating | Meaning |
pass | Result was good, used as-is or with trivial edits |
partial | Useful but needed real edits |
redo | Wrong shape — same alias, retry might work |
wrong | Wrong runtime choice — should have gone to a bigger model or to /submit-task |
If they rate, also ask for verification_outcome:
accepted_unchanged— pasted in as-isminor_edit— a few tweaksmajor_rewrite— kept the structure but rewrotediscarded— didn't use itescalated_to_claude— re-did the work in Claude
Then call hugin_rate with task_id, rating, rating_reason (one short sentence), verification_outcome. This feeds the future routing model — skipping it isn't fatal, but rate when you can.
If the user doesn't want to rate, skip and move on.
Key Rules
- Self-contained prompt — the runtime has no tools, no MCP, no memory.
- One-shot only — no multi-phase, no "after that, do X". For that, use
/submit-task. - No private content — v1 broker doesn't accept
sensitivity: private. Local-only work goes to/submit-taskwithRuntime: ollama. - Don't pre-fetch
hugin_modelsevery time — only when the user asks "what's behindmedium?" or you need to disambiguate. - Surface errors honestly — don't paper over
broker_network_errorwith a retry loop. Tell the user the broker is unreachable. - Idempotency on retry — if the user wants to re-submit the exact same task after a transient error, pass back the
idempotency_keyfrom the failed response so the broker can dedupe. - Rate when you can — the rating feedback is what makes routing better over time. It's the whole point of the broker existing.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

