Agent skill
terminals
Spawn and manage terminal tabs via TabzChrome REST API. Use when spawning workers, creating terminals programmatically, setting up worktrees for parallel work, or crafting prompts for Claude workers.
Install this agent skill to your Project
npx add-skill https://github.com/GGPrompts/TabzChrome/tree/main/plugins/tabz/skills/terminals
SKILL.md
TabzChrome Terminal Management
Spawn terminals, manage workers, and orchestrate parallel Claude sessions.
Spawn API
TOKEN=$(cat /tmp/tabz-auth-token)
curl -X POST http://localhost:8129/api/spawn \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $TOKEN" \
-d '{"name": "Worker", "workingDir": "~/projects", "command": "claude"}'
Response:
{
"success": true,
"terminalId": "ctt-default-abc123",
"tmuxSession": "ctt-default-abc123"
}
Spawn Options
| Field | Type | Default | Description |
|---|---|---|---|
name |
string | "Claude Terminal" | Tab display name |
workingDir |
string | $HOME |
Starting directory |
command |
string | - | Command to run after spawn |
profileId |
string | default | Profile for appearance |
Parallel Workers with Worktrees
# Create isolated worktree (bd handles beads redirect automatically)
bd worktree create feature-branch
# Spawn worker there with BEADS_WORKING_DIR for MCP tools
PROJECT_DIR=$(pwd)
curl -X POST http://localhost:8129/api/spawn \
-H "Content-Type: application/json" \
-H "X-Auth-Token: $TOKEN" \
-d "{\"name\": \"Feature Worker\", \"workingDir\": \"../feature-branch\", \"command\": \"BEADS_WORKING_DIR=$PROJECT_DIR claude\"}"
Key: BEADS_WORKING_DIR tells the beads MCP server where to find the database. Point it to the main repo, not the worktree.
Worker Prompts
Keep prompts simple - workers are vanilla Claude:
Fix the pagination bug in useTerminalSessions.ts around line 200.
Run tests when done: npm test
Close the issue: bd close TabzChrome-abc --reason="done"
Avoid prescriptive step-by-step pipelines. Let Claude work naturally.
Worker Management
List Workers
curl -s http://localhost:8129/api/agents | jq '.data[]'
Find by Name
curl -s http://localhost:8129/api/agents | jq -r '.data[] | select(.name == "V4V-ct9")'
Get Session ID
SESSION=$(curl -s http://localhost:8129/api/agents | jq -r '.data[] | select(.name == "V4V-ct9") | .id')
Kill Worker
curl -s -X DELETE "http://localhost:8129/api/agents/$SESSION" \
-H "X-Auth-Token: $TOKEN"
Send Prompt via tmux
tmux send-keys -t "$SESSION" -l "Your prompt here"
sleep 0.5
tmux send-keys -t "$SESSION" Enter
References
See references/ for details:
spawn-api.md- Full API referenceworktree-setup.md- Git worktree patternsworker-prompts.md- Prompt crafting guidelines
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
tabz-terminals
Spawn and manage terminal tabs via TabzChrome REST API. Use when spawning workers, creating terminals programmatically, setting up worktrees for parallel work, or crafting prompts for Claude workers.
tabz-browser
Browser automation via 70 tabz MCP tools. Use when taking screenshots, filling forms, debugging network requests, testing responsive design, or using text-to-speech notifications.
tabz-development
Patterns for building and debugging TabzChrome itself. Use when working on Terminal.tsx, xterm.js integration, WebSocket I/O, resize handling, or any TabzChrome extension/backend code.
tabz-integration
Integrate projects with TabzChrome terminals via HTML attributes, WebSocket, JS API, or Spawn API
integration
Integrate projects with TabzChrome terminals via Markdown links, HTML attributes, WebSocket, JS API, or Spawn API
browser
Browser automation via 70 tabz MCP tools. Use when taking screenshots, filling forms, debugging network requests, testing responsive design, or using text-to-speech notifications.
Didn't find tool you were looking for?