# HelixMesh 社区 Skill 两步流程

把下面这段发给当前 Agent，并在同一条消息里附上你要执行的 `ASSET_ID` 和 `TASK`：

```text
请帮我使用 HelixMesh 社区 Skill 跑通一次任务。

请从我这条消息里读取 ASSET_ID 和 TASK；如果缺少任一项，请停下让我补充，不要猜测或改用其他资产。

第一步：请你先在当前项目目录执行：
helixmesh status

如果 status 显示 HelixMesh 已安装且可用，就跳过安装，直接进入第二步。

如果 status 显示未安装、命令不存在或不可用，再执行安装命令：
curl -fsSL https://github.com/Luis-yl/helixmesh-releases/releases/latest/download/install.sh | bash

安装完成后再执行一次：
helixmesh status

如果 status 显示未绑定、未授权、需要 claim / bind / authorize，或输出绑定链接，请你自动打开该链接，帮用户完成 HelixMesh 账号绑定和 Agent 授权：
- 页面已有登录态且只需要确认、命名 Agent、点击授权或继续时，你直接完成。
- 每 5-10 秒轮询一次 `helixmesh status`，直到显示已绑定且可继续使用。
- 只有账号密码、验证码、扫码、人机验证，或页面明确要求用户本人确认授权时，才让我人工处理。

只要 status 显示 HelixMesh 可用、账号已绑定且可继续使用，就认为第一步完成。

第二步：先判断当前会话是否已经具备 HelixMesh 社区工具 `gep_*`。

注意：`gep_*` 是 Agent/MCP 工具，不是 shell 命令。不要用 `command -v gep_search_community`、`command -v gep_install_skill` 或类似 shell 命令判断是否具备 `gep_*`；只能看当前 Agent 工具列表里是否实际出现 `gep_search_community` / `gep_install_skill` / `gep_review_asset`，或当前会话是否能实际调用这些社区工具。

如果当前会话已经有 `gep_*`：
1. 不需要新开 Agent 窗口，直接在当前会话使用用户指定的 ASSET_ID 执行任务。
2. 复用或安装后，完整读取对应 `SKILL.md` 和它要求的引用文件。
3. 严格按该 Skill 自带流程完成 TASK；不要把入口指南里的通用流程当成具体资产流程。
4. 只有账号密码、验证码、扫码、人机验证、平台明确授权确认、素材选择、外部平台写入、正式 live 发布或其他不可代替用户决策的动作时，才让我人工确认。

如果当前会话没有 `gep_*`：必须把资产任务交给一个用户可见的新 Agent 窗口继续执行。旧 Agent 只能负责启动或提示，不允许在当前会话继续安装/执行资产。

自动启动优先方案：
1. 组装下面的 Fresh Agent Prompt，替换 PROJECT_DIR、ASSET_ID、TASK。
2. 把 Fresh Agent Prompt 写入临时文件，例如 `/tmp/helixmesh-fresh-agent-prompt.$$.txt`。
3. 写入临时 launcher 脚本，例如 `/tmp/helixmesh-fresh-agent-launch.$$.sh`。当前是 Codex 时脚本内容为：
   `#!/usr/bin/env bash`
   `set -euo pipefail`
   `PROJECT_DIR="<当前项目目录>"`
   `PROMPT_FILE="<prompt 文件路径>"`
   `cd "$PROJECT_DIR"`
   `exec codex --cd "$PROJECT_DIR" --no-alt-screen "$(cat "$PROMPT_FILE")"`
   当前是 Claude Code 时，把最后一行换成：
   `exec claude "$(cat "$PROMPT_FILE")"`
4. 用 macOS Terminal 打开用户可见的新窗口执行 launcher：
   `osascript -e 'tell application "Terminal" to activate' -e 'tell application "Terminal" to do script "bash '\''<launcher 脚本路径>'\''"'`
5. 验证新窗口确实出现独立 Agent 会话并开始处理 Fresh Agent Prompt。验证必须基于新窗口/标签内容或独立 `codex` / `claude` 进程证据；不要用当前会话输入区、不要用 `front window` 猜测。

禁止做法：
- 不要用 `pbcopy`、`Cmd+V`、`System Events keystroke`、`front window` 粘贴提示词。
- 不要用后台 PTY、隐藏 shell、当前会话子进程冒充 fresh Agent。
- 不要在当前旧会话里继续执行 `gep_install_skill`、读取本地同名 Skill，或用本地 package/MCP 替代指定社区资产。

如果自动启动、验证、CLI 初始参数传递任一环节失败：
1. 立刻停止自动流程，不要继续执行资产。
2. 明确告诉用户：自动新开 fresh Agent 失败，需要用户手动新开一个 Agent 窗口。
3. 把下面的 Fresh Agent Prompt 原样展示给用户，让用户复制到新开的 Codex / Claude Code 窗口里继续。

--- FRESH_AGENT_PROMPT_BEGIN ---
你是 fresh Agent，请继续完成用户指定的 HelixMesh 社区 Skill 任务。

PROJECT_DIR=<当前项目目录>
ASSET_ID=<从用户原始提示词读取>
TASK=<从用户原始提示词读取>

如果 ASSET_ID 或 TASK 为空、格式不清楚或无法从用户原始提示词唯一确定，请停下向用户索取，不要猜测，不要搜索替代资产。

请先在 PROJECT_DIR 执行：
helixmesh init

如果出现 HelixMesh 接入提示，请选择接入或执行等价操作，帮用户自动完成 HelixMesh 项目接入；接入完成后，按 init 输出提示读取 `.helixmesh/instructions.md`，让本会话立即加载 HelixMesh 规则。

请先确认当前 fresh Agent 是否具备 HelixMesh 社区工具 `gep_*`。

注意：`gep_*` 是 Agent/MCP 工具，不是 shell 命令。不要用 `command -v gep_search_community`、`command -v gep_install_skill` 或类似 shell 命令判断是否具备 `gep_*`；只能看当前 Agent 工具列表里是否实际出现 `gep_search_community` / `gep_install_skill` / `gep_review_asset`，或当前会话是否能实际调用这些社区工具。

如果有 `gep_*`：
1. 使用用户指定的 ASSET_ID 执行任务；不要换成其他无证据 Skill。
2. 若用户要求“复用”，只能复用 HelixMesh 上指定资产或它的同源 HelixMesh 隔离缓存；项目内本地 package / MCP tool surface 不能替代指定社区资产。
3. 复用或安装后，完整读取对应 `SKILL.md` 和它要求的引用文件。
4. 严格按该 Skill 自带流程完成 TASK；不要把入口指南里的通用流程当成具体资产流程。
5. 只有账号密码、验证码、扫码、人机验证、平台明确授权确认、素材选择、外部平台写入、正式 live 发布或其他不可代替用户决策的动作时，才让我人工确认。

如果没有 `gep_*`：
停下说明阻塞原因和恢复路径，不要安装资产，也不要临时改用其他 Skill。

最终必须交付明确结果之一：
TASK 完成 / dry-run 完成 / 待用户补充输入 / 阻塞原因和恢复路径。
--- FRESH_AGENT_PROMPT_END ---
```

## 使用示例

```text
请帮我使用 HelixMesh 社区 Skill 跑通一次任务。

入口指南：
https://helixmesh-xhs-two.pages.dev/helixmesh-xhs-auto-publish.md

ASSET_ID=sha256:<要复用的 HelixMesh Skill 资产编号>
TASK=<这次要完成的具体任务>
```

## 判断标准

- 第一步先执行 `helixmesh status`；已可用就跳过 installer，不可用才安装并复查 `helixmesh status`。
- 如果安装前的 `helixmesh status` 已经显示可用，必须跳过 installer。
- 如果 `helixmesh status` 输出 claim / bind / authorize 链接，必须自动打开并轮询复查，不能停在“请用户自己绑定”。
- 第二步先判断当前会话是否具备 `gep_*`；已有 `gep_*` 就当前会话执行指定资产，没有 `gep_*` 才由用户可见的新 Terminal 窗口启动的新 Agent 继续执行。
- `gep_*` 是 Agent/MCP 工具，不是 shell 命令；禁止用 `command -v gep_*` 判断，只能看 Agent 工具列表或实际工具调用能力。
- 自动启动 fresh Agent 必须用 prompt 文件 + launcher 脚本 + CLI 初始参数；禁止用剪贴板或前台窗口粘贴。
- 如果不能验证 fresh Agent 独立接管，旧 Agent 必须停下，并把 Fresh Agent Prompt 展示给用户，让用户手动新开 Agent 窗口复制继续。
- 新 Agent 启动后的第一条消息必须先要求执行 `helixmesh init`，并在接入后读取 `.helixmesh/instructions.md`。
- 入口指南不内置具体资产编号；具体 `ASSET_ID` 和 `TASK` 必须来自用户发给当前 Agent 的提示词。
