Install
Quick install
npx skills add https://github.com/agent-of-empires/agent-of-empiresnpx skills add agent-of-empires/agent-of-empires --agent claude-codenpx skills add agent-of-empires/agent-of-empires --agent cursornpx skills add agent-of-empires/agent-of-empires --agent codexnpx skills add agent-of-empires/agent-of-empires --agent opencodenpx skills add agent-of-empires/agent-of-empires --agent github-copilotnpx skills add agent-of-empires/agent-of-empires --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add agent-of-empires/agent-of-empiresManual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/agent-of-empires/agent-of-empires.gitcp -r agent-of-empires ~/.claude/skills/Openclaw Skill
Manage AI coding agent sessions via Agent of Empires (aoe)
---
name: aoe
description: Manage AI coding agent sessions via Agent of Empires (aoe)
metadata:
openclaw:
requires:
bins:
- aoe
- tmux
homepage: https://github.com/agent-of-empires/agent-of-empires
---
Agent of Empires (aoe) Skill
Use aoe to create, manage, and monitor AI coding agent sessions (Claude Code, Codex, OpenCode, etc.) in tmux. Prefer aoe over raw tmux commands for agent management.
When to use this skill
- Launching one or more AI coding agents on project directories
- Monitoring agent progress (waiting vs running vs idle)
- Capturing agent output for review
- Organizing agents into groups or profiles
- Setting up parallel worktree-based development
Do NOT use this skill for general tmux window/pane management unrelated to coding agents.
Core concepts
- Session: An agent process running in a tmux session. Each session has an ID, title, tool (e.g.
claude), and project path. - Group: A named folder for organizing sessions (supports nesting with
/, e.g.backend/api). - Profile: A separate workspace with its own sessions and config. Use
-p <name>globally or setAGENT_OF_EMPIRES_PROFILE. - Status: One of
running,waiting,idle,stopped,error,starting,unknown.
Command reference
Adding sessions
# 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 -l
Listing sessions
# Human-readable list
aoe list
# JSON output for parsing
aoe list --json
# List across all profiles
aoe list --all
JSON output shape (aoe list --json):
[
{
"id": "a1b2c3d4-...",
"title": "my feature",
"project_path": "/home/user/project",
"group_path": "backend",
"tool": "claude",
"status": "running",
"profile": "default"
}
]
Session lifecycle
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
Inspecting sessions
# Show 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 output shape (aoe session capture --json):
{
"id": "a1b2c3d4-...",
"title": "my feature",
"status": "waiting",
"tool": "claude",
"content": "... pane text ...",
"lines": 50
}
JSON output shape (aoe session show --json):
{
"id": "a1b2c3d4-...",
"title": "my feature",
"path": "/home/user/project",
"group": "backend",
"tool": "claude",
"command": "claude",
"status": "running",
"profile": "default"
}
JSON output shape (aoe status --json):
{
"total": 5,
"running": 2,
"waiting": 1,
"idle": 1,
"stopped": 1,
"sessions": [...]
}
Auto-detection (inside a tmux pane)
When called from within an aoe-managed tmux session, identifier can be omitted:
aoe session show # auto-detects current session
aoe session capture # auto-detects current session
aoe session current --json
Renaming and organizing
aoe 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 --force
Profiles
aoe profile list
aoe profile create staging
aoe profile delete staging
aoe profile default staging # set default
aoe -p staging list # use inline
Worktrees
aoe worktree list
aoe worktree info <id-or-title>
aoe worktree cleanup -f
Removing sessions
aoe remove <id-or-title>
aoe remove <id-or-title> --delete-worktree --force
Workflow patterns
Single agent
aoe add /path/to/repo -t "feature X" -l
# ... wait ...
aoe session capture "feature X" --json
Parallel worktree agents
aoe 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 once
Monitoring loop
Poll all sessions until none are running:
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
done
Capture and review
for id in $(aoe list --json | jq -r '.[].id'); do
echo "=== $id ==="
aoe session capture "$id" -n 100 --strip-ansi
echo
done
Group operations via TUI
Groups are primarily managed through the aoe TUI (run aoe with no arguments). The TUI supports bulk start/stop/restart on groups. Use CLI commands above for scripted workflows.
---
Source: https://github.com/agent-of-empires/agent-of-empires
Author: agent-of-empires
Discovered via: skillsdirectory.com
Genre: ai-agents
SKILL.md source
---
name: Openclaw Skill
description: Manage AI coding agent sessions via Agent of Empires (aoe)
---
# Openclaw Skill
Manage AI coding agent sessions via Agent of Empires (aoe)
---
name: aoe
description: Manage AI coding agent sessions via Agent of Empires (aoe)
metadata:
openclaw:
requires:
bins:
- aoe
- tmux
homepage: https://github.com/agent-of-empires/agent-of-empires
---
# Agent of Empires (aoe) Skill
Use `aoe` to create, manage, and monitor AI coding agent sessions (Claude Code, Codex, OpenCode, etc.) in tmux. Prefer `aoe` over raw `tmux` commands for agent management.
## When to use this skill
- Launching one or more AI coding agents on project directories
- Monitoring agent progress (waiting vs running vs idle)
- Capturing agent output for review
- Organizing agents into groups or profiles
- Setting up parallel worktree-based development
Do NOT use this skill for general tmux window/pane management unrelated to coding agents.
## Core concepts
- **Session**: An agent process running in a tmux session. Each session has an ID, title, tool (e.g. `claude`), and project path.
- **Group**: A named folder for organizing sessions (supports nesting with `/`, e.g. `backend/api`).
- **Profile**: A separate workspace with its own sessions and config. Use `-p <name>` globally or set `AGENT_OF_EMPIRES_PROFILE`.
- **Status**: One of `running`, `waiting`, `idle`, `stopped`, `error`, `starting`, `unknown`.
## Command reference
### Adding sessions
```bash
# 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 -l
```
### Listing sessions
```bash
# Human-readable list
aoe list
# JSON output for parsing
aoe list --json
# List across all profiles
aoe list --all
```
**JSON output shape** (`aoe list --json`):
```json
[
{
"id": "a1b2c3d4-...",
"title": "my feature",
"project_path": "/home/user/project",
"group_path": "backend",
"tool": "claude",
"status": "running",
"profile": "default"
}
]
```
### Session lifecycle
```bash
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
```
### Inspecting sessions
```bash
# Show 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 output shape** (`aoe session capture --json`):
```json
{
"id": "a1b2c3d4-...",
"title": "my feature",
"status": "waiting",
"tool": "claude",
"content": "... pane text ...",
"lines": 50
}
```
**JSON output shape** (`aoe session show --json`):
```json
{
"id": "a1b2c3d4-...",
"title": "my feature",
"path": "/home/user/project",
"group": "backend",
"tool": "claude",
"command": "claude",
"status": "running",
"profile": "default"
}
```
**JSON output shape** (`aoe status --json`):
```json
{
"total": 5,
"running": 2,
"waiting": 1,
"idle": 1,
"stopped": 1,
"sessions": [...]
}
```
### Auto-detection (inside a tmux pane)
When called from within an aoe-managed tmux session, identifier can be omitted:
```bash
aoe session show # auto-detects current session
aoe session capture # auto-detects current session
aoe session current --json
```
### Renaming and organizing
```bash
aoe 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 --force
```
### Profiles
```bash
aoe profile list
aoe profile create staging
aoe profile delete staging
aoe profile default staging # set default
aoe -p staging list # use inline
```
### Worktrees
```bash
aoe worktree list
aoe worktree info <id-or-title>
aoe worktree cleanup -f
```
### Removing sessions
```bash
aoe remove <id-or-title>
aoe remove <id-or-title> --delete-worktree --force
```
## Workflow patterns
### Single agent
```bash
aoe add /path/to/repo -t "feature X" -l
# ... wait ...
aoe session capture "feature X" --json
```
### Parallel worktree agents
```bash
aoe 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 once
```
### Monitoring loop
Poll all sessions until none are running:
```bash
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
done
```
### Capture and review
```bash
for id in $(aoe list --json | jq -r '.[].id'); do
echo "=== $id ==="
aoe session capture "$id" -n 100 --strip-ansi
echo
done
```
### Group operations via TUI
Groups are primarily managed through the `aoe` TUI (run `aoe` with no arguments). The TUI supports bulk start/stop/restart on groups. Use CLI commands above for scripted workflows.
---
**Source**: https://github.com/agent-of-empires/agent-of-empires
**Author**: agent-of-empires
**Discovered via**: skillsdirectory.com
**Genre**: ai-agents
Related skills 6
running-claude-code-via-litellm-copilot
Use when routing Claude Code through a local LiteLLM proxy to GitHub Copilot, reducing direct Anthropic spend, configuring ANTHROPIC_BASE_URL or ANTHROPIC_MODEL overrides, or troubleshooting Copilot proxy setup failures such as model-not-found, no localhost traffic, or GitHub 401/403 auth errors.
skills-cli
Use when users ask to discover, install, list, check, update, remove, back up, restore, sync, or initialize Agent Skills, mention `bunx skills`, `npx skills`, `skills.sh`, or `skills-lock.json`, ask "find a skill for X", or want help extending agent capabilities with installable skills.
repo-intake-and-plan
Narrow RigorPilot helper for README-first deep learning repo reproduction. Use when the task is specifically to scan a repository, read the README and common project files, extract documented commands, classify inference, evaluation, and training candidates, and return the smallest trustworthy reproduction plan to the main orchestrator. Do not use for environment setup, asset download, command execution, final reporting, paper lookup, or end-to-end orchestration.
image-to-video
Animate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (Arena #1, native audio, identity preservation) for general animations, Wan 2.7 with `audio_url` for custom-voiceover lip-sync, or Seedance 2.0 Pro for multi-modal animation from image + reference video + reference audio. Bundles each model's documented prompting patterns so the caller gets sharper output without burning ite...
video-edit
Edit existing video on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Wan 2.7 Edit-Video (general restyle / background swap / packaging swap, identity + motion preservation), Kling 2.6 Pro Motion Control (transfer precise motion from a reference video to a target character), or Lucy Edit Restyle (lightweight identity-stable restyle / outfit swap). Bundles each model's documented prompting patterns so the skill gets...
nano-banana-2
Generate images with Google Nano Banana 2 (Gemini-family flash-tier text-to-image) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Nano Banana 2's strengths (rapid iteration, in-image typography rendering, predictable framing, optional web-grounded context), the resolution-tier pricing, the safety-tolerance dial, and when to route to Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream in...