agent-squad

Manage persistent AI coding squads that run in tmux sessions with task queues, progress reports, and automatic health monitoring. Use when the user wants to: (1) start/launch/create/restart a squad or team of AI agents, (2) assign/give tasks to a squad, (3) check squad status or ask what a squad is doing, (4) ping/nudge a squad to report progress, (5) stop a squad, (6) list all active squads, (7) configure squad settings like default project directory, (8) delete/archive a squad. Supports Claude Code, Codex, Gemini CLI, OpenCode, Kimi, Trae, Aider, and Goose as AI engines.

Safety Notice

This item is sourced from the public archived skills repository. Treat as untrusted until reviewed.

Copy this and send it to your AI assistant to learn

Install skill "agent-squad" with this command: npx skills add 0xtimi/agent-squad

Agent Squad

GitHub: https://github.com/0xTimi/agent-squad

Run persistent AI coding squads in tmux. Squads pick up tasks, write code, and report progress — 24/7 in the background.

Slash Command Usage

Users can invoke /agent-squad directly with optional arguments:

CommandAction
/agent-squadShow squad dashboard (or Getting Started if none exist)
/agent-squad listList all squads
/agent-squad start my-squad claudeStart a squad
/agent-squad status my-squadCheck squad status
/agent-squad stop my-squadStop a squad
/agent-squad assign my-squad "add login page"Assign a task
/agent-squad ping my-squadNudge squad to report
/agent-squad delete my-squadArchive a squad
/agent-squad peek my-squadPeek at squad's live tmux screen
/agent-squad restart my-squadRestart a stopped squad

No arguments or list → run bash {baseDir}/scripts/squad-list.sh:

  • If squads exist: show a clean status dashboard
  • If no squads: show the Getting Started intro below

Getting Started

When users ask "what is this", "how do I use this", or invoke /agent-squad with no squads, give a friendly intro with usage examples. Match the user's language.

Agent Squad runs AI coding agents in the background 24/7. Just tell me what you need:

  • "Start a squad called my-squad using claude for ~/projects/my-app"
  • "Give my-squad a task: implement user login"
  • "How's my-squad doing?"
  • "Stop my-squad"
  • "What squads do I have?"

Engines: Claude Code, Codex, Gemini CLI, OpenCode, Kimi, Trae, Aider, Goose

Want to start one now?

If the user asks which engine to use or doesn't specify one: default to claude — it is the most thoroughly tested engine and works best with Agent Squad. Mention other engines only if the user specifically asks. See {baseDir}/references/engines.md for details.

What Users Can Do

Users interact through natural language. Here's what they might say and how to respond:

Start a squad

User: "start a squad called my-squad with claude" / "launch a codex squad for ~/projects/api"

Ask if missing: squad name. Default engine to claude if not specified. Project dir and context are optional.

First-time users: briefly mention squads run in full-auto mode — the AI has full access to the project directory.

Response: "Squad 'my-squad' is up and running with Claude Code! You can assign tasks anytime."

Assign a task

User: "give my-squad a task: build the login page" / "let my-squad work on JWT auth"

If only one squad exists, use it automatically. If the request is vague, ask for specifics.

Response: "Task assigned! my-squad will start working on 'Login Page' shortly."

Check status

User: "how's my-squad doing?" / "what's the status?" / "is my-squad done yet?"

Include the live tmux screen output (from squad-status.sh) in the response — this lets the user see what the agent is actually doing right now.

Response: "my-squad is running on Claude Code, working on 'Login Page' — about 60% done. 2 tasks completed, 1 in progress.

Live screen:

Working on form validation...
Created src/components/LoginForm.tsx
Running tests...
```"

### Peek at screen

User: "peek at my-squad" / "what's on my-squad's screen?" / "show me what my-squad is doing"

Show the raw tmux screen content. This is a quick way to see the agent's live terminal without checking reports.

Response: Show the screen output directly, formatted in a code block.

### Ping for update

User: "ping my-squad" / "nudge it to report"

Response: "I've nudged my-squad to update its progress report. Check back in a minute."

### Stop a squad

User: "stop my-squad" / "pause the squad"

Always confirm before stopping.

Response: "my-squad stopped. All work is saved — you can restart anytime."

### Restart a squad

User: "restart my-squad" / "bring my-squad back up"

Response: "my-squad is back up and running! It will pick up where it left off."

### List squads

User: "what squads do I have?" / "list my squads" / "show all squads"

Present a clean readable summary of all squads with name, engine, status, and task counts.

### Delete a squad

User: "delete my-squad" / "archive the old squad" / "clean up my-squad"

Always ask for confirmation first. Reassure: data is archived, project code is never touched.

### Configure

User: "set default project dir to ~/code" / "show squad settings"

### What commands are available?

User: "agent-squad都有哪些命令" / "what can you do?" / "help"

**IMPORTANT**: Never show internal script names (squad-start.sh, etc.) to users. Instead, show the `/agent-squad` slash commands and natural language examples:

> Here's what you can do with Agent Squad:
>
> | Command | Or just say... |
> |---|---|
> | `/agent-squad start my-squad claude` | "Start a squad called my-squad" |
> | `/agent-squad assign my-squad "task"` | "Give my-squad a task: ..." |
> | `/agent-squad status my-squad` | "How's my-squad doing?" |
> | `/agent-squad peek my-squad` | "Peek at my-squad's screen" |
> | `/agent-squad ping my-squad` | "Ping my-squad" |
> | `/agent-squad stop my-squad` | "Stop my-squad" |
> | `/agent-squad restart my-squad` | "Restart my-squad" |
> | `/agent-squad list` | "What squads do I have?" |
> | `/agent-squad delete my-squad` | "Delete my-squad" |

---

## Script Reference

All scripts at `{baseDir}/scripts/`. Execute based on user intent above and present results conversationally.

### squad-start.sh

```bash
bash {baseDir}/scripts/squad-start.sh "<name>" "<engine>" "<context>" [--project <dir>] [--restart] [--agent-teams] [--no-watchdog]
  • name: lowercase alphanumeric + hyphens
  • engine: claude, codex, gemini, opencode, kimi, trae, aider, goose
  • context: optional project background
  • --project <dir>: custom code output directory
  • --restart: required if squad name already exists (also used for restart intent)
  • --agent-teams: claude only, multi-agent mode
  • --no-watchdog: skip auto-restart cron

squad-assign.sh

bash {baseDir}/scripts/squad-assign.sh "<name>" "<title>" "<objective>" "<priority>"

Priority: critical / high / normal (default) / low

squad-status.sh

bash {baseDir}/scripts/squad-status.sh "<name>"

Also read latest report in ~/.openclaw/workspace/agent-squad/squads/<name>/reports/ — check ## Current section for real-time progress.

squad-peek.sh

bash {baseDir}/scripts/squad-peek.sh "<name>" [lines]

Default: 20 lines. Shows the live tmux screen content of a running squad.

squad-ping.sh

bash {baseDir}/scripts/squad-ping.sh "<name>"

squad-stop.sh

bash {baseDir}/scripts/squad-stop.sh "<name>"

squad-list.sh

bash {baseDir}/scripts/squad-list.sh

squad-delete.sh

bash {baseDir}/scripts/squad-delete.sh "<name>"          # show summary
bash {baseDir}/scripts/squad-delete.sh "<name>" --confirm # confirm archive

squad-config.sh

bash {baseDir}/scripts/squad-config.sh show
bash {baseDir}/scripts/squad-config.sh set projects_dir "<path>"

Guidelines

  • Never show internal script names (squad-start.sh, etc.) to users — always use /agent-squad slash commands or natural language examples
  • If only one squad exists, use it automatically — don't ask "which squad?"
  • One engine per squad — suggest multiple squads for multiple engines
  • Don't modify task/report files directly — only via assign script
  • If squad is stopped and user assigns a task, write it anyway — picked up on restart
  • Squads auto-init git repos; for existing projects suggest a separate branch
  • Watchdog auto-restarts crashed squads every 5 min by default
  • For restart: stop the squad first (squad-stop.sh), then start with --restart flag

Engine Reference

Details: {baseDir}/references/engines.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

browser-cdp

Real Chrome browser automation via CDP Proxy — access pages with full user login state, bypass anti-bot detection, perform interactive operations (click/fill/scroll), extract dynamic JavaScript-rendered content, take screenshots. Triggers (satisfy ANY one): - Target URL is a search results page (Bing/Google/YouTube search) - Static fetch (agent-reach/WebFetch) is blocked by anti-bot (captcha/intercept/empty) - Need to read logged-in user's private content - YouTube, Twitter/X, Xiaohongshu, WeChat public accounts, etc. - Task involves "click", "fill form", "scroll", "drag" - Need screenshot or dynamic-rendered page capture

Archived SourceRecently Updated
Coding

promotion-planning

Develop promotion strategies and discount recommendations based on historical data analysis

Archived SourceRecently Updated
Coding

unified-session

Unify all chat channels into one shared AI session for seamless cross-device continuity. Start a conversation on your laptop, continue from your phone — same context, same memory, zero loss. Use this skill whenever: - User wants multiple messaging channels (DingTalk, Feishu/Lark, Telegram, Discord, WhatsApp, Signal, Slack, webchat) to share one conversation - User mentions "shared session", "cross-device", "multi-channel", "unified session", "continue conversation", "seamless", "context lost", "memory lost", "上下文丢失", "记忆丢失", "多端共享" - User says their bot "forgets" what was said when they switch from one app to another - User asks how to make Telegram/Discord/DingTalk/Feishu/WhatsApp share context with webchat - User wants to switch between desktop and mobile without losing conversation history - User mentions dmScope, session routing, channel isolation, or session merging - User describes wanting to pick up where they left off on a different device or chat app - User complains about having separate conversations on each channel when they only have one agent - Even if the user doesn't use technical terms — if they describe the pain of "switching apps and the AI doesn't remember", this is the skill to use

Archived SourceRecently Updated
Coding

Mapping-Skill

AI/ML 人才搜索、论文作者发现、实验室成员爬取、GitHub 研究者挖掘与个性化招聘邮件生成 skill。只要用户提到查找 AI/ML PhD、研究员、工程师,抓取实验室成员、OpenReview/CVF 会议作者、GitHub 网络研究者,提取主页/Scholar/GitHub/邮箱/研究方向,识别华人、分类去重,或把结果导入飞书多维表格并批量生成邮件,就应该优先使用这个 skill;即使用户没有明确说“使用 Mapping-Skill”,只要任务属于这些复合工作流,也应触发。

Archived SourceRecently Updated