Clawteam
win4r/ClawTeam-OpenClaw
Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.
Launches, monitors and organizes AI coding agent sessions such as Claude Code or Codex inside tmux, tracking status, capturing output and managing git worktrees for parallel branches.
$ npx skills add agent-of-empires/agent-of-empires --skill aoe -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install agent-of-empires/agent-of-empires aoe --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/agent-of-empires/agent-of-empires.git skills-src && mkdir -p .claude/skills && cp -r skills-src/contrib/hermes-skill .claude/skills/aoe && rm -rf skills-srcUse ~/.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/
Install the "aoe" agent skill from https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skill into .claude/skills/aoe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aoe", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add agent-of-empires/agent-of-empires --skill aoe -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install agent-of-empires/agent-of-empires aoe --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agent-of-empires/agent-of-empires.git skills-src && mkdir -p .agents/skills && cp -r skills-src/contrib/hermes-skill .agents/skills/aoe && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aoe" agent skill from https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skill into .agents/skills/aoe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aoe", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add agent-of-empires/agent-of-empires --skill aoe -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install agent-of-empires/agent-of-empires aoe --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agent-of-empires/agent-of-empires.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/contrib/hermes-skill .cursor/skills/aoe && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "aoe" agent skill from https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skill into .cursor/skills/aoe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aoe", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/agent-of-empires/agent-of-empires.git --path contrib/hermes-skill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add agent-of-empires/agent-of-empires --skill aoe -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install agent-of-empires/agent-of-empires aoe --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agent-of-empires/agent-of-empires.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/contrib/hermes-skill .gemini/skills/aoe && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "aoe" agent skill from https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skill into .gemini/skills/aoe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aoe", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install agent-of-empires/agent-of-empires aoeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add agent-of-empires/agent-of-empires --skill aoe -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/agent-of-empires/agent-of-empires.git skills-src && mkdir -p .github/skills && cp -r skills-src/contrib/hermes-skill .github/skills/aoe && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "aoe" agent skill from https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skill into .github/skills/aoe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aoe", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add agent-of-empires/agent-of-empires --skill aoe -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install agent-of-empires/agent-of-empires aoe --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agent-of-empires/agent-of-empires.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/contrib/hermes-skill .opencode/skills/aoe && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "aoe" agent skill from https://github.com/agent-of-empires/agent-of-empires/tree/main/contrib/hermes-skill into .opencode/skills/aoe/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aoe", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
aoeLaunches, monitors and organizes AI coding agent sessions such as Claude Code or Codex inside tmux, tracking status, capturing output and managing git worktrees for parallel branches.
The aoe CLI treats each AI coding agent as a session: a tmux-backed process with an ID, title, tool name, project path and live status such as running, waiting, idle, stopped or error. The skill tells the agent to use aoe instead of raw tmux commands whenever the work concerns coding agents, because aoe also manages git worktrees for parallel branches and organizes sessions into nested groups or separate profiles selected with -p or an environment variable.
Core commands add a session for a directory with a title, and list sessions as human-readable text, JSON or across all profiles. It is explicitly not for general tmux window or pane management unrelated to coding agents. Both the aoe and tmux binaries must already be on PATH.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8e70782. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
jqFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent of Empires Session Manager loads about 2.5k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 841 words of instructions outside code blocks.
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.
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.
The full file from agent-of-empires/agent-of-empires at commit 8e70782, republished under its MIT licence (© agent-of-empires). 841 words, ~2,474 tokens.
.claude/skills/aoe/SKILL.md (or your agent's skills folder).aoe creates, manages, and monitors AI coding agent sessions (Claude Code, Codex, OpenCode, and others) inside tmux. Each session is an agent process with an ID, title, tool, project path, and live status. Use aoe instead of raw tmux commands whenever the work is about coding agents: it tracks status, captures output, manages git worktrees for parallel branches, and organizes sessions into groups and profiles.
Don't use for: general tmux window/pane management unrelated to coding agents.
The aoe and tmux binaries must be on PATH, and commands run through a shell. Install aoe from https://github.com/agent-of-empires/agent-of-empires.
claude), and project path./, e.g. backend/api).-p <name> globally or set AGENT_OF_EMPIRES_PROFILE.running, waiting, idle, stopped, error, starting, unknown.# Add a session for the current directory
aoe add . -t "my feature"
# Add with group, launch immediately
aoe add /path/to/repo -t "API work" -g backend -l
# Add with specific tool
aoe add . -t "codex session" -c codex
# Add in a git worktree (parallel branch)
aoe add . -t "fix-123" -w fix/issue-123 -l
# Add in Docker sandbox
aoe add . -t "sandboxed" -s -l
# Add as sub-session of another
aoe add . -t "sub task" -P <parent-id>
# Enable YOLO mode (skip permission prompts)
aoe add . -t "yolo" -y -laoe list # human-readable
aoe list --json # JSON for parsing
aoe list --all # across all profiles
aoe list --json --state=live # skip trashed and archived rowsJSON shape (aoe list --json):
[
{
"id": "a1b2c3d4-...",
"title": "my feature",
"path": "/home/user/project",
"group": "backend",
"tool": "claude",
"command": "claude",
"profile": "default",
"state": "live",
"created_at": "2025-01-01T00:00:00Z",
"workspace_repos": []
}
]command is omitted when empty; worktree appears only for worktree-backed sessions. state is live, archived, or trashed; trashed_at and archived_at are set independently, and trashing leaves archived_at alone, so a session archived and then trashed carries both keys and reports trashed. Neither timestamp is durable, but they do not clear alike: archived_at is cleared by aoe session unarchive, by aoe session favorite, and by anything that wakes the session (aoe send, and aoe session restart when it sends its wake message), while trashed_at is cleared only by aoe session restore. Key off state rather than caching a timestamp. A trashed session stays in the listing and keeps its title, so check state before treating a row as a live session. list --json does not include live status: use aoe status --json or aoe session capture --json for that.
snoozed_until and pinned_at round out the four state timestamps the REST API exposes: pinned_at appears whenever the session is pinned for the web sidebar, while snoozed_until appears only while the snooze is still active (the API's own gate), so an expired deadline omits the key instead of advertising a snooze that already ended. Both are independent of state, and neither key appears on a row carrying neither marker. snoozed_until also clears readily, more often than its siblings: waking the session (aoe send), archiving, favoriting, unsnoozing, or pinning all remove it on the next read, so treat a missing key as no active snooze rather than a listing gap.
aoe session start <id-or-title>
aoe session stop <id-or-title>
aoe session restart <id-or-title>
aoe session attach <id-or-title> # interactive attach# Session metadata
aoe session show <id-or-title> --json
# Capture tmux pane content (key for monitoring)
aoe session capture <id-or-title> --json
aoe session capture <id-or-title> -n 100 --strip-ansi
aoe session capture <id-or-title> # plain text, good for piping
# Quick status summary
aoe status --json
aoe status -q # just the waiting count (for scripting)JSON shape (aoe session capture --json):
{
"id": "a1b2c3d4-...",
"title": "my feature",
"status": "waiting",
"tool": "claude",
"content": "... pane text ...",
"lines": 50
}JSON shape (aoe session show --json):
{
"id": "a1b2c3d4-...",
"title": "my feature",
"path": "/home/user/project",
"group": "backend",
"tool": "claude",
"command": "claude",
"status": "running",
"state": "live",
"profile": "default"
}parent_session_id is included only for sub-sessions. state is live, archived, or trashed, the same vocabulary aoe list --json uses; trashed_at and archived_at are set independently, and trashing deliberately leaves archived_at alone, so a session archived and then trashed carries both keys and reports trashed. Neither timestamp is durable, and they do not clear alike: archived_at is cleared by aoe session unarchive, by aoe session favorite, and by anything that wakes the session, which means aoe send and aoe session restart when it sends its wake message (with session.restart_wake_message set to the empty string it does not send one, and the archive survives the restart). trashed_at is cleared only by aoe session restore. Read the current state rather than caching a timestamp; status is the pane's live status and does not carry it, since an archived session can still be running.
The same two keys apply here as in aoe list --json: pinned_at whenever the session is pinned for the web sidebar, snoozed_until only while the snooze is still active.
JSON shape (aoe status --json):
{
"waiting": 1,
"running": 2,
"idle": 1,
"stopped": 1,
"error": 0,
"total": 5
}When called from within an aoe-managed tmux session, the identifier can be omitted:
aoe session show # auto-detects current session
aoe session capture # auto-detects current session
aoe session current --jsonaoe session rename <id> -t "new title"
aoe session rename <id> -g "new/group"
aoe group create mygroup
aoe group move <id-or-title> mygroup
aoe group list --json
aoe group delete mygroup --forceaoe profile list
aoe profile create staging
aoe profile delete staging
aoe profile default staging # set default
aoe -p staging list # use inlineaoe worktree list
aoe worktree info <id-or-title>
aoe worktree cleanup -faoe remove <id-or-title>
aoe remove <id-or-title> --delete-worktree --forceaoe add /path/to/repo -t "feature X" -l
# ... wait ...
aoe session capture "feature X" --jsonaoe add . -t "issue-100" -w fix/issue-100 -l
aoe add . -t "issue-101" -w fix/issue-101 -l
aoe add . -t "issue-102" -w fix/issue-102 -l
aoe status --json # check all at oncePoll all sessions until none are running or waiting:
while true; do
status=$(aoe status --json)
waiting=$(echo "$status" | jq '.waiting')
running=$(echo "$status" | jq '.running')
if [ "$running" -eq 0 ] && [ "$waiting" -eq 0 ]; then
echo "All agents finished"
break
fi
echo "Running: $running, Waiting: $waiting"
sleep 30
donefor id in $(aoe list --json | jq -r '.[].id'); do
echo "=== $id ==="
aoe session capture "$id" -n 100 --strip-ansi
echo
doneaoe list --json to carry live status. It does not. The fields are static session metadata (path, group, tool, command, etc.). For status, call aoe status --json or aoe session capture --json.tmux to start or stop agents. That bypasses aoe's tracking; the session's status and metadata go stale. Always use aoe session start/stop/restart.-l/--launch. aoe add creates a session but does not start it unless you pass -l.-p <name> or set AGENT_OF_EMPIRES_PROFILE when scripting, and aoe list --all to see everything.aoe and tmux are on PATH.aoe add was followed by a launch (-l) or an explicit aoe session start.path/group (not project_path/group_path) and gets status from aoe status/aoe session capture, not aoe list.running and waiting reach 0.© agent-of-empires, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in contrib/hermes-skill of agent-of-empires/agent-of-empires.
Open the folder on GitHubat commit 8e70782
Agent of Empires Session Manager 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agent of Empires Session Manager this skillagent-of-empires/agent-of-empires | 3.3k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Clawteamwin4r/ClawTeam-OpenClaw | 1.5k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Huashu Agent Swarmalchaincyf/huashu-skills | 1.7k | — | ~576 | Automated safety check: Pass | MIT | |
| Agent Manager Fleet TUIYoanWai/agent-manager | 582 | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Agtx Task Sweepfynnfluegge/agtx | 1.7k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Multi Agent Orchestrationcat-xierluo/legal-skills | 720 | — | ~6.6k | Automated safety check: Pass | MIT |
win4r/ClawTeam-OpenClaw
Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.
alchaincyf/huashu-skills
多Agent蜂群并行协作,纯git自组织,适合大型项目开发。当用户提到"蜂群模式"、"多agent"、"并行开发"、"agent swarm"时使用。
YoanWai/agent-manager
Runs several coding-agent CLIs as real tmux sessions in one terminal UI, color-coded by whether each is working, waiting, idle or blocked.
fynnfluegge/agtx
Breaks a conversation's results into feature-level tasks and pushes them to the agtx kanban board, where each task gets its own worktree and agent session.
cat-xierluo/legal-skills
编排两个以上边界独立的本地 worker,使用 Orca Run/Task/Dispatch、独立 worktree/session 或 tmux 回退,由 PM 负责拆解、派发、巡检、429 停滞恢复、独立验收、PR 收口与临时资源清理;也用于用户明确要求“并行推进”“多个 worker”“PM 总控”“Wave Autopilot”或防止 PM…
LeoYeAI/openclaw-master-skills
Multi-agent orchestration plugin for OpenCode. An agent skill from LeoYeAI/openclaw-master-skills.
agent-of-empires/agent-of-empires
Starts, monitors and organizes coding agent sessions that run in tmux through the aoe command, including groups, profiles and worktree-based parallel work.
Works with
Categories
Launches, monitors and organizes AI coding agent sessions such as Claude Code or Codex inside tmux, tracking status, capturing output and managing git worktrees for parallel branches. The aoe CLI treats each AI coding agent as a session: a tmux-backed process with an ID, title, tool name, project path and live status such as running, waiting, idle, stopped or error. The skill tells the agent to use aoe instead of raw tmux commands whenever the work concerns coding agents, because aoe also manages git worktrees for parallel branches and organizes sessions into nested groups or separate profiles selected with -p or an environment variable.
Agent of Empires Session Manager fits situations like: launching several coding agents on different project directories at once; checking whether a running agent is idle, waiting or still working; setting up parallel agents on separate git worktrees; organizing many agent sessions into named groups.
Run `npx skills add agent-of-empires/agent-of-empires --skill aoe -a claude-code`. Or copy the skill folder (contrib/hermes-skill in agent-of-empires/agent-of-empires) into .claude/skills/aoe in your project. Claude Code loads it when a task matches its description.
Run `npx skills add agent-of-empires/agent-of-empires --skill aoe -a codex`. Or copy the skill folder (contrib/hermes-skill in agent-of-empires/agent-of-empires) into .agents/skills/aoe in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agent-of-empires/agent-of-empires --skill aoe -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aoe, .gemini/skills/aoe, .github/skills/aoe and .opencode/skills/aoe in your project.
Going by SKILL.md and its folder, Agent of Empires Session Manager needs the command-line tools its instructions call (jq). Our summary lists: The aoe CLI; tmux on PATH.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
Agent of Empires Session Manager is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agent of Empires Session Manager: Clawteam (win4r/ClawTeam-OpenClaw, 1.5k stars), Huashu Agent Swarm (alchaincyf/huashu-skills, 1.7k stars), Agent Manager Fleet TUI (YoanWai/agent-manager, 582 stars) and Agtx Task Sweep (fynnfluegge/agtx, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
agent-of-empires (a GitHub organization) maintains it in agent-of-empires/agent-of-empires, which has 3,332 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 10, 2026.
Source: agent-of-empires/agent-of-empires on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.