agent-deck
Manage multi-session environments, sub-agents, and MCP tool attachments for AI coding agents.
Install
mkdir -p .claude/skills/agent-deck && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7977" && unzip -o skill.zip -d .claude/skills/agent-deck && rm skill.zipInstalls to .claude/skills/agent-deck
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Terminal session manager for AI coding agents. Use when user mentions "agent-deck", "session", "sub-agent", "MCP attach", "git worktree", or needs to (1) create/start/stop/restart/fork sessions, (2) attach/detach MCPs, (3) manage groups/profiles, (4) get session output, (5) configure agent-deck, (6) troubleshoot issues, (7) launch sub-agents, or (8) create/manage worktree sessions. Covers CLI commands, TUI shortcuts, config.toml options, and automation.Key capabilities
- →Create, start, stop, restart, fork, send, output, and remove sessions
- →Launch child Claude sessions with parent linkage and inherited directories
- →Manage groups to organize sessions hierarchically
- →Attach and detach MCP plugins globally or per-session
- →Create isolated git-worktree-backed sessions for parallel branch work
- →Export and import Claude conversations for developer handoff
How it works
Agent Deck manages AI coding agent sessions through CLI commands and a TUI, allowing users to create, control, and configure sessions, attach tools, and manage worktrees. It persists state across restarts.
Inputs & outputs
When to use agent-deck
- →Create and manage multiple agent sessions
- →Attach and detach MCP tool servers
- →Launch sub-agents for specific coding tasks
- →Manage git worktree sessions via terminal
About this skill
Agent Deck
Terminal session manager for AI coding agents. Built with Go + Bubble Tea.
Repo: github.com/asheshgoplani/agent-deck | Discord: discord.gg/e4xSs6NBN8
Run
agent-deck --versionfor your installed version. This skill targets v1.9+ but most patterns work back to v1.7.
Script Path Resolution (IMPORTANT)
This skill includes helper scripts in its scripts/ subdirectory. When Claude Code loads this skill, it shows a line like:
Base directory for this skill: /path/to/.../skills/agent-deck
You MUST use that base directory path to resolve all script references. Store it as SKILL_DIR:
# Set SKILL_DIR to the base directory shown when this skill was loaded
SKILL_DIR="/path/shown/in/base-directory-line"
# Then run scripts as:
$SKILL_DIR/scripts/launch-subagent.sh "Title" "Prompt" --wait
Common mistake: Do NOT use <project-root>/scripts/launch-subagent.sh. The scripts live inside the skill's own directory (plugin cache or project skills folder), NOT in the user's project root.
For plugin users, the path looks like: ~/.claude/plugins/cache/agent-deck/agent-deck/<hash>/skills/agent-deck/scripts/
For local development, the path looks like: <repo>/skills/agent-deck/scripts/
Quick Start
# Launch TUI
agent-deck
# Create and start a session
agent-deck add -t "Project" -c claude /path/to/project
agent-deck session start "Project"
# Send message and get output
agent-deck session send "Project" "Analyze this codebase"
agent-deck session output "Project"
Capabilities
What agent-deck does, at the noun level (independent of which surface — CLI / TUI / Web UI — you reach it through). Each row maps to one or more commands, keystrokes, or screens. For full surface coverage and per-row known issues, see your conductor's CAPABILITIES.md (generated by the Self-Improvement workflow below).
| Capability | What it does | Surfaces |
|---|---|---|
| Manage sessions | Create, start, stop, restart, fork, send, output, remove a session | CLI ✅ · TUI ✅ · Web UI 🟡 |
| Sub-agent / worker spawning | agent-deck launch a child Claude session with parent linkage and inherited --add-dir | CLI ✅ · TUI ⚪ |
| Manage conductors | Set up long-lived orchestrators with their own profile + channel + heartbeat | CLI ✅ · TUI 🟡 |
| Manage groups | Move / delete groups; organize sessions hierarchically | CLI ✅ · TUI ✅ |
| Manage watchers | Install / configure event-driven adapters (Gmail, GitHub, ntfy) — doorbell-not-messenger | CLI ✅ · TUI ✅ |
| Heartbeat orchestration | Cron / ScheduleWakeup feeding the conductor periodic system-state nudges | CLI ✅ |
| Worktree workflows | --worktree to create isolated git-worktree-backed sessions for parallel branch work | CLI ✅ |
| Channel routing | Telegram / Slack inbound delivery to the right conductor, with --channels per-session binding | CLI ✅ |
| Attach MCPs | Per-session or global MCP plugin attach / detach / status, with optional pooling | CLI ✅ · TUI ✅ · Web UI ⚪ |
| Attach skills | Pool-based on-demand skill loading per Claude session | CLI ✅ · TUI ✅ |
| Session-metadata mutation | session set for claude-session-id, path, wrapper, channels, parent; session unset-parent | CLI ✅ |
| State persistence | state.json + task-log.md + LEARNINGS.md + HANDOFF.md survive Claude Code compaction/restart | CLI ✅ |
| GitHub pipeline oversight | Conductor-driven release flow: PR merge → tag → goreleaser → release | CLI ✅ |
| Remote sessions | SSH-based remote register / list / attach across hosts | CLI ✅ |
| Session sharing | Export / import a Claude conversation for handoff between developers | CLI ✅ |
| Consult another agent | Launch a Codex / Gemini sub-agent for a second opinion | CLI ✅ |
| Profile-scoped operation | -p <profile> separation between personal and work auth | CLI ✅ · TUI ✅ |
| Self-improvement | Analyze your conductor's own transcripts → surface bugs / patterns / capabilities, file GH issues with privacy guards | CLI ✅ |
Status legend: ✅ verified, 🟡 partial, 🔴 known broken, ⚪ unknown. To update for your own machine, see Self-Improvement below.
Per-CLI Capabilities (what a launched session can do)
The table above is what agent-deck does. This one is what the CLI inside a session can do — agent-deck launches one per session (-c claude|codex|gemini). A conductor uses this to pick the right tool for a child; a launched child uses it to know its own powers without being told. This is a capability map, not a manual — run <cli> --help for exact flags. Verified 2026-06 against claude 2.1.x, codex-cli 0.137, gemini 0.45.
| In-session capability | claude (Claude Code) | codex | gemini |
|---|---|---|---|
| Multi-agent fan-out inside one session | ✅ Agent tool (parallel subagents, each its own context window; run_in_background) and Workflow tool (deterministic JS: agent()/pipeline()/parallel() over item lists, structured-output schemas, phases) | ❌ single-agent — fan out by launching codex peers via agent-deck | ❌ not exposed — fan out via agent-deck peers |
| Skills | ✅ Skill tool + agent-deck pool skills (~/.agent-deck/skills/pool/; new installs $XDG_DATA_HOME/agent-deck/skills/pool/, default ~/.local/share/agent-deck/skills/pool/) | ❌ | ✅ gemini skills |
| MCP servers | ✅ claude mcp / --mcp-config; agent-deck mcp attach | ✅ codex mcp; also runs as a server (codex mcp-server) | ✅ gemini mcp, --allowed-mcp-server-names |
| Built-in code review | ✅ ultrareview (cloud multi-agent) + /code-review skill | ✅ codex review / codex exec review --uncommitted | via prompt only |
| Plan / read-only mode | --permission-mode plan | -s read-only | --approval-mode plan |
| Autonomy / sandbox | --permission-mode acceptEdits|bypassPermissions; config dangerous_mode | -s read-only|workspace-write|danger-full-access; --dangerously-bypass-approvals-and-sandbox | --approval-mode auto_edit|yolo, -s/--sandbox |
| Structured output | --json-schema, --output-format json | codex exec json event stream | -o json|stream-json |
| Image input (multimodal) | paste / Read an image | -i/--image (attach to prompt; not image generation) | multimodal prompt |
| Apply a diff to working tree | Edit/Write tools | codex apply (git-apply the last agent diff) | Edit tools |
| Git worktree | -w/--worktree | via agent-deck --worktree | -w/--worktree |
| Plugins / extensions / hooks / channels | plugin, --plugin-dir/-url, hooks, --channels | codex plugin | extensions, hooks |
| Resume / fork conversation | -r/--resume, --fork-session | codex resume / codex fork | --resume, --session-file |
| Local / OSS models | 3P providers (Bedrock/Vertex) | --oss, --local-provider lmstudio|ollama | gemini gemma routing |
Choosing the -c tool for a child: default to claude — only it has in-session multi-agent fan-out (Agent + Workflow tools) and pool skills, so it can own a whole task end-to-end and orchestrate its own sub-work. Reach for codex for a fast non-interactive second opinion or code review (codex review) and sandboxed exec; gemini for a third opinion or large-context reads. For codex/gemini, parallelism comes from launching multiple agent-deck peers, not from inside the session.
agent-deck powers every child also has (independent of CLI): agent-deck mcp attach/detach then session restart; launch further child or peer sessions (-no-parent for peers); load pool skills on demand; session send to talk to sibling sessions. See Sub-Agent Launch, Peer (Root) Sessions vs Sub-Agents, MCP Management.
When to go inline vs Agent tool vs Workflow (for claude children) is owned by the shared conductor template's Delegation section (~/.agent-deck/conductor/conductor-claude.md) and is not duplicated here: 1 task = inline; a few independent subtasks = Agent tool; a sweep / audit / matrix = Workflow — and always adversarially verify findings with a second agent told to refute.
Essential Commands
| Command | Purpose |
|---|---|
agent-deck | Launch interactive TUI |
agent-deck add -t "Name" -c claude /path | Create session |
agent-deck session start/stop/restart <name> | Control session |
agent-deck session send <name> "message" | Send message |
agent-deck session send <name> --message-file <file> | Send message from file (- = stdin); no shell quoting. Also on launch/session start |
agent-deck session output <name> | Get last response |
agent-deck session children --json | Child sessions' live status + asserted completions (non-blocking, read-only) |
agent-deck session current [-q|--json] | Auto-detect current session |
agent-deck session fork <name> | Fork Claude/Pi conversation |
agent-deck session switch-account <name> <account> | Switch Claude account, conversation follows |
agent-deck mcp list | List available MCPs |
agent-deck mcp attach <name> <mcp> | Attach MCP (then restart) |
agent-deck status | Quick status summary |
agent-deck add --worktree <branch> | Create session in git worktree |
agent-deck try <name> | Scratch session in a dated experiment folder |
agent-deck worktree list | List worktrees with sessions |
agent-deck worktree cleanup | Find orphaned worktrees/sessions |
agent-deck feedback | Submit feedback (opens rating prompt + optional comment) |
Status: ● running | ◐ waiting | ○ idle | ✕ error
Sub-Agent Launch
Use when: User says "launch sub-agent", "create sub-agent", "spawn agent"
$SKILL_DIR/scripts/launch-subagent.
---
*Content truncated.*
When not to use it
- →When using the short-flag parser for `agent-deck launch -m` as it misroutes text after `-m`
- →When using `session update --no-parent`, `group remove`, or `launch -parent` due to CLI verb inconsistency
Limitations
- →The `agent-deck launch -m` short-flag parser misroutes text after `-m`
- →CLI verbs like `session update --no-parent` are rejected; correct verbs are `session unset-parent`
- →The `launch` command does not accept `-parent` as parent linkage is automatic
How it compares
Agent Deck provides a dedicated terminal session manager for AI coding agents, offering structured control over multiple sessions, sub-agents, and worktrees, which is more organized than managing individual agent processes manually.
Compared to similar skills
agent-deck side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| agent-deck (this skill) | 0 | 26d | Review | Intermediate |
| opencode-cli | 14 | 7mo | Review | Advanced |
| claude-automation-recommender | 47 | 2mo | Review | Beginner |
| mcp-integration | 21 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by asheshgoplani
View all by asheshgoplani →You might also like
opencode-cli
SpillwaveSolutions
This skill should be used when configuring or using the OpenCode CLI for headless LLM automation. Use when the user asks to "configure opencode", "use opencode cli", "set up opencode", "opencode run command", "opencode model selection", "opencode providers", "opencode vertex ai", "opencode mcp servers", "opencode ollama", "opencode local models", "opencode deepseek", "opencode kimi", "opencode mistral", "fallback cli tool", or "headless llm cli". Covers command syntax, provider configuration, Vertex AI setup, MCP servers, local models, cloud providers, and subprocess integration patterns.
claude-automation-recommender
anthropics
Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
mcp-integration
anthropics
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
hook-development
anthropics
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
agent-factory
alirezarezvani
Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns
swarm-advanced
ruvnet
Advanced swarm orchestration patterns for research, development, testing, and complex distributed workflows