Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计提醒

dag-fleet达格舰队

Agent Skill

dag-fleet 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

396

周安装

17

GitHub Stars

公开资料未说明

下载量

139
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dag-fleet(达格舰队)
来源仓库:https://github.com/quickcall-dev/skills
仓库路径:skills/dag-fleet
安装命令:
npx skills add https://github.com/quickcall-dev/skills --skill dag-fleet
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/quickcall-dev/skills --skill dag-fleet

简介

dag-fleet 用于在 tmux 中启动多个带预算控制的并行执行 worker。

  • 支持 Claude 和 Codex 双 provider 配置及 DAG 依赖管理。
  • 强调操作者全权负责进程监控和异常处理,无自动恢复机制。
  • 适用于长时间运行或资源密集型任务的分布式执行场景。
  • 使用前需熟悉 tmux 操作和进程管理能力。

SKILL.md

Fleet

A skill for running parallel claude -p or codex exec workers in tmux with budgets and DAG dependencies. Supports both Claude and Codex providers — set per-fleet or per-worker. Operator owns all kill / steer / re-direction — there is no auto-restart, no auto-verify, no babysitter loop.

When to use this skill (and when NOT to)

FIRST: prefer Claude Code's built-in Agent tool when any of these are true. It's simpler, faster, and avoids the fleet machinery entirely.

  • The work fits inside the current conversation
  • All sub-agents will finish in under 10 minutes
  • You'll synthesize the results in the same session
  • You don't need budget caps or dependency ordering

Reach for THIS skill only when ≥1 of these is true:

  • Persistence: the run will outlive the parent claude process (e.g. multi-hour fleet, user closes laptop)
  • Per-worker budgets: you need max_budget_usd: N enforced per worker
  • DAG dependencies: worker D must wait for A, B, C to finish first
  • Mixed models per worker: Sonnet researchers + Haiku validators in the same fleet
  • Tmux pane visibility: the user wants to attach to individual workers and watch them stream

If none of those apply, stop reading this skill and use the Agent tool.

What this skill is NOT

  • Not an auto-recovery system. If a worker fails or hangs, the operator decides what to do.
  • Not a babysitter. There is no orchestrate.sh, no stuck-detection that kills, no mid-flight steering.
  • Not for "spawn 3 quick lookups in parallel" — that's the Agent tool's job.

Available scripts

ScriptWhen to callArgs
launch.shStart a new fleet from a fleet.json you generated<fleet-root>
status.shShow what's running, what's done, live cost, last message per worker<fleet-name-or-root> [-v] [--watch] [--json]
kill.shStop one worker or the entire fleet (operator's hard stop)`<fleet-name-or-root> <worker-id>\all [--force]`
relaunch-worker.shAfter editing one worker's prompt.md, re-run just that worker<fleet-name-or-root> <worker-id>
report.shGenerate a markdown summary when the fleet is done<fleet-root>
view.shCapture a single worker's tmux pane content<fleet-name-or-root> <worker-id>
feed.shStream a unified event feed across all workers<fleet-name-or-root> [--agent <id>]

Utilities (in lib/):

UtilityPurposeUsage
dag-viz.pyVisualize fleet DAG structure (ASCII or mermaid)python3 ${CLAUDE_SKILL_DIR}/lib/dag-viz.py <fleet.json> [--mermaid]

All scripts accept either an absolute fleet-root path or a fleet name (resolved via ~/.claude/fleet-registry.json, populated automatically by launch.sh).

Launch procedure (MUST follow exactly)

When the user asks you to launch a fleet:

  1. Set FLEET_ROOT to the user's specified directory. Default to cwd if unspecified. Use absolute paths only.
  2. mkdir -p $FLEET_ROOT/workers
  3. Generate $FLEET_ROOT/fleet.json — see references/fleet-json-schema.md for the full schema. Required top-level fields: fleet_name, config, workers[]. Each worker needs id, type, task, model, max_turns, max_budget_usd. Use depends_on: [...] for DAG ordering.
  4. For each worker, create $FLEET_ROOT/workers/{id}/prompt.md. The prompt MUST include this line verbatim: Save ALL output files to $FLEET_ROOT/workers/{id}/output/ — use absolute paths. (Substitute the real fleet root and worker id.)
  5. Run: bash ${CLAUDE_SKILL_DIR}/scripts/launch.sh $FLEET_ROOT
  6. Do NOT write your own tmux/claude commands. launch.sh handles topo sort, tmux session creation, per-worker spawning, budgets, and the registry.
  7. ALWAYS tell the user the exact status command so they can monitor manually: bash ${CLAUDE_SKILL_DIR}/scripts/status.sh <fleet-name-or-root> This is mandatory after every launch. The user must be able to check status without asking you.

Re-running ONE worker (the addendum workflow)

The user has a finished fleet and wants to add 1-2 sources / change one worker's instructions:

  1. Edit $FLEET_ROOT/workers/{id}/prompt.md (add the new sources / instructions)
  2. Run bash ${CLAUDE_SKILL_DIR}/scripts/relaunch-worker.sh <fleet-name> {id}
  3. The worker's old session.jsonl is rotated to .bak, a fresh tmux window spawns, other workers are untouched
  4. The fleet's tmux session must still exist. If it's been killed, the user must launch.sh --force-relaunch the whole fleet — relaunch-worker.sh only works against a live fleet session.

If the user wants to re-run multiple workers, do it one at a time. There is no batch re-run; that's intentional.

Killing

There are two operator-initiated kill paths and no automatic kills:

  • kill.sh <fleet> <worker-id> — kill one worker. Sweeps subprocess descendants. Use this when you've decided a single worker is going down the wrong path.
  • kill.sh <fleet> all --force — tear down the entire fleet, kill all tmux windows, sweep every orphan subprocess, mark workers KILLED, unregister from the registry.

There is no steer.sh. There is no mid-flight redirection. The intentional workflow for "I want this worker to take a different direction" is: kill.sh it, edit prompt.md, relaunch-worker.sh. Three steps, fully under operator control.

Resetting a partially-run fleet

Use when the fleet ran partially (bad prompts, wrong models, hit a bug) and you want to re-launch from scratch without state collision.

bash ${CLAUDE_SKILL_DIR}/scripts/reset.sh <FLEET_ROOT> [--soft|--hard] [--dry-run] [--force]

Preserved (both levels): fleet.json structure, workers/{id}/prompt.md. Gone on --soft (default): prior run outputs archived to archive/<ts>/, tmux session killed, status fields in fleet.json cleared. Gone on --hard: everything under the fleet root except fleet.json + prompts; registry entry removed.

Refuses with exit 2 if live workers detected — pass --force to kill them first. Preview with --dry-run.

Worker types

The type field on each worker controls the --disallowed-tools set passed to claude. Pick one:

  • read-only — disallows: Bash, Edit, Write, Agent, WebFetch, WebSearch. Cannot write files. Only use for pure analysis where output is captured from assistant messages in session.jsonl.
  • write — disallows: Bash, Agent, WebFetch, WebSearch. Use for synthesizers and any worker that writes output files.
  • code-run — disallows: Agent, WebFetch, WebSearch (the typical default for build/test workers)
  • research — disallows: Bash, Edit, Agent (web access enabled). Use for researchers, not read-only.
  • reviewer — disallows: Bash, Edit, Agent, WebFetch, WebSearch. Has Read + Write only. Use for reviewers that write verdict files.
  • orchestrator — disallows: Agent, WebFetch, WebSearch, Edit

WARNING: read-only cannot write files. If a worker needs to save output (findings.md, synthesis.md, etc.), use write, research, reviewer, or code-run. Setting a synthesizer to read-only will burn its entire budget trying to find a Write tool.

See references/worker-types.md for the full permission matrix.

Provider support (Claude + Codex)

Workers can run on either claude (default) or codex (OpenAI Codex CLI). Set at fleet level or per-worker:

{
  "config": {
    "provider": "codex",
    "model": "gpt-5.4",
    "reasoning_effort": "medium"
  },
  "workers": [
    { "id": "researcher", "type": "research", "provider": "codex", "model": "gpt-5.4", "reasoning_effort": "medium" },
    { "id": "writer", "type": "write", "provider": "claude", "model": "sonnet" }
  ]
}

Codex-specific fields

FieldValuesDefaultScope
provider"claude" \"codex""claude"config + per-worker
reasoning_effort"low" \"medium" \"high"(none)config + per-worker, codex only

Codex model aliases

ModelUse case
gpt-5.4Flagship — strongest reasoning, recommended default
gpt-5.4-miniFast/cheap — validators, simple tasks
gpt-5.3-codexCoding-focused (migrating to gpt-5.4)

Codex limitations vs Claude

  • No --max-budget-usd — codex has no per-worker budget cap. Fleet-level cost tracking still works (estimated from token counts).
  • No --fallback-model — codex has no automatic model fallback.
  • No per-tool disabling — codex uses sandbox modes (read-only, workspace-write) instead of --disallowed-tools. Worker types are mapped automatically.
  • Web search — research workers get -c 'web_search="live"' automatically.
  • All output workers need workspace-write — codex read-only sandbox blocks ALL file writes including output.

DAG dependencies

{
  "id": "synthesizer",
  "depends_on": ["researcher-01", "researcher-02"]
}

launch.sh uses the shared lib/dag.sh primitives (Kahn's BFS-layered topo-sort) to order workers and waits for dependencies to emit a terminal result event before starting dependents. Cycles are detected before any tmux state is created — fleet exits 2 with CYCLE:a,b,... on stderr. Workers within a layer run in parallel up to max_concurrent. Use dag-viz.py to preview the DAG structure before launch.

Budgets

  • worker.max_budget_usd: N — per-worker hard cap, passed to claude --max-budget-usd
  • config.max_budget_fleet: N — total fleet cap; launch.sh stops launching new workers once this is exceeded (already-running workers are not killed, the cap is "no new spending")

STRICT RULES

  1. ALWAYS use the scripts above for EVERY operation. Never write your own tmux / claude commands.
  2. NEVER use the --bare flag with claude — causes auth failures.
  3. Fleet root = user's directory. Default to cwd. ALL fleet files go inside $FLEET_ROOT.
  4. Worker output paths must be absolute: $FLEET_ROOT/workers/{id}/output/. Tell the worker this in its prompt.md.
  5. launch.sh is the only way to start workers. relaunch-worker.sh is the only way to selectively re-run one. There is no other path.
  6. Operator owns kill and direction changes. Do not auto-kill, do not auto-restart, do not auto-redirect. If a worker is misbehaving, surface it to the user and let them decide.
  7. Do NOT invent missing scripts. If you find yourself wanting steer.sh, verify.sh, add-worker.sh, or orchestrate.sh — they were intentionally removed. Use the operator-owned workflow above instead.

Rationalizations to reject

Agent saysRebuttal
"The task is small enough that I can write the tmux commands myself"The skill exists to prevent the 15 things you'll forget (unset CLAUDECODE, --disallowed-tools, session naming, registry, topo sort). Use launch.sh.
"I'll use relaunch-worker.sh to restart all stuck workers at once"One at a time, intentional. Batch restart is how experiment 001 burned $20 — cache rebuilds on every worker compounded.
"The worker seems stuck — I should kill and restart it"Long thinking blocks look like hangs. Check status.sh or view.sh first. Only the operator kills workers.
"I should add a verify step after each worker finishes"There is no verify step. The operator reads output and decides. Auto-verify was removed after it caused more harm than the failures it caught.
"I'll just add --bare to speed things up"--bare causes auth failures. Never use it. This is STRICT RULE #2.

When to give up on this skill

If the user asks for behavior that requires auto-recovery, mid-flight steering, or per-worker validation loops, tell them this skill no longer does those things by design. Suggest:

  • For auto-recovery → they should run a watcher script themselves and call kill.sh + relaunch-worker.sh from it
  • For mid-flight steering → kill + edit prompt.md + relaunch-worker
  • For validation → they read the output files themselves and decide

The skill's surface area was deliberately reduced after experiments where automated behavior caused more harm than the failures it was trying to recover from.

$ARGUMENTS

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.78%
按下载量换算50

Claude

30.52%
按下载量换算42

Cursor

18.07%
按下载量换算25

Gemini CLI

10.15%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/quickcall-dev/skills --skill dag-fleet 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills