---
name: weaver-e10-skill-maker
display_name: 泛微Skill生成器
display_name_en: Weaver Skill Maker
description: "将泛微/E10 业务模块文档或代码同步转换成 weaver-work-cli 业务 CLI 与 Skill，并用检测工具校验。"
description_zh: "泛微/E10 业务模块 CLI 与 Skill 生成器。把用户提供的业务文档、接口说明或代码同步转换成 weaver-work-cli 业务命令和 Agent Skill，并在源资料更新时先检测差异、再确认是否重新转换。"
description_en: "Convert Weaver or E10 business module documents and code into synchronized weaver-work-cli business CLI commands and Agent Skills, validate them with the Weaver detector, and confirm before applying source updates."
version: 1.0.0
author: 泛微网络科技股份有限公司
agent_created: true
requires:
  bins: ["weaver-work-cli"]
dependencies:
  - weaver-e10-shared
cliHelp: "weaver-work-cli skills --help"
---

# weaver-work-cli Skill Maker

**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)，其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败，说明本技能的必需依赖缺失，必须调用宿主提供的提问/确认弹框，向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`（不补齐本技能无法执行）及补齐计划，并把下面两条待执行命令原样完整展示在确认信息中；Agent 不能在未确认时自行安装。用户明确确认后，Agent 必须直接代为按顺序执行且每条仅执行一次，不得要求或引导用户手动执行：① 缺 CLI 时执行 `npm install -g weaver-work-cli`；② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill，`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录（即与本技能同级的 skills 根目录），不要省略 `--target-dir`——省略会装进默认目录，导致本技能依然读不到共享规则。命令均成功后重新读取共享规则；仍读不到就停止并把结果报告用户，不得凭猜测继续。**


本 Skill 参考飞书 CLI 的 `lark-skill-maker`，但输出范围更完整：Agent 需要把已经给出的业务模块资料同步固化为 `weaver-e10-*` Agent Skill 和对应 `src/shortcuts/<module>` TypeScript CLI 能力。新业务模块一开始没有对应 `weaver-work-cli` 业务命令是正常输入，但不能只生成文档型 Skill；默认要把 CLI 一并设计、实现、测试并让 Skill 调用真实 operation。转换时以**业务语义保真**为第一目标：入口 `SKILL.md` 可以轻量，但 `references/`、schema、handler、测试和禁用边界必须承接源资料里的可执行业务细节，不能把多份源 MD 压缩成泛泛概述导致能力退化。

生成或更新的 docs、Skill reference、模板提示词和 CLI 示例必须同时兼容 Windows 和 macOS/Linux。凡涉及 JSON 输入、用户目录、路径分隔符、Python 启动器、文件删除、目录查看或文件比对，必须同时给出 Windows PowerShell 与 macOS/Linux（bash/zsh）两套示例；Agent 先根据当前系统和 shell 选择对应示例，不确定时用 `node -p "process.platform"` 判断。简单 JSON 优先生成 `--input-json '<json>'` 示例；复杂或多行 JSON 使用临时 UTF-8 文件和 `--input <path>`。Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反斜杠续行、`rm/ls/diff/python3` 等 Unix-only 写法，不要把任一平台专属命令写成唯一默认步骤。

## 认证与请求头契约

登录与会话由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系统一托管。业务 Skill 不自建登录流程，不索取、打印或转存任何凭证。


## 适用范围

使用本 Skill 处理以下请求：

- 把新的 E10 / 泛微业务模块文档、接口说明、现有代码或示例同步转换成 `weaver-work-cli` 业务 CLI 与 Skill。
- 为已有 `src/shortcuts/<module>` 和 `skills/weaver-e10-<module>` 扫描转换缺口，并补 operation、参数、reference、路由语义、禁用边界、文件处理确认或写操作确认链。
- 用户提供的业务模块资料更新后，先用文件级指纹或 Git ref 范围检测源资料是否变化；若 manifest 记录了 `sourceChunks` 与 `operationImpact`，再定位可能受影响的 operation、reference、schema、测试和写入确认链，并询问是否需要重新转换。
- 用户希望按源码仓库提交记录更新业务模块时，主动收集本地源码仓库路径、仓库下模块资料相对路径、旧版本 ref、新版本 ref、参考内容或补充说明、目标 CLI 命令后缀、目标 Skill 后缀和特殊要求；信息不完整时先提问，不要自行搜索整个磁盘或猜测版本范围。
- 审查某个业务 CLI 与 Skill 是否符合 `weaver-work-cli` 的 operation、共享规则、reference 拆分和安装约定。

使用本 Skill 时默认要实现或更新新的 TypeScript shortcut、E10 HTTP 适配和对应 operation；如果源资料不足以安全实现某个 operation，先把缺口列清楚并向用户确认，不能编造接口、字段、写入确认链或 operation。

推进规则：

- 用户已明确作为输入提供的业务文档、代码目录、接口说明或样例，视为本次转换的源资料；先读取与当前模块直接相关的原文和现有 reference，再判断是否缺口。不要只因为“需要读取 reference 原文”就停止。
- 转换不得以摘要替代业务规则。源 MD 中的字段表、枚举/状态、默认值、固定参数、权限前置、分页/排序口径、ID 解析规则、流程分支、写入确认条件、错误码、返回结构、示例和禁用能力，必须分别落到 `manifest.ts` / handler / reference / 测试 / 禁用边界之一；确实不能迁移的细节要在待确认清单或禁用边界说明原因。
- 源资料给出结构化 JSON 请求体字段表时，`inputSchema.properties` 必须逐字段转换字段名、类型、必填、数组元素和嵌套对象；禁止只暴露 `payload`、`body`、`requestPayload` 或 `object` 这类通用包裹字段来替代字段转换。确需兼容旧 `payload` 输入时，只能在 handler 归一化层保留兼容，schema/reference 仍以逐字段 canonical 入参为准。
- 源资料给出接口响应、出参或返回值字段表时，`outputSchema.properties` 必须按 CLI 成功 envelope 的 `data` 逐字段转换字段名、类型、必填、数组元素和嵌套对象；禁止只写 `result`、`data`、`raw` 或 `object` 这类通用包裹字段来替代返回值转换。确需透传服务端原始响应时，要在 `outputSchema` 中同时声明已知稳定字段和 raw 字段边界。
- 缺口只阻断受影响的 operation；已能从源资料确认的只读、预览、准备或文档索引部分要继续实现。不能实现的能力写入待确认清单或禁用边界，不要生成假 operation。
- 如果确实必须等用户补充，回复必须列出具体缺口并提出明确问题，例如缺少哪个 operation 的接口路径、请求方法、关键字段、权限边界、幂等键、回查接口或写入确认条件。不能只说“需要确认细节”，也不要以“实现前需要确认几个细节”“随后开始实现”这类状态句作为最终回复。

## 处理流程

1. 先确认两个独立命名，两者可以不同、不要默认同名：**CLI 命令后缀 `<command>`**（`weaver-work-cli <command>` 的命令名，通常用英文动作名，如 `invoice`）和 **Skill 后缀 `<skill>`**（`skills/weaver-e10-<skill>` 的目录名与 frontmatter `name`，通常用业务系统名/拼音，如 `yepiaotong`）。任一不明确都先问用户，不要猜；源文档/代码路径、源码仓库路径、仓库下模块资料相对路径、旧版本 ref、新版本 ref 或输出位置不明确时同样先问。CLI 同步生成/更新是默认范围。
2. 读取 [`business-skill-generation.md`](references/business-skill-generation.md)，按流程盘点源资料、抽取业务语义和生成 artifact。
3. 读取 [`module-cli-generation.md`](references/module-cli-generation.md)，按 CLI 规范同步实现或更新 `src/shortcuts/<module>`、operation manifest、registry、错误 envelope、测试和命令注册。
4. 读取 [`weaver-skill-style.md`](references/weaver-skill-style.md)，确保入口 `SKILL.md`、`references/`、`skill-template/product.json`、`skill-template/` 和文档索引保持 weaver 风格，并且 Skill 只调用已实现的 CLI operation。
5. 若目标 Skill 或目标 CLI 已存在，或用户说源文档/代码有更新，必须先读取 [`source-update-detection.md`](references/source-update-detection.md)，比较源资料文件指纹或 Git ref 范围；若存在 `sourceChunks` / `operationImpact`，同步列出小范围变更和可能影响。只有用户确认需要转换后，才更新已有 Skill 和 CLI。
6. 若用户要求扫描单个已有业务模块是否转全，或要求补齐缺少的业务逻辑/参数，读取 [`module-gap-audit-and-repair.md`](references/module-gap-audit-and-repair.md)，先做缺口审计和分级，再对可由源资料证明的缺口实施修复；资料不足的缺口只登记为待确认，不编造业务逻辑或入参。
7. 读取 [`detector-validation.md`](references/detector-validation.md)，每次创建或更新 Skill 后都必须先询问用户是否现在进行 Skill 质检；用户同意后用泛微技能检测工具校验生成结果。用户拒绝、未回复或检测器不可用时，只能停在待质检状态，不能安装、发布或把未过检的 Skill 当作完成；检测失败时先修复。
8. 检测通过后读取 [`post-generation-install.md`](references/post-generation-install.md)，用宿主支持的弹框或确认 UI 询问用户是否安装；用户确认后再打包并安装到当前智能体可识别的 skills 目录。
9. 完成后至少验证 `weaver-work-cli <module> schema`、`weaver-work-cli skills list` 和 `weaver-work-cli skills read weaver-e10-<module>`；在仓库内改动时再跑相关测试，并确认新生成 Markdown 中没有 Unix-only 命令示例。

## 命名约定

每个业务模块有两个独立命名，生成时必须分别向用户确认，不要默认相同：

- **CLI 命令后缀 `<command>`**：决定命令面 `weaver-work-cli <command> schema/run ...`，也决定 operation 前缀 `<command>.<action>` 和 `src/shortcuts/<command>` 目录。通常用英文动作名，如 `invoice`。
- **Skill 后缀 `<skill>`**：决定 Skill 目录 `skills/weaver-e10-<skill>`、frontmatter `name: weaver-e10-<skill>`、`skill-template/business-info.json` 的 key、`skill-template/domains/<skill>.md`。通常用业务系统名或拼音，如 `yepiaotong`、`wenshuding`。

两者通过 Skill 的 `cliHelp: "weaver-work-cli <command> --help"` 关联：Skill 名用 `<skill>`，但 Skill 内部所有命令示例仍走 `weaver-work-cli <command>`。例如发票模块 CLI 命令后缀是 `invoice`、Skill 后缀是 `yepiaotong`，则目录为 `skills/weaver-e10-yepiaotong`，命令为 `weaver-work-cli invoice run invoice.list`。下面产物边界里的 `<module>` 按位置分别指 `<command>`（`src/shortcuts/`、`test/business/`、`docs/`）或 `<skill>`（`skills/`、`skill-template/`）。

## 产物边界

生成或更新业务 CLI 与 Skill 时，默认只改这些位置：

- `skills/weaver-e10-<module>/SKILL.md`
- `skill-template/product.json`
- `skills/weaver-e10-<module>/references/*.md`
- `skills/weaver-e10-<module>/references/source-manifest.json`
- `src/shortcuts/<module>/` 和 `src/shortcuts/index.ts`
- `test/business/<module>-*.test.ts`
- `docs/<module>.md`
- `skill-template/business-info.json`
- `skill-template/domains/<module>.md`
- 必要时更新仓库级文档索引或说明文件；这些不是发布包内 reference，入口文件里不要把它们写成可点击引用

不要把用户源文档全文塞进入口 `SKILL.md`，也不要复制无关叙述、截图说明或敏感内容；但所有会影响 Agent 正确执行的业务契约都要保真迁移。超长接口手册应按业务对象、operation 或源文档标题拆成多个按需读取的 reference，并在 manifest 中记录 `sourceChunks` / `operationImpact` / `sourceCoverage`；如果某段源资料只保留在外部位置，必须说明它不参与已生成能力，或列入待确认/禁用边界。
