# HelixMesh 社区 Skill 两步流程

把下面这段发给当前 Agent，并在同一条消息里附上要执行的资产编号、任务目标和邀请码/邀请链接：

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

请从我这条消息里读取资产编号、任务目标和邀请码/邀请链接：
- 资产编号可以写成 `ASSET_ID=sha256:...`，也可以直接裸写 `sha256:...`。
- 任务目标优先读取 `TASK=...`；如果没有 `TASK=`，就从用户原始消息里的自然语言请求提取，例如“帮我清理磁盘”“帮我跑通小红书自动发布流程”。
- 邀请码/邀请链接优先读取 `INVITE_CODE=...`、`INVITE_LINK=...`、`邀请码=...` 或 `邀请链接=...`。
- 邀请码和邀请链接二选一即可；如果只有纯邀请码（例如 `FAU-XXXXXX`），不要要求用户补邀请链接，也不要把邀请码当 URL 使用。
- 如果资产编号缺失，或自然语言里没有唯一明确的任务目标，请停下让我补充；不要猜测，也不要改用其他资产。
- 如果安装或接入流程需要邀请凭证，但消息里既没有邀请码也没有邀请链接，请停下让我补充；不要猜测，也不要改用其他入口。

执行原则：最终目标是尽可能帮用户完成 TASK。遇到卡点时，你要先主动排查、修复、重试或寻找入口指南允许的恢复路径，不要静默卡住，也不要只把问题丢给用户。只有遇到账号密码、验证码、扫码、人机验证、平台明确授权确认、素材选择、外部平台写入、正式 live 发布、付费/删除/覆盖等必须由用户本人决策或操作的事项，才向用户求助；求助时要明确说明你已经尝试了什么、卡在哪里、需要用户做哪一步。

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

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

如果 status 显示未安装、命令不存在或不可用：

- 如果拿到的是纯邀请码，执行安装命令：
  请你帮我执行：
  curl -fsSL https://hm.gjs.ink/install/<邀请码> | 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、INVITE_CODE。
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=<从用户原始提示词读取；接受 ASSET_ID=sha256:... 或裸 sha256:...>
TASK=<优先读取 TASK=...；如果没有 TASK=，从用户原始消息里的自然语言请求提取>
INVITE_CODE=<从用户原始提示词读取；接受 INVITE_CODE=...、INVITE_LINK=...、邀请码=... 或 邀请链接=...；可以是纯邀请码或邀请链接>

如果 ASSET_ID 为空、格式不清楚，或任务目标无法从用户原始提示词唯一确定，请停下向用户索取，不要猜测，不要搜索替代资产。
如果安装或接入流程需要邀请凭证，但 INVITE_CODE 为空，请停下向用户索取，不要猜测，不要搜索替代入口。
如果 INVITE_CODE 是纯邀请码，请优先执行安装命令：`curl -fsSL https://hm.gjs.ink/install/<邀请码> | bash`，其中 `<邀请码>` 替换为真实邀请码；不要立刻要求用户补邀请链接。只有安装器或接入流程明确拒绝纯邀请码并要求 URL 时，才说明已尝试的邀请码安装路径并请求用户补邀请链接。

执行原则：最终目标是尽可能帮用户完成 TASK。遇到卡点时，你要先主动排查、修复、重试或寻找入口指南允许的恢复路径，不要静默卡住，也不要只把问题丢给用户。只有遇到账号密码、验证码、扫码、人机验证、平台明确授权确认、素材选择、外部平台写入、正式 live 发布、付费/删除/覆盖等必须由用户本人决策或操作的事项，才向用户求助；求助时要明确说明你已经尝试了什么、卡在哪里、需要用户做哪一步。

请先在 PROJECT_DIR 执行安装命令：
请你帮我执行：
curl -fsSL https://hm.gjs.ink/install/<邀请码> | bash

其中 `<邀请码>` 必须替换为 INVITE_CODE 里的真实邀请码。安装完成后，如果输出提示继续执行 `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_*`：
先按入口指南确认是否能恢复工具加载；如果仍然没有 `gep_*`，停下说明阻塞原因、已尝试的恢复动作、下一步恢复路径，以及需要用户协助的具体操作。不要安装资产，也不要临时改用其他 Skill。

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

## 使用示例

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

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

邀请码/邀请链接：
<从页面领取后自动填入的邀请码/邀请链接>

本次任务只允许使用这个固定资产：
sha256:<要复用的 HelixMesh Skill 资产编号>

<这次要完成的具体任务，例如：请用这个 Skill 清理一下磁盘>
```

## 判断标准

- 第一步先执行 `helixmesh status`；已可用就跳过 installer，不可用才进入安装/接入路径并复查 `helixmesh status`。
- 如果安装前的 `helixmesh status` 已经显示可用，必须跳过 installer。
- 如果拿到的是邀请码，安装命令使用 `请你帮我执行：curl -fsSL https://hm.gjs.ink/install/<邀请码> | bash`，其中 `<邀请码>` 替换为真实邀请码。
- 如果拿到的是纯邀请码，不能要求用户重复领取邀请链接；必须优先执行安装命令 `curl -fsSL https://hm.gjs.ink/install/<邀请码> | bash`，并把邀请码原样传入 Fresh Agent Prompt。只有安装器或接入流程明确不接受邀请码并要求 URL 时，才向用户索取邀请链接。
- 如果提示词里带了邀请码/邀请链接，Agent 必须优先使用它继续安装、接入、绑定或授权流程，不要让用户重复领取。
- 如果 `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 启动后的第一条消息必须先要求执行安装命令 `curl -fsSL https://hm.gjs.ink/install/<邀请码> | bash`，并在安装/接入后读取 `.helixmesh/instructions.md`。
- 入口指南不内置具体资产编号或具体任务；资产编号和任务目标必须来自用户发给当前 Agent 的提示词。资产编号可裸写 `sha256:...`；任务目标可写 `TASK=...`，也可用自然语言说明。
- 遇到卡点时必须先主动排查、修复、重试或给出恢复路径；只有确实需要用户本人决策或操作时才求助，求助必须说明已尝试动作、卡点和用户需要做的具体一步。
