Skip to content

Add zudui skill: chat-driven multi-agent team bootstrapper for Claude Code#6

Open
study8677 wants to merge 4 commits into
stelee410:mainfrom
study8677:contribute-zudui
Open

Add zudui skill: chat-driven multi-agent team bootstrapper for Claude Code#6
study8677 wants to merge 4 commits into
stelee410:mainfrom
study8677:contribute-zudui

Conversation

@study8677
Copy link
Copy Markdown
Contributor

Summary

Adds a Claude Code skill, zudui (组队 = "form a team"), that bootstraps a multi-agent AMP team via fully conversational chat — no tmux/iTerm boilerplate, no manual file editing.

The skill complements the existing setup.md flow: instead of asking each agent to self-register one by one, the operator says /zudui, answers a few prompts ("what roles do you want, what should each do?"), and the skill handles the rest:

  1. Validates broker URL + API key (or creates a fresh key via login)
  2. Registers each agent on the broker with a per-team prefix to avoid 409 collisions on the same account
  3. Writes per-role AGENT.md for each agent
  4. Drops a smart launcher (start-team.sh) that auto-detects tmux > iTerm2 > manual
  5. Pre-accepts Claude Code's workspace-trust dialog and auto-dismisses the --dangerously-skip-permissions warning, so N agent panes boot to working state with zero human keystrokes

It pairs with two sibling skills (shangban 上班 = inbox watcher, xiaban 下班 = stop) to form a complete bootstrap → run → stop lifecycle for AMP teams.

What's in the PR

  • .claude/skills/zudui/SKILL.md — full conversational protocol, idempotent rerun support
  • .claude/skills/zudui/start-team.sh.template — smart launcher with pre_trust_dirs() and dismiss_bypass_dialogs() helpers
  • .claude/skills/zudui/agents/openai.yaml — Codex CLI surfacing (so \$zudui works there too)
  • README.md + README_CN.md — one new section between "Supported agent runtimes" / "注册 Agent" and "API overview" / "API 概览" pointing to the skill

Why two layers of dialog handling

Verified by testing on a 4-agent team:

  • Workspace trust is a separate gate from tool permissions. --dangerously-skip-permissions does not cover it. The launcher pre-writes hasTrustDialogAccepted: true into ~/.claude.json for the mother dir + every agent subdir.
  • Bypass-permissions warning is session-only (verified by JSON diff before/after manual accept) — re-fires every boot. The launcher polls each tmux pane via tmux capture-pane, sending keystroke 2 only on panes whose buffer contains "Yes, I accept", with per-pane dedup so a stray digit never lands in claude's input.

Test plan

  • End-to-end on a 4-agent team (email_planner / email_coder / email_reviewer / email_runner):
    • Reset trust to false for 5 dirs → ./start-team.sh → 5 dirs flipped to true, 4 panes spawned, no dialogs visible, ⏵⏵ bypass permissions on shown in each pane, agents reached shangban polling state.
  • Idempotent rerun preserves existing AGENT.mds; only fills gaps.
  • Stop semantics: tmux kill-session cleanly stops all panes (CronList schema confirms crons are session-scoped, in-memory, so they die with the claude session).
  • Cherry-picked cleanly onto current upstream main; README auto-merge resolved without conflicts.

🤖 Generated with Claude Code

study8677 and others added 3 commits May 5, 2026 15:41
zudui is a Claude Code skill that bootstraps a multi-agent team on the
broker via conversational setup. It collects roles + descriptions,
registers each agent, writes per-role AGENT.md, and drops a smart
tmux/iTerm2/manual launcher that auto-discovers agents.

The launcher closes the two dialog gates that block autonomous boot:
- pre_trust_dirs() writes hasTrustDialogAccepted into ~/.claude.json
  for the mother dir + every agent subdir, suppressing the workspace
  trust prompt
- dismiss_bypass_dialogs() polls each tmux pane after spawning claude
  --dangerously-skip-permissions and sends "2" only on panes that show
  the bypass-permissions warning, with per-pane dedup so stray digits
  don't end up in claude's input

Result: N panes boot to working shangban polling state with zero human
keystrokes.

Pairs with shangban (上班 inbox watcher) and xiaban (下班 stop). Adds
agents/openai.yaml so Codex CLI can surface the skill via \$zudui.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Document the Claude Code one-click team bootstrapper alongside the
existing supported-runtimes table. Mirrors content in README.md and
README_CN.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
stelee410 pushed a commit that referenced this pull request May 12, 2026
Simplify team bootstrap: team.yaml + up-team CLI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants