multiAI Summary Pending

spawn-agent

Spawn an AI coding agent in a new terminal (Claude, Codex, Gemini, Cursor, OpenCode, Copilot). Defaults to Claude Code if unspecified.

231 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/agent/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/consiliency/spawn/agent/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/agent/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How spawn-agent Compares

Feature / Agentspawn-agentStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Spawn an AI coding agent in a new terminal (Claude, Codex, Gemini, Cursor, OpenCode, Copilot). Defaults to Claude Code if unspecified.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Purpose

Spawn an AI coding agent in a new terminal window. Follow the 'Instructions', execute the 'Workflow', based on the 'Cookbook'.

## Variables

| Variable | Default | Description |
|----------|---------|-------------|
| DEFAULT_AGENT | claude-code | Agent to use when not explicitly specified |
| ENABLED_CLAUDE_CLI | true | Enable Claude Code agent |
| ENABLED_CODEX_CLI | true | Enable OpenAI Codex agent |
| ENABLED_GEMINI_CLI | true | Enable Google Gemini agent |
| ENABLED_CURSOR_CLI | true | Enable Cursor agent |
| ENABLED_OPEN_CODE_CLI | true | Enable OpenCode agent |
| ENABLED_COPILOT_CLI | true | Enable GitHub Copilot agent |
| LOG_TO_FILE | false | Write full terminal output to debug file |
| LOG_AGENT_OUTPUT | true | Write clean agent JSON response to file |
| READ_CAPTURED_OUTPUT | false | Read and display agent output after spawn |
| AGENTIC_CODING_TOOLS | claude-code, codex-cli, gemini-cli, cursor-cli, opencode-cli, copilot-cli | Available agentic tools |

## Instructions

**MANDATORY** - You MUST follow the Workflow steps below in order. Do not skip steps.

### Agent Selection

1. **Explicit request**: If user specifies an agent (e.g., "use gemini", "spawn codex"), use that agent
2. **No agent specified**: Use DEFAULT_AGENT (claude-code)
3. **Check enabled**: Verify the ENABLED_*_CLI flag is true before proceeding

### Reading Cookbooks

- Based on the selected agent, follow the 'Cookbook' section to read the appropriate .md file
- You MUST read and execute the appropriate cookbook file before spawning the agent

## Red Flags - STOP and follow Cookbook

If you're about to:
- Spawn an agent without reading the cookbook first
- Execute a CLI command without running --help
- Skip steps because "this is simple"
- Run a CLI agent with a prompt but without checking INTERACTIVE_MODE requirements

**STOP** -> Read the appropriate cookbook file -> Follow its instructions -> Then proceed

> **Common Mistake**: When spawning agentic CLIs (Claude, Codex, Gemini) with a prompt,
> most require command chaining (e.g., `&& claude --continue`) to stay in interactive
> mode after the prompt completes. Always check the cookbook for the correct pattern.

### Spawn Summary User Prompt

- IF: The user requests spawning an agent with a summary of the conversation
- THEN:
  - Read and REPLACE the <user_prompt_summary> and <agent_response_summary> fields in './prompts/fork-summary-user-prompt.md' with the history of the conversation between you and the user.
  - Include the next users request in the `Next User Request` field.
  - This will be what you pass into the PROMPT field of the agentic coding tool.
  - Spawn the agent with: fork_terminal(command: str, capture=False, log_to_file=False, log_agent_output=True)
- Examples:
    - "Spawn agent use claude code to <xyz> with a summary"
    - "spin up a new terminal with <xyz> with claude code. Include a summary of the conversation."
    - "create a new agent with claude code to <xyz>. Summarize work so far."
    - "spawn agent use gemini to <xyz> with a summary"

## Workflow

**MANDATORY CHECKPOINTS** - Verify each before proceeding:

1. [ ] Understand the user's request
2. [ ] **SELECT AGENT**: Determine which agent (explicit or DEFAULT_AGENT)
3. [ ] READ: './fork_terminal.py' to understand the tooling
4. [ ] Follow the Cookbook (read the appropriate .md file for selected agent)
5. [ ] **CHECKPOINT**: Confirm cookbook instructions were followed (e.g., ran --help)
6. [ ] Execute fork_terminal(command: str, capture=False, log_to_file=False, log_agent_output=True)
7. [ ] IF 'READ_CAPTURED_OUTPUT' is true: Read and display the agent output using read_fork_output()

## Cookbook

### Claude Code (Default)
- IF: User requests Claude Code OR no agent explicitly specified
- THEN: Read and execute './cookbook/claude-code.md'
- Examples:
    - "Spawn an agent to <xyz>"
    - "Fork terminal to <xyz>" (no agent specified = claude-code)
    - "Spawn agent use claude code to <xyz>"
    - "spin up a new terminal with claude code"

### Codex CLI
- IF: User requests Codex/OpenAI agent and 'ENABLED_CODEX_CLI' is true
- THEN: Read and execute './cookbook/codex-cli.md'
- Examples:
    - "Spawn agent use codex to <xyz>"
    - "create a new terminal with codex cli to <xyz>"
    - "spawn openai agent to <xyz>"

### Gemini CLI
- IF: User requests Gemini/Google agent and 'ENABLED_GEMINI_CLI' is true
- THEN: Read and execute './cookbook/gemini-cli.md'
- Examples:
    - "Spawn agent use gemini to <xyz>"
    - "create a new terminal with gemini cli to <xyz>"
    - "spawn google agent to <xyz>"

### Cursor CLI
- IF: User requests Cursor agent and 'ENABLED_CURSOR_CLI' is true
- THEN: Read and execute './cookbook/cursor-cli.md'
- Examples:
    - "Spawn agent use cursor cli to <xyz>"
    - "create a new terminal with cursor to <xyz>"
    - "spawn cursor agent to <xyz>"

### OpenCode CLI
- IF: User requests OpenCode agent and 'ENABLED_OPEN_CODE_CLI' is true
- THEN: Read and execute './cookbook/opencode-cli.md'
- Examples:
    - "Spawn agent use opencode cli to <xyz>"
    - "create a new terminal with opencode to <xyz>"
    - "spawn opencode agent to <xyz>"

### Copilot CLI
- IF: User requests Copilot/GitHub agent and 'ENABLED_COPILOT_CLI' is true
- THEN: Read and execute './cookbook/copilot-cli.md'
- Examples:
    - "Spawn agent use copilot cli to <xyz>"
    - "create a new terminal with copilot to <xyz>"
    - "spawn github copilot agent to <xyz>"

## Output Retrieval

The `fork_terminal()` function supports three output controls:

| Parameter | Default | Output File | Description |
|-----------|---------|-------------|-------------|
| `log_agent_output` | `True` | `/tmp/fork-agent-*.json` | Clean agent JSON response |
| `log_to_file` | `False` | `/tmp/fork-debug-*.txt` | Full terminal output (debug) |
| `capture` | `False` | N/A | Block and return content directly |

### Parameter Combinations

| `capture` | `log_agent_output` | `log_to_file` | Behavior |
|-----------|-------------------|---------------|----------|
| `False` | `True` (default) | `False` | Returns agent JSON file path |
| `False` | `False` | `True` | Returns debug file path |
| `False` | `False` | `False` | Returns empty string |
| `True` | `True` | * | Blocks, returns agent JSON content |
| `True` | `False` | `True` | Blocks, returns debug content |

### Retrieving Output Later

When `log_agent_output=True` (default), clean agent output is logged. Use `read_fork_output(file_path)` to retrieve it:

```python
# Spawn without blocking (returns path to JSON output)
file_path = fork_terminal(cmd, log_agent_output=True)
print(f"Agent output will be at: {file_path}")

# Later, read the output when needed
output = read_fork_output(file_path, timeout=60)
```

### Debug Mode

For debugging, enable `log_to_file=True` to capture full terminal output (including stderr):

```python
# Debug mode: capture everything
file_path = fork_terminal(cmd, log_to_file=True, log_agent_output=False)
```