AI编码代理生成器 spawn-agent

这个技能用于在新终端窗口中生成AI编码代理,如Claude Code、Codex、Gemini等,以自动化编程任务,提高开发效率。关键词包括:AI编码代理、自动化编程、终端操作、代码生成。

DevOps 0 次安装 0 次浏览 更新于 3/3/2026

以下是内容的中文翻译,保持原有格式不变:


name: spawn-agent description: “在新终端中生成一个AI编码代理(Claude, Codex, Gemini, Cursor, OpenCode, Copilot)。如果没有特别指定,默认使用Claude Code。”

目的

在新终端窗口中生成一个AI编码代理。按照’指令’执行’工作流程’,基于’食谱’。

变量

变量 默认 描述
DEFAULT_AGENT claude-code 当没有明确指定代理时使用的代理
ENABLED_CLAUDE_CLI true 启用Claude Code代理
ENABLED_CODEX_CLI true 启用OpenAI Codex代理
ENABLED_GEMINI_CLI true 启用Google Gemini代理
ENABLED_CURSOR_CLI true 启用Cursor代理
ENABLED_OPEN_CODE_CLI true 启用OpenCode代理
ENABLED_COPILOT_CLI true 启用GitHub Copilot代理
LOG_TO_FILE false 将完整的终端输出写入调试文件
LOG_AGENT_OUTPUT true 将干净的代理JSON响应写入文件
READ_CAPTURED_OUTPUT false 读取并显示代理输出后生成
AGENTIC_CODING_TOOLS claude-code, codex-cli, gemini-cli, cursor-cli, opencode-cli, copilot-cli 可用的代理工具

指令

强制性 - 您必须按照下面的工作流程步骤进行。不要跳过步骤。

代理选择

  1. 明确请求:如果用户指定了代理(例如,“使用gemini”,“生成codex”),请使用该代理
  2. 没有指定代理:使用DEFAULT_AGENT(claude-code)
  3. 检查启用:在继续之前验证ENABLED_*_CLI标志是否为true

阅读食谱

  • 根据所选代理,遵循’食谱’部分阅读相应的.md文件
  • 您必须在生成代理之前阅读并执行相应的食谱文件

红旗 - 停止并遵循食谱

如果您即将:

  • 在没有先阅读食谱的情况下生成代理
  • 在没有运行–help的情况下执行CLI命令
  • 因为“这很简单”而跳过步骤
  • 在没有检查INTERACTIVE_MODE要求的情况下,用提示运行CLI代理

停止 -> 阅读相应的食谱文件 -> 遵循其指示 -> 然后继续

常见错误:当用提示生成代理CLIs(Claude, Codex, Gemini)时, 大多数需要命令链(例如,&& claude --continue)以在提示完成后保持交互 模式。始终检查食谱以获取正确的模式。

生成摘要用户提示

  • 如果:用户请求用对话摘要生成代理
  • 那么:
    • 阅读并替换’./prompts/fork-summary-user-prompt.md’中的<user_prompt_summary>和<agent_response_summary>字段,用你和用户之间的对话历史。
    • 将下一个用户请求包含在Next User Request字段中。
    • 这将是您传入代理编码工具的PROMPT字段的内容。
    • 使用:fork_terminal(command: str, capture=False, log_to_file=False, log_agent_output=True)生成代理
  • 示例:
    • “用Claude Code生成代理<xyz>并包含摘要”
    • “用Claude Code生成新终端<xyz>。包括对话摘要。”
    • “用Claude Code创建新代理<xyz>。总结迄今为止的工作。”
    • “用Gemini生成代理<xyz>并包含摘要”

工作流程

强制性检查点 - 在继续之前验证每个检查点:

  1. [ ] 理解用户的请求
  2. [ ] 选择代理:确定哪个代理(明确或DEFAULT_AGENT)
  3. [ ] 阅读:'./fork_terminal.py’以了解工具
  4. [ ] 遵循食谱(阅读所选代理的相应.md文件)
  5. [ ] 检查点:确认遵循了食谱指示(例如,运行了–help)
  6. [ ] 执行fork_terminal(command: str, capture=False, log_to_file=False, log_agent_output=True)
  7. [ ] 如果’READ_CAPTURED_OUTPUT’为true:使用read_fork_output()读取并显示代理输出

食谱

Claude Code(默认)

  • 如果:用户请求Claude Code或没有明确指定代理
  • 那么:阅读并执行’./cookbook/claude-code.md’
  • 示例:
    • “生成代理<xyz>”
    • “生成终端<xyz>”(没有指定代理=claude-code)
    • “用Claude Code生成代理<xyz>”
    • “用Claude Code生成新终端”

Codex CLI

  • 如果:用户请求Codex/OpenAI代理且’ENABLED_CODEX_CLI’为true
  • 那么:阅读并执行’./cookbook/codex-cli.md’
  • 示例:
    • “用Codex生成代理<xyz>”
    • “用Codex CLI创建新终端<xyz>”
    • “生成OpenAI代理<xyz>”

Gemini CLI

  • 如果:用户请求Gemini/Google代理且’ENABLED_GEMINI_CLI’为true
  • 那么:阅读并执行’./cookbook/gemini-cli.md’
  • 示例:
    • “用Gemini生成代理<xyz>”
    • “用Gemini CLI创建新终端<xyz>”
    • “生成Google代理<xyz>”

Cursor CLI

  • 如果:用户请求Cursor代理且’ENABLED_CURSOR_CLI’为true
  • 那么:阅读并执行’./cookbook/cursor-cli.md’

OpenCode CLI

  • 如果:用户请求OpenCode代理且’ENABLED_OPEN_CODE_CLI’为true
  • 那么:阅读并执行’./cookbook/opencode-cli.md’

Copilot CLI

  • 如果:用户请求Copilot/GitHub代理且’ENABLED_COPILOT_CLI’为true
  • 那么:阅读并执行’./cookbook/copilot-cli.md’

输出检索

fork_terminal()函数支持三个输出控制:

参数 默认 输出文件 描述
log_agent_output True /tmp/fork-agent-*.json 干净的代理JSON响应
log_to_file False /tmp/fork-debug-*.txt 完整的终端输出(调试)
capture False N/A 阻塞并直接返回内容

参数组合

capture log_agent_output log_to_file 行为
False True (默认) False 返回代理JSON文件路径
False False True 返回调试文件路径
False False False 返回空字符串
True True * 阻塞,返回代理JSON内容
True False True 阻塞,返回调试内容

稍后检索输出

log_agent_output=True(默认),干净的代理输出被记录。使用read_fork_output(file_path)检索它:

# 生成不阻塞(返回JSON输出的路径)
file_path = fork_terminal(cmd, log_agent_output=True)
print(f"代理输出将在:{file_path}")

# 稍后,需要时读取输出
output = read_fork_output(file_path, timeout=60)

调试模式

用于调试,启用log_to_file=True以捕获完整的终端输出(包括stderr):

# 调试模式:捕获一切
file_path = fork_terminal(cmd, log_to_file=True, log_agent_output=False)