Agent skill

Subagent

by ethanhq in ethanhq/cc-fleet

Run a one-shot or flat parallel batch of provider LLM subagents (headless cc-fleet subagent) that return a result.

Apache-2.0Auto-check passedAgent Workflows

Install Subagent

skills CLI
$ npx skills add ethanhq/cc-fleet --skill subagent -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ethanhq/cc-fleet subagent --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ethanhq/cc-fleet.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/subagent .claude/skills/subagent && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
subagent
GitHub stars
215
Token cost
~4.3k tokens
SKILL.md length
2,107 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run a one-shot or flat parallel batch of provider LLM subagents (headless cc-fleet subagent) that return a result.

  • Works in 4 steps: The user named a provider or model → use… → Else run cc-fleet default --json: if it… → Else (several providers, none default)… → …
  • Fanning out N independent tasks
  • SKILL.md covers When to use it, The provider ask ladder (ask…, Calling it (run via Bash,… and Success envelope, plus 6 more sections
  • Calls claude and jq

What it does

Subagent is an agent skill from ethanhq/cc-fleet. Run a one-shot or flat parallel batch of provider LLM subagents (headless cc-fleet subagent) that return a result. Use when fanning out N independent tasks, doing bulk per-file work, or calling a specialized provider model (DeepSeek / GLM / Kimi / Qwen / MiniMax). NOT a long-lived collaborator you message back and forth (that is /cc-fleet:team); NOT a multi-phase pipeline with dependencies or resume (that is /cc-fleet:workflow); NOT trivial work the main session should just do.

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Subagents. It works with DeepSeek, Kimi, MiniMax and Qwen. The repository describes itself as: 🚢 Run Claude Code's ⚙️ Dynamic Workflows, 👥 Agent Teams & ⚡ Subagents on any third-party model — DeepSeek · GLM · Kimi · Qwen … or your Codex subscription. No Anthropic…. The licence is Apache-2.0.

When your agent uses it

  • Fanning out N independent tasks
  • Doing bulk per-file work
  • Calling a specialized provider model (DeepSeek / GLM / Kimi / Qwen / MiniMax)

Example prompts

  • “/subagent”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. The user named a provider or model → use it.
  2. Else run cc-fleet default --json: if it returns a provider (source "configured" or "auto"), use it and STATE it in your kickoff line (e.g…
  3. Else (several providers, none default) ask the user ONCE which to use — list the enabled providers from cc-fleet list --json (name +…
  4. A mid-task provider failure (insufficient balance / rate limit / auth) → STOP, tell the user what happened, propose the next provider, and…

What it can do on your machine

Read from SKILL.md and the folder at commit bb1dff1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • claude
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Subagent loads about 4.3k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 2,107 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~123
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ethanhq/cc-fleet at commit bb1dff1, republished under its Apache-2.0 licence (© ethanhq). 2,107 words, ~4,333 tokens.

Download SKILL.mdSave it as .claude/skills/subagent/SKILL.md (or your agent's skills folder).
name
subagent
description
Run a one-shot or flat parallel batch of provider LLM subagents (headless `cc-fleet subagent`) that return a result. Use when fanning out N independent tasks, doing bulk per-file work, or calling a specialized provider model (DeepSeek / GLM / Kimi / Qwen / MiniMax). NOT a long-lived collaborator you message back and forth (that is /cc-fleet:team); NOT a multi-phase pipeline with dependencies or resume (that is /cc-fleet:workflow); NOT trivial work the main session should just do.

subagent — one-shot / batch / background provider subagent

Wrong lane? A long-lived collaborator you message back and forth → /cc-fleet:team; a multi-phase pipeline with dependencies or resume → /cc-fleet:workflow; arbitration in cc-fleet-shared/routing.md.

When this skill cites cc-fleet-shared/<file>.md, OPEN it with the Read tool at ../cc-fleet-shared/<file>.md relative to this SKILL.md — the cited content is load-bearing, not optional background.

Execution environment — check before running anything. Confirm your shell tool executes on the host where cc-fleet is installed. In sandboxed or remote agent sessions, a tool named Bash may run on an isolated machine with a different filesystem, PATH, processes, and tmux server — command not found, a healthy-looking doctor whose leaves can't reach your files, or a wrong working directory should prompt you to verify whether you are in a sandbox shell, not conclude that cc-fleet is broken. If so, route commands through a host-executing bridge tool (for example, desktop-commander) and pass host paths for any files you reference; do not retry the same Bash call expecting different results. If no host-executing tool is available, stop and explain that cc-fleet must run on its installation host.

cc-fleet subagent runs a provider model headless and returns the result directly on Bash stdout — no tmux pane, no TeamCreate/SendMessage/TeamDelete. The analog of the native Agent/Task tool, but the model can be a provider id. It reuses the same provider selection and the same fingerprint self-heal flow as spawn (cc-fleet-shared/troubleshooting.md). It's the lightweight synchronous branch.

When to use it

  • One-shot research / analysis / judgement — you want an answer, not a long-lived colleague.
  • Batch fan-out — N independent tasks in parallel. subagent is lock-free, so N calls don't serialize behind a server lock the way N spawns do — true parallelism.
  • Cost-bounded probes — --timeout caps wall-clock; the return value carries usage / total_cost_usd; it stops when done (nothing to forget to tear down).

The provider ask ladder (ask at most once per task)

  1. The user named a provider or model → use it.
  2. Else run cc-fleet default --json: if it returns a provider (source "configured" or "auto"), use it and STATE it in your kickoff line (e.g. "using glm (default)").
  3. Else (several providers, none default) ask the user ONCE which to use — list the enabled providers from cc-fleet list --json (name + default_model + the one-line note in cc-fleet-shared/providers.md). After they pick, run cc-fleet default <chosen> so you never ask again. (cc-fleet default <p> is user-layer; only run it to FILL a blank default, never with --force.)
  4. A mid-task provider failure (insufficient balance / rate limit / auth) → STOP, tell the user what happened, propose the next provider, and WAIT for their confirmation. Never switch providers silently.

Model tier within a provider: fan-out / leaf work → omit --model (or --model fast); judge / synthesis / sustained work → --model strong. The provider's roster decides the actual model — see cc-fleet-shared/providers.md.

The reserved native leaf — claude. cc-fleet subagent claude … runs the official claude CLI on the user's OWN Claude Code login (their subscription OAuth or whatever they're logged in as) — no providers.toml row, no profile, no key material. A NAMED deliberate choice, never the auto-default (cc-fleet default claude errors; it never auto-resolves). --model takes a literal id (fable / opus / sonnet / a full id) — the slot keywords default/strong/fast are rejected (no roster); omitted = claude's login default, which is typically the most expensive tier, so naming a model is usually wise. Profiles apply unchanged. The leaf spends the lead session's own subscription window — use it for one or two synthesis / judgement nodes, never a wide fan-out.

bash
cc-fleet subagent claude --model opus --prompt "<synthesis over the gathered notes>" --json

Calling it (run via Bash, always with --json)

bash
cc-fleet subagent --prompt "<task>" --json                 # no provider arg → default provider
cc-fleet subagent deepseek --model strong \
  --prompt "Analyze the worst-case complexity of quicksort in src/sort.go; give a triggering input" --json

The provider arg is optional — with no provider, cc-fleet uses the default. NO_DEFAULT_PROVIDER / DEFAULT_PROVIDER_DISABLED / DEFAULT_PROVIDER_UNKNOWN in the failure envelope mean there is no usable default — apply the provider ask ladder above.

Session grouping — no flag needed by default. cc-fleet subagent auto-detects the parent Claude session (fail-closed: an unvalidatable registry shows (no session), never a guess). The one exception: inside a known team, pass --lead-session-id (the team's leadSessionId from ~/.claude/teams/<team>/config.json) to force the job under that team's session — an explicit flag always wins.

bash
# Optional explicit override, with a known team:
lead_session_id=$(jq -r '.leadSessionId // empty' "$HOME/.claude/teams/<team>/config.json")
cc-fleet subagent --prompt "..." --lead-session-id "$lead_session_id" --json

Useful flags (full list in cc-fleet-shared/cli-reference.md):

  • Name it → --label "<short-alias>" (e.g. --label sort-complexity). The Agents Board shows the label instead of the opaque job id — pass one on every launch, like a teammate name. Display-only metadata; capped at 256 bytes.
  • Large / sensitive prompt → --prompt-file <path> (read from file, piped via stdin, kept out of argv / ps). Use it once a single prompt approaches ~128 KiB (MAX_ARG_STRLEN, the per-argument cap — not the ~2 MB total ARG_MAX). --prompt-file - reads stdin.
  • Long task → --timeout 600s (default 300s). For tasks that may exceed the timeout, run the sync call in a backgrounded Bash, or use --background (both below). Note: a provider that's down on auth (401) or quota (429) makes claude retry ~180s before surfacing KEY_INVALID / INSUFFICIENT_BALANCE, so keep --timeout ≥ ~200s (the 300s default is fine) — a shorter timeout reports those as SUBAGENT_TIMEOUT instead. --probe does not catch a bad key (the models endpoint may not 401 it).
  • Cost / runaway gates → --max-budget-usd 0.5 (cap spend) and --max-turns 8 (cap the agentic tool loop). On fan-out, strongly consider passing these on every call.
  • Prompt profile — slim is the DEFAULT; read-only research → --profile slim-ro; --profile full ONLY to compare against a full session or diagnose a suspected slim regression. --tools REPLACES the whole tool set, never appends. Write prescriptive prompts ("Run cmd", "Use the Read tool on X"), not "look at" / "check" — weak provider models skip tools on weak imperatives under any profile. Tool whitelists / --skills / --mcp defaults / downgrade behavior: cc-fleet-shared/providers.md.
  • Probe is off by default (--probe to opt in): the inner claude -p call is itself the authoritative reachability + auth test. On a big fan-out, run one shared cc-fleet doctor / probe up front rather than paying 3s × N.
  • --prompt and --prompt-file are mutually exclusive — pass exactly one (else error_code=SUBAGENT_BAD_ARGS, no claude launched).

Success envelope

json
{"ok":true,"result":"<answer text>","provider":"deepseek","model":"deepseek-reasoner",
 "duration_ms":12044,"usage":{"input_tokens":812,"output_tokens":1530},
 "total_cost_usd":0.0031,"session_id":"…"}

→ Take .result as this subagent's output and hand it back / continue orchestrating. model is the model the provider actually billed (routing evidence). Keep .session_id if you intend a multi-turn follow-up (below).

Failure envelope — dispatch on error_code (do not parse prose)

error_msg is a canonical string only; never matched on. Dispatch on error_code:

error_codeMeaningWhat you do
SUBAGENT_BAD_ARGSMissing/both --prompt & --prompt-file.Fix the call (exactly one).
NO_DEFAULT_PROVIDERNo provider arg and no default configured.Apply the provider ask ladder.
DEFAULT_PROVIDER_DISABLEDThe default provider is disabled.Apply the provider ask ladder; or the user re-enables via cc-fleet edit <provider> --enable.
DEFAULT_PROVIDER_UNKNOWNThe default names a provider that no longer exists.Apply the provider ask ladder; the user re-pins with cc-fleet default <p>.
DEFAULT_PROVIDER_RESERVEDdefault_provider is hand-set to the reserved claude (explicit-only).The user runs cc-fleet default --unset or re-pins a real provider; don't retry.
CONFIG_LOAD_FAILEDproviders.toml failed to load/validate.cc-fleet doctor; surface to the user — don't retry.
UNKNOWN_PROVIDER / PROVIDER_DISABLEDProvider not configured / disabled.Tell the user to cc-fleet add / cc-fleet edit <provider> --enable.
PROVIDER_RESERVEDA providers.toml row is named claude (reserved for the native leaf).Tell the user to rename or cc-fleet remove claude; spawn still uses the row meanwhile.
FINGERPRINT_MISSINGAn existing fingerprint.json is corrupt (a fresh install uses the bundled recipe, so this is rare).Run the self-heal flow in cc-fleet-shared/troubleshooting.md, then retry.
FINGERPRINT_STALENo claude binary found anywhere (not a missing recipe).Tell the user to install/fix Claude Code or PATH; the self-heal flow can't help. cc-fleet doctor confirms.
KEY_INVALIDProvider 401/403.Have the user rotate the key; do not retry blindly.
INSUFFICIENT_BALANCEOut of balance / quota (429/402 + balance signature).Retry can't help — propose the next provider (provider ask ladder, step 4) or fall back to native Agent; tell the user they're out of credit.
RATE_LIMITEDProvider 429.Wait briefly, retry once, or propose a switch (provider ask ladder, step 4).
MODEL_NOT_FOUNDModel name rejected (400).cc-fleet refresh <provider> then retry, or drop --model to use the default.
PROVIDER_UNREACHABLETransport failure (only with --probe).cc-fleet doctor; if urgent, fall back to native Agent.
SUBAGENT_TIMEOUTExceeded --timeout.Real long task → raise --timeout (or use --background) and retry; suspected hang → switch provider / fall back (with user confirmation).
PROVIDER_API_ERROROther provider failure (5xx / overloaded).Retry once or propose a switch.
CODEX_PROXY_UNAVAILABLEThe codex conversion daemon could not start (no login, or the loopback port is held).Tell the user: cc-fleet codex login, or free / change the port (cc-fleet codex add --port <n>).
CODEX_CLOUDFLARE_BLOCKEDThe ChatGPT backend's edge blocked this IP/client — not a key problem.Switch network/IP or retry later; don't rotate credentials.
SUBAGENT_MAX_TURNSclaude hit the --max-turns cap without finishing (the spent cost is surfaced — not silently $0).Raise --max-turns (or omit it) and retry — a read-heavy / multi-file task needs ~1 turn per file read or command; a genuinely long task can use --background.
SUBAGENT_FAILEDclaude exited with no parseable result (or budget exhaustion). For a claude native leaf on a logged-out machine, this is the login failure — the error preview names it (no dedicated code).Inspect; retry or switch provider. A logged-out native leaf → tell the user to log in to Claude Code interactively.
SUBAGENT_OUTPUT_TOO_LARGEThe child's stdout/stderr exceeded the byte cap; the run was killed.Have it write its output to a file and return a short answer (or narrow the ask) — a blind retry overflows again.
SUBAGENT_STOPPEDAn operator stopped the job (workflow stop / a leaf stop) — terminal, NOT a failure.Never auto-retry; surface it.
Show full SKILL.md (570 more words)Show less

Batch fan-out (parallel, each returns synchronously)

bash
# These Bash calls are independent and can fire in parallel; subagent is
# lock-free, so they don't queue behind each other.
cc-fleet subagent glm      --prompt "Summarize docs/a.md" --json
cc-fleet subagent glm      --prompt "Summarize docs/b.md" --json
cc-fleet subagent deepseek --prompt "Summarize docs/c.md" --json
# Each returns its own {ok, result, total_cost_usd}; aggregate them. No
# TeamCreate / TeamDelete needed.

A flat fan-out only — phases, dependencies, or dynamic orchestration over the results is /cc-fleet:workflow.

Long tasks: a backgrounded Bash is the push notification

A finished subagent CAN wake you: a backgrounded Bash command's exit is delivered to the session as a task notification. Never spawn an agent (or loop yourself) to poll. Two shapes:

  1. Sync call in a backgrounded Bash (first choice). Run the ordinary cc-fleet subagent … --json with the Bash tool's run_in_background=true, end your turn, and the harness wakes you when it exits — the envelope is the task output. Zero extra mechanism; the process is tied to your session.
  2. --background + a waited status — when the job must survive your session, or you want it grouped on the Agents Board:
bash
cc-fleet subagent --prompt "<long task>" --background --json
# → {"ok":true,"job_id":"<uuid>","status":"running","output_file":"…","pid":…}
# arm the notifier (backgrounded Bash — its exit wakes you):
cc-fleet subagent-status <job_id> --wait --timeout 5m --json

Wake-up dispatch on the exit code: 0 done (envelope has .result) · 1 failed OR stopped — check .status first: stopped is an operator stop, never auto-retry; failed → dispatch on .error_code · 3 held (a workflow-leaf id an operator parked — surface it, never wait it out) · 124 still pending at --timeout (a heartbeat: re-arm; escalate only if the job is far past its own --timeout) · 130 interrupted. Always pass --timeout, and re-arm any still-pending wait after a session restart.

cc-fleet subagent-gc --json prunes finished job files.

Multi-turn: --resume

Continue a prior subagent session (stateful, but not long-lived between turns — each turn is a fresh claude -p --resume):

bash
cc-fleet subagent --resume <session_id> --prompt "<follow-up>" --json

<session_id> is the .session_id from the previous turn's envelope. A default-profile (slim) resume is silent; an explicitly passed --profile over --resume warns on stderr — it swaps the system prompt mid-session. Keep the profile constant across a session's turns.

Cleanup vs. resume — they're independent

A sync subagent has nothing to tear down; "cleanup" only concerns --background job records on the Agents Board. The rules:

  • The one rule that matters: capture .session_id BEFORE pruning if a follow-up is likely. gc deletes cc-fleet's job record (which holds the envelope with the id) but never Claude's transcript — so --resume works after gc iff you kept the id, and keeping the record without the id buys you nothing.
  • Prune finished, scoped to your session: cc-fleet subagent-gc --session <lead_session_id> --json (immediate, skips pinned) — prefer it over a blanket subagent-gc --older-than 0s so you never wipe another session's records. Default gc only removes finished jobs older than 24h; running jobs are always kept; pinned records are user-owned — never force-remove them.

Anti-patterns

  • Using subagent for work that needs multiple turns / collaboration → /cc-fleet:team.
  • Chaining subagents into a dependent pipeline by hand → /cc-fleet:workflow.
  • TeamCreate / SendMessage / polling cc-fleet ps --check for a subagent → unnecessary; the result is on stdout.
  • Stuffing a giant prompt into --prompt (hits MAX_ARG_STRLEN ~128 KiB) → use --prompt-file.
  • Running a possibly-stuck provider with no bound → the default --timeout 300s caps it, but tune per task on fan-out, and run genuinely long work via a backgrounded Bash or --background (Long tasks above).
  • Polling subagent-status in a loop (or delegating an agent to watch a job) → arm subagent-status --wait in a backgrounded Bash once; its exit is the notification.
  • Looping on a failure without dispatching .error_code → every --json failure carries a code; switch on it (table above; spawn-side codes in cc-fleet-shared/troubleshooting.md).
  • Switching providers silently after a balance / rate-limit / auth failure → stop, tell the user, wait for their pick (provider ask ladder, step 4).
  • Fanning out N claude native leaves → drains your own subscription window; use a metered provider for breadth, claude only for one or two synthesis nodes.

© ethanhq, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/subagent of ethanhq/cc-fleet.

Open the folder on GitHubat commit bb1dff1

Compare with similar skills

Subagent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Subagent compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Subagent this skillethanhq/cc-fleet215—~4.3kAutomated safety check: PassApache-2.0
LLM Council on Fireworks AIdair-ai/dair-academy-plugins614—~5kAutomated safety check: NotesMIT
Update Ollama Cloud Modelsheypinchy/pinchy182—~3.9kAutomated safety check: NotesAGPL-3.0
Vllm Daily PR Issue Trackerascend-ai-coding/awesome-ascend-skills174—~731Automated safety check: PassNone
Kimi Code DelegationCherryHQ/cherry-studio52k1 repos~504Automated safety check: PassAGPL-3.0
Model Architecture Diagram FinderBBuf/AI-Infra-Auto-Driven-SKILLS911—~1.2kAutomated safety check: PassNone

Similar skills

  • LLM Council on Fireworks AI

    dair-ai/dair-academy-plugins

    Has several open-weight models answer a question, rank each other's anonymized answers, then lets a chairman model write the final response through Fireworks AI.

    614 GitHub stars~5k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check: notes
  • A skill your agent uses when a new Ollama Cloud model is announced or available (e.g.

    182 GitHub stars~3.9k tokensUpdated 17 days ago
    AI & LLM EngineeringAuto-check: notes
  • Vllm Daily PR Issue Tracker

    ascend-ai-coding/awesome-ascend-skills

    Track daily PRs and Issues from vllm-project/vllm and vllm-project/vllm-ascend, filter by model (DeepSeek/Qwen/GLM/MiniMax/Kimi) and tech topics (PD disaggregation, MTP, quantization, graph mode…

    174 GitHub stars~731 tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Kimi Code Delegation

    CherryHQ/cherry-studio

    Delegates one bounded repository task to Kimi Code in non-interactive prompt mode and reads back the final result from its JSON event stream.

    52k GitHub starsUsed in 1 repo~504 tokens
    Agent WorkflowsAuto-check passed
  • Model Architecture Diagram Finder

    BBuf/AI-Infra-Auto-Driven-SKILLS

    Looks up public original architecture diagrams for named LLM, vision-language, MoE, diffusion and OCR models and returns the image with its source attribution.

    911 GitHub stars~1.2k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Open Dynamic Workflows

    xz1220/open-dynamic-workflows

    编写并运行 dynamic workflow:用 Claude Code 的 workflow 方言写一段简短的 JavaScript 脚本,再用 odw CLI 在宿主 agent 的上下文之外,把子任务扇出给 coding-agent CLI (Codex、Claude Code、Gemini、Qwen、Kimi 或自定义),后台跑完后只取回最终结果。

    104 GitHub stars~1.1k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed

More from ethanhq/cc-fleet

  • Team

    ethanhq/cc-fleet

    Spawn long-lived provider LLM teammates in tmux panes that you message via the native agent-team tools — multi-turn, collaborative, watchable.

    215 GitHub starsUsed in 1 repo~3.4k tokens
    Auto-check passed
  • Subagent

    ethanhq/cc-fleet

    Fan out a one-shot or flat parallel batch of cc-fleet PROVIDER subagents (headless cc-fleet subagent) that return a result — DeepSeek / GLM / Kimi / Qwen / MiniMax, or a Codex/Claude subscription.

    215 GitHub stars~4.9k tokensUpdated 8 days ago
    Auto-check passed
  • Workflow

    ethanhq/cc-fleet

    Orchestrate a MULTI-PHASE, dependent, or resumable run over many cc-fleet PROVIDER subagents from a JS script, off the main context (cc-fleet workflow).

    215 GitHub stars~6.3k tokensUpdated 8 days ago
    Auto-check passed
  • Workflow

    ethanhq/cc-fleet

    Orchestrate a MULTI-PHASE, dependent, or resumable run over many provider subagents from a JS script, off the main context (cc-fleet workflow).

    215 GitHub stars~5.3k tokensUpdated 8 days ago
    Auto-check passed

Categories

Questions about Subagent

What does Subagent do?

Run a one-shot or flat parallel batch of provider LLM subagents (headless cc-fleet subagent) that return a result. Subagent is an agent skill from ethanhq/cc-fleet. Run a one-shot or flat parallel batch of provider LLM subagents (headless cc-fleet subagent) that return a result.

When should I use Subagent?

Subagent fits situations like: fanning out N independent tasks; doing bulk per-file work; calling a specialized provider model (DeepSeek / GLM / Kimi / Qwen / MiniMax).

How do I install Subagent in Claude Code?

Run `npx skills add ethanhq/cc-fleet --skill subagent -a claude-code`. Or copy the skill folder (skills/subagent in ethanhq/cc-fleet) into .claude/skills/subagent in your project. Claude Code loads it when a task matches its description.

How do I install Subagent in Codex?

Run `npx skills add ethanhq/cc-fleet --skill subagent -a codex`. Or copy the skill folder (skills/subagent in ethanhq/cc-fleet) into .agents/skills/subagent in your project. Codex loads it when a task matches its description.

Can I use Subagent in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ethanhq/cc-fleet --skill subagent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/subagent, .gemini/skills/subagent, .github/skills/subagent and .opencode/skills/subagent in your project.

What does Subagent need to run?

Going by SKILL.md and its folder, Subagent needs the command-line tools its instructions call (claude and jq).

Does Subagent access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Subagent safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Subagent use?

Subagent is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Subagent use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Subagent?

Skills that share tags, products or a category with Subagent: LLM Council on Fireworks AI (dair-ai/dair-academy-plugins, 614 stars), Update Ollama Cloud Models (heypinchy/pinchy, 182 stars), Vllm Daily PR Issue Tracker (ascend-ai-coding/awesome-ascend-skills, 174 stars) and Kimi Code Delegation (CherryHQ/cherry-studio, 52k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Subagent?

ethanhq (a GitHub user) maintains it in ethanhq/cc-fleet, which has 215 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 29, 2026.

Source: ethanhq/cc-fleet on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.