{"_id":"@bty/cs-skills","name":"@bty/cs-skills","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bty/cs-skills","version":"0.1.0","description":"BetterYeah 客服 Agent 运维 Claude Code skills 套件","keywords":["betteryeah","claude-code","skills","customer-service","ai-ops"],"homepage":"https://gitlab.bantouyan.com/x-lab/customer-ops","repository":{"type":"git","url":"git+https://gitlab.bantouyan.com/x-lab/customer-ops.git"},"license":"UNLICENSED","author":{"name":"BetterYeah"},"engines":{"node":">=16"},"bin":{"bty-skill":"bin/bty-skill.js"},"scripts":{"postinstall":"node install.js","preuninstall":"node uninstall.js"},"publishConfig":{"access":"public"},"gitHead":"de71c007ed2516417907e4d7b41375c12e4c7527","_id":"@bty/cs-skills@0.1.0","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Djp3lMi9gOOPBU+yFZsBEf/TTVGR/2zOpyy+q1G0BxARw1WjRG7OGoEBKyQhD2/au9sjAoOJP6jrMDnDBK5+mw==","shasum":"98b06edd443763ed75c66372ae8732448257c8ea","tarball":"https://registry.npmjs.org/@bty/cs-skills/-/cs-skills-0.1.0.tgz","fileCount":41,"unpackedSize":350818,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD6YtZcrkp+hE0V2HDBXBCktXs9BwDw24Xx7NP1p4pArgIgO7npnPbTgA2+zFZ+Fi0rHx0RS9aiZpH4ud6eI/7Orf0="}]},"_npmUser":{"name":"steveyzhang","email":"zhangyi@bantouyan.com"},"directories":{},"maintainers":[{"name":"steveyzhang","email":"zhangyi@bantouyan.com"},{"name":"bty-owner","email":"kun@bantouyan.com"},{"name":"bty_mufeng","email":"mufeng@bantouyan.com"},{"name":"bty_qianhai","email":"qianhai@bantouyan.com"},{"name":"qiwa","email":"qiwa@bantouyan.com"},{"name":"kongwo","email":"kongwo@bantouyan.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cs-skills_0.1.0_1781448362481_0.17478289035887906"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-14T14:46:02.246Z","0.1.0":"2026-06-14T14:46:02.642Z","modified":"2026-06-14T14:46:02.929Z"},"maintainers":[{"name":"steveyzhang","email":"zhangyi@bantouyan.com"},{"name":"bty-owner","email":"kun@bantouyan.com"},{"name":"bty_mufeng","email":"mufeng@bantouyan.com"},{"name":"bty_qianhai","email":"qianhai@bantouyan.com"},{"name":"qiwa","email":"qiwa@bantouyan.com"},{"name":"kongwo","email":"kongwo@bantouyan.com"}],"description":"BetterYeah 客服 Agent 运维 Claude Code skills 套件","homepage":"https://gitlab.bantouyan.com/x-lab/customer-ops","keywords":["betteryeah","claude-code","skills","customer-service","ai-ops"],"repository":{"type":"git","url":"git+https://gitlab.bantouyan.com/x-lab/customer-ops.git"},"author":{"name":"BetterYeah"},"license":"UNLICENSED","readme":"# @bty/cs-skills\n\nBetterYeah 客服 Agent 运维 Claude Code skills 套件。一条命令把 5 个 skill 装到\n`~/.claude/skills/` / `~/.agents/skills/` / `~/.codex/skills/`，配合 Claude\nCode、Claude Agents、Codex 使用。\n\n## 安装\n\n需要两个 npm 包：\n\n```bash\n# 1. BetterYeah 客服平台 CLI（skill 运行时调用）\nnpm install -g @bty/customer-service-cli\n\n# 2. 本包（5 个 skill）\nnpm install -g @bty/cs-skills\n```\n\n安装完成后会自动 symlink 到 `~/.claude/skills/` / `~/.agents/skills/` / `~/.codex/skills/`。\n重启 Claude Code / Codex 即可看到 skill。\n\n跳过 cs-cli 不会让 `npm install` 失败，但 5 个 skill 全部依赖 cs-cli 在 PATH 里；缺它会在第一次调用时报错。\n装完跑 `bty-skill doctor` 一眼确认两条都就位。\n\n## 包内 skill 清单\n\n| Skill | 用途 |\n| --- | --- |\n| `cs-trace` | 拉取并解析 `cs-cli debug trace` 数据：关键 flow、LLM prompt、工具结果 |\n| `cs-check-real-trigger-msg` | 根据 bad reply 的 `record_id` 校验 testcase / issue 的真实 user trigger |\n| `cs-testcase-create` | 基于 SOP + 高质量聊天记录批量生成 single-turn testcase（v5 schema） |\n| `cs-testcase-halluccheck` | 对 Agent 回复做幻觉检测：7 个数据源白名单（product / FAQ / debug_message 等） |\n| `cs-testcase-precheck` | 送测前对 testcase 做结构 / 语义 / P0_hard 红线预检 |\n\n详细使用方式：\n\n```bash\nbty-skill list                    # 列清单\nbty-skill info cs-trace           # 查看某个 skill 的 SKILL.md\n```\n\n在 Claude Code 中直接用 `/cs-trace` 之类的命令调用即可（重启后生效）。\n\n## 运行依赖\n\n| 依赖 | 说明 |\n| --- | --- |\n| Node.js ≥ 16 | 仅安装阶段需要（postinstall 脚本执行 symlink） |\n| Python ≥ 3.9 | skill 运行时 |\n| `cs-cli` | BetterYeah 客服平台 CLI，`npm install -g @bty/customer-service-cli` |\n| `BTY_API_KEY` | BetterYeah 网关 API key，用于 LLM 调用（详见下方） |\n\n一键检查：\n\n```bash\nbty-skill doctor\n```\n\n输出会显示每项 `[ok] / [missing]`，按提示补齐即可。\n\n## 配置 BTY_API_KEY\n\n`cs-testcase-create` / `cs-testcase-halluccheck` / `cs-testcase-precheck` 走\nBetterYeah 网关代理 `claude-opus-4-6`，需要 API key。\n\n在 `~/.zshrc`（或 `~/.bashrc`）末尾追加：\n\n```bash\nexport BTY_API_KEY=\"你的 BetterYeah 网关 key\"\nexport BTY_API_BASE_URL=\"https://aigw-api.betteryeah.com\"   # 可选，有默认\nexport BTY_API_MODEL=\"claude-opus-4-6\"                       # 可选，有默认\n```\n\n然后：\n\n```bash\nsource ~/.zshrc\nbty-skill doctor\n```\n\nAPI key 申请：联系 BetterYeah 商务或技术对接人。\n\n## CLI 命令\n\n```text\nbty-skill list            列出包内 skill\nbty-skill info <name>     打印指定 skill 的 SKILL.md\nbty-skill doctor          检查安装状态与运行依赖\n```\n\n## 升级与卸载\n\n```bash\nnpm update -g @bty/cs-skills              # 升级到最新版\nnpm install -g @bty/cs-skills@0.1.0       # 锁版本\nnpm uninstall -g @bty/cs-skills           # 卸载（自动清理 symlink）\n```\n\n## 排障 FAQ\n\n**Q：`bty-skill doctor` 显示 `[missing] cs-cli`**\nA：装 cs-cli：`npm install -g @bty/customer-service-cli`。\n\n**Q：`[missing] BTY_API_KEY`**\nA：参考上方「配置 BTY_API_KEY」，记得 `source ~/.zshrc` 后重启 Claude Code 让 skill\n进程读到新环境变量。\n\n**Q：Claude Code / Codex 里看不到 `/cs-*` 命令**\nA：检查 symlink 是否就位：\n\n```bash\nls ~/.claude/skills/ | grep cs-\n```\n\n如果缺失，重装：\n\n```bash\nnpm uninstall -g @bty/cs-skills && npm install -g @bty/cs-skills\n```\n\n**Q：skill 跑起来报 `ModuleNotFoundError: cs_shared`**\nA：lib symlink 损坏。同上重装一次即可。\n\n**Q：Windows 平台支持吗？**\nA：postinstall 会优先创建目录 junction（管理员权限下），失败回退到完整复制。基本功能可用，\n但 symlink 行为不如 macOS / Linux 直观，建议在 WSL 里跑。\n\n## 反馈\n\n源仓库 / Issue：https://gitlab.bantouyan.com/x-lab/customer-ops\n\n## 开发者文档\n\n如果你 clone 了源仓库做本地开发，看 [`README.dev.md`](./README.dev.md)：包含目录结构、\n开发模式 `install.sh`、客户 workspace 工作流、`cs-cli --workspace` 铁律等内部细节。\n","readmeFilename":"README.md","_rev":"1-94c2d8393bb1ce7c1e45bfae84eb283a"}