S5医药GEO内容生成引擎
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @baitongai/s5-pharma-geo-content-generation-engine。
技能介绍
它要解决的问题
医药 GEO 内容不能像通用写作那样自由发挥:内容本身要落在医药领域的规范里,而生成能力又是受保护的,必须拿到授权才能往下走。这个技能先要解决执行环境不可信——不同机器上 Python 的位置和版本差异很大,Windows 上执行 python 甚至可能直接打开 Microsoft Store;其次要解决授权流程与业务逻辑混在一起,容易把首次绑定误判成失败,或者在鉴权未通过时仍然把内容产出去。
核心工作方式
- 环境检测前置:任何脚本执行前先静默检测
PYTHON_CMD,命中且版本可用就直接执行,只有检测失败才报告;用户提供全路径时直接采用该路径。Windows 上推荐用py -3启动器,避免被应用执行别名劫持。 - 授权统一交脚本处理:
scripts/auth.py负责本地凭证缓存、WorkBuddy 用户绑定、平台授权校验和错误信号输出,不需要手工解析 JWT、拼接 AppKey/AppSecret 或直接调绑定接口。 - skillCode 来自包内元数据:优先读取
_meta.json的slug(形如BT_DBE9BDBF),它是平台维护的技能编号,不是展示名;只有包内缺少该文件时才手动传--skill-code。 - 绑定必须主动发起:Agent 需要主动调用
connect_cloud_service取得登录 JWT,再执行绑定并重新--ensure,直到拿到AUTH_OK;这一步不能等自动触发,也不能交给用户。 - 受保护内容作为唯一执行依据:只有
scripts/protected.py成功返回 protected instructions 后,才按其内容继续,未拿到就必须停止。
信号判定与边界
| stdout 信号 | 性质 | 处理 |
|---|---|---|
| AUTH_REQUIRED / CREDENTIALS_MISSING | 首次使用的正常状态 | 不要停、不要报告,立即走绑定流程 |
| AUTH_INVALID / CREDENTIALS_INVALID | 凭证过期或远程校验失败 | 重新绑定覆盖旧缓存,最多重试 1 次 |
| 绑定后仍非 AUTH_OK | 真失败 | 立即停止,按模板报告 |
- 鉴权与业务输出互斥:鉴权未通过就禁止产出,绝不出现“先交一份结果再轻描淡写提一句鉴权有问题”的情况。
- 报告要原样转述 stdout 信号与 stderr 关键行,区分网络错误(
network error、non-JSON response)与权限不足(remote authorization check failed、VIP_EXPIRED),并给出 1/2/3 的操作清单,而不是用“系统繁忙”一类模糊提示。 - 失败重试上限为 1 次,两次都失败说明服务端不可用,应告知用户停止重试。
- 密钥安全:
AppKey/AppSecret不得明文出现在业务命令、环境变量或回复中,错误展示时打码(如app_key=abc****)。
使用场景
- 技能开发:跨机器执行脚本前先静默检测 `PYTHON_CMD`,Windows 用 `py -3` 避免打开应用商店。
- 首次使用:收到 `AUTH_REQUIRED` 时自动调用 `connect_cloud_service` 取 JWT 并绑定,而不是停下来报告。
- 凭证过期:收到 `AUTH_INVALID` 后用新 JWT 覆盖本地缓存,重新 `--ensure` 到 `AUTH_OK`。
- 鉴权排查:区分 `network error` 与 `remote authorization check failed`,按 1/2/3 步向用户输出报告。
适合人员
- 技能打包与发布工程师:需要在 Windows、macOS 等不同环境稳定调用 Python 脚本并处理路径差异。
- AI 内容管线维护者:负责把医药 GEO 生成流程接入受保护服务,关心绑定、`--ensure` 和 `protected.py` 的顺序。
- 发布与运维工程师:要在鉴权失败时准确区分网络、权限和凭证问题,并给出可执行排查步骤。
- 工作流开发者:需要确认未拿到 protected instructions 时必须停止,而不是凭本地提示继续推理。