Skill: charleschor/chudaxia-ai-coach-position-skills-generator (version 1.0.0)

--- name: chudaxia-ai-coach-tools-position-agent-skills-generator description: 将岗位智能体提示词中的岗位核心能力转化为一组符合 Agent Skills 规范的岗位技能包。Use when users need to analyze generated position-agent prompts, extract job skills, retrieve and internalize skill knowledge into assets, create one SKILL.md directory per skill, and sync the prompt skill list with generated skills. metadata: agent-created: "true" related-skills: chudaxia-ai-coach-tools-position-agent-prompts-generator --- # 岗位智能体技能生成器 ## 概述 本技能接在 [REDACTED_SECRET] 之后使用，将其输出的「岗位智能体提示词」中的岗位技能逐项拆解为可挂载、可检索、可维护的 Agent Skill 技能目录。 核心交付包括：每个岗位技能对应的内化技能知识文档、符合 `assets/specs/agents-skills-specification.md` 的技能目录与 `SKILL.md` 文件，以及已回写技能映射关系的岗位智能体提示词。 ## 强制输出要求 - **一项岗位核心能力对应一个技能目录**：除非用户明确批准合并或拆分，否则不得把多个能力合并为一个技能，也不得把一个能力拆成多个技能。 - **每个技能必须内化运行知识**：从腾讯 IMA 或本地文件目录检索、筛选并萃取后，必须写入 `assets/knowledge/knowledge.md`，使生成技能脱离原始知识源后仍可完整执行；不得要求运行时再访问原知识库、原始文件或上游提示词。 - **缺乏知识必须清晰标注**：证据不足时创建 `assets/knowledge/knowledge-gaps.md`，并在 `assets/knowledge/knowledge.md` 对应章节标注 `[待补齐]`，不得用推测内容补全。 - **每个技能必须有来源索引**：创建 `references/source-map.md`，记录检索词、来源文档、取舍理由和未采用材料；来源索引用于追溯审计，不作为技能执行依赖。 - **每个技能目录必须符合 Agent Skills 规范**：目录名与 `SKILL.md` frontmatter 的 `name` 完全一致，名称只使用小写字母、数字和连字符。 - **输出位置必须可挂载**：技能目录应输出到用户指定的 Skills 根目录，或在交付中明确标注安装/挂载状态与后续移动路径。 - **必须回写岗位智能体提示词**：更新原提示词中的技能层与知识层，使其技能清单、技能目录、知识文档一一对应。 - **最终交付必须包含映射表**：列出原岗位技能、生成技能名、技能目录、知识来源、回写位置和状态。 ## 输入确认 开始前确认以下信息： 1. **岗位智能体提示词来源**：用户粘贴的 Markdown、已生成的 `.md` 文件，或上游生成器刚输出的内容。 2. **知识库来源**：腾讯 IMA 知识库或本地文件目录；该来源只用于生成阶段检索和内化，未指定时默认先问用户，不能假设已有 IMA 访问能力。 3. **输出根目录**：优先使用用户指定的可挂载 Skills 根目录；未指定时使用 `generated-position-agent-skills/<岗位slug>/`，并在最终交付中标明这些技能仍需移动或挂载后才能被运行时发现。 4. **是否允许调整技能数量**：默认不允许；如发现能力重叠、缺失或粒度异常，先给出建议并获得用户确认。 ## 核心流程 ### 步骤 1：解析岗位智能体提示词 读取完整岗位智能体提示词，至少提取以下内容： - 岗位名称、部门、核心职责与工作边界 - `3. 技能层（Capability）` 中的岗位核心能力与降级策略 - `4. 知识层（Knowledge）` 中的参考规范底座与引用规范 - `5. 流程层（Workflow）` 中与技能相关的标准步骤与异常处理 - `6. 权限层（Compliance）` 中与技能相关的白名单、黑名单和上报机制 - `7. 绩效层（KPI）` 中与技能相关的质量标准 使用 `references/skill-extraction-framework.md` 建立「岗位技能登记表」。登记表必须包含： | 字段 | 说明 | |------|------| | 原始能力名称 | 技能层中的原文名称 | | 技能目录名 | 规范化 slug，必须能作为 skill `name` | | 能力边界 | 该技能负责什么、不负责什么 | | 知识检索词 | 用于 IMA 或本地目录检索的关键词组合 | | 关联流程 | 该技能在岗位工作流中的调用时机 | | 合规约束 | 该技能必须遵守的权限边界 | | KPI 约束 | 该技能应满足的质量标准 | ### 步骤 2：检索并内化技能知识 针对登记表中的每个技能分别检索知识来源，并把可执行知识内化进技能目录： **腾讯 IMA 来源** 1. 使用用户可用的 IMA/知识库检索能力，以「岗位名称 + 能力名称 + 关键业务对象 + SOP/规范/模板/案例」组合检索。 2. 优先选择与该技能直接相关的制度、流程、模板、案例和 FAQ。 3. 记录来源文档标题、知识库名称、检索关键词和可追溯标识。 **本地文件目录来源** 1. 使用文件搜索定位与技能关键词相关的 `.md`、`.docx` 转写、`.txt`、模板或规范文件。 2. 读取候选内容，按相关性筛选直接证据，不把泛泛背景材料当作技能知识。 3. 记录相对路径和关键摘录位置。 将每个技能的检索结果萃取并内化为 `assets/knowledge/knowledge.md`。该文件必须包含足以支撑技能独立运行的流程、规则、判断标准、模板、案例和降级说明，不得只写来源链接、检索提示或“请参考原文”。结构固定为： ```markdown # [技能名称] 技能知识文档 ## 适用范围 ## 核心概念 ## 标准流程 ## 输入与输出 ## 判断标准 ## 异常与降级 ## 合规边界 ## 可复用模板或话术 ## 内化知识来源摘要 ``` 同时创建 `references/source-map.md`，记录：检索来源、检索关键词、采用文档、未采用文档、采用/排除理由、可追溯标识。`references/source-map.md` 仅用于审计、复核和后续更新，不得作为技能运行时的必要知识入口。 证据不足时，不得补写成看似完整的规范；应在 `assets/knowledge/knowledge-gaps.md` 中列出缺口、已检索关键词和建议补充资料，并在 `assets/knowledge/knowledge.md` 对应章节标注 `[待补齐]`。 ### 步骤 3：逐一生成技能目录 按 `assets/specs/agents-skills-specification.md` 为每个岗位技能创建目录： ```text <output-root>/ <skill-slug>/ SKILL.md assets/ knowledge/ knowledge.md knowledge-gaps.md # 仅在证据不足时创建 templates/ # 仅在技能有表单、话术、画布模板时创建 references/ source-map.md ``` `SKILL.md` 必须满足： - YAML frontmatter 包含 `name` 和 `description` - `name` 与目录名完全一致，且不超过 64 个字符 - `description` 说明该技能做什么以及何时使用，包含岗位、能力和触发关键词 - 正文引用 `assets/knowledge/knowledge.md`，并在存在缺口时引用 `assets/knowledge/knowledge-gaps.md` - 正文说明技能执行依赖已内化知识，不依赖运行时访问原始知识源 - 明确输入、处理流程、输出、降级策略、合规边界和自检标准 使用 `assets/templates/position-skill-template.md` 作为单个技能的起稿模板。 ### 步骤 4：回写岗位智能体提示词 生成全部技能目录后，必须更新原岗位智能体提示词： 1. 在 `3. 技能层（Capability）` 中，将每项岗位核心能力补充为「能力名称 + 生成技能目录 + 内化技能知识文档 + 调用时机」。 2. 在 `4. 知识层（Knowledge）` 中补充生成的 `assets/knowledge/knowledge.md` 清单，并标注已挂载或待挂载状态。 3. 在文档末尾增加或更新「岗位技能包映射表」，列出所有一一对应关系。 4. 在映射表附近增加「技能包同步记录」，包含生成时间、生成器名称、知识来源类型和本次更新摘要。 5. 保持原七层结构完整，不改变身份、人设、流程、权限、绩效层的原意。 如果原提示词已经存在技能映射表或人工补充内容，先保留原内容并追加更新；发现同一岗位技能已有不同技能目录时，列出冲突并要求用户确认，不得静默覆盖。 如果输入不是可编辑文件，而是用户粘贴内容或上游技能刚输出的内容，必须输出一份完整的「已回写岗位智能体提示词」Markdown；如用户希望落盘，先确认目标文件路径再创建。 映射表格式： | 原岗位技能 | 生成技能目录 | 技能知识文档 | 来源索引 | 知识来源 | 回写状态 | |------------|--------------|--------------|----------|----------|----------| | ... | ... | ... | ... | ... | 当存在 `assets/knowledge/knowledge-gaps.md` 时，回写状态必须标为「知识待补齐」，并在知识层对应文档后标注 `[待补齐]`。 ### 步骤 5：质量自检 按 `references/skill-package-checklist.md` 完成自检。必须通过： - 技能数量与原提示词技能层核心能力数量一致 - 每个技能目录都有有效 `SKILL.md` - 每个 `SKILL.md` 的 `name` 与目录名一致 - 每个技能都有 `references/source-map.md` - 每个技能至少有 `assets/knowledge/knowledge.md`，且该文件足以支撑技能脱离原始知识源运行 - 证据不足时另有明确的 `assets/knowledge/knowledge-gaps.md`，并在内化知识文档中标注 `[待补齐]` - 原提示词已回写技能目录、知识文档和映射表 - 回写后的提示词仍保留七层结构；如同时存在结构化 JSON 表示，需再按 `chudaxia-ai-coach/assets/schemas/prompt-framework-schema.json` 校验 - 无虚构知识来源、无不可追溯结论 任一检查失败，先修正再交付。 ## 命名规范 - 技能目录名优先使用英文语义 slug，例如 [REDACTED_SECRET]。 - 只允许小写字母、数字和连字符；不得使用中文、空格、下划线或连续连字符。 - 目录名超过 64 字符时，压缩为「岗位域 + 核心动作 + 对象」，例如 [REDACTED_SECRET]。 - 同名冲突时添加短后缀，如 `-workflow`、`-review`，不要添加无意义序号，除非用户要求保留原顺序编号。 ## 边界与异常处理 - **无法访问 IMA**：切换到用户提供的本地目录或要求用户提供导出的知识库材料。 - **本地目录无资料**：生成技能骨架和 `assets/knowledge/knowledge-gaps.md`，并在最终映射表标为「知识待补齐」。 - **岗位技能粒度混乱**：先输出拆分/合并建议，获得用户确认后再改变数量。 - **提示词不是七层结构**：先列出缺失层与可识别字段，获得用户确认后再按七层模板补齐；无法确认的内容标为 `[待补齐]`，不得擅自补成确定事实。 - **存在企业敏感信息**：技能知识文档保留必要业务规则，但对公司名、人名、内部系统名做泛化处理，除非用户明确要求保留。 ## 最终交付格式 交付时使用 Markdown，包含： 1. 生成的技能目录清单 2. 岗位技能包映射表 3. 已更新的岗位智能体提示词路径或内容 4. 知识缺口与待补资料清单 5. 质量自检结果 ## 参考资源 - `references/skill-extraction-framework.md`：岗位技能拆解与跨层映射方法。 - `references/skill-package-checklist.md`：技能目录、知识文档和提示词回写检查清单。 - `assets/templates/position-skill-template.md`：单个岗位技能 `SKILL.md` 模板。 - `assets/specs/agents-skills-specification.md`：Agent Skills 目录与 frontmatter 规范。

path: assets/templates/position-skill-template.md
content: ---
name: [skill-slug]
description: [岗位名称]的[技能名称]技能。Use when users need [触发场景、业务对象、核心动作和输出物]。
metadata:
  position-agent: [岗位名称]
  source-capability: [原始能力名称]
  generated-by: chudaxia-ai-coach-tools-position-agent-skills-generator
---

# [技能名称]

## 概述

[用 1-2 段说明该技能解决什么岗位任务、服务谁、产出什么结果。]

## 适用场景

当用户提出以下需求时使用本技能：

- [触发场景 1]
- [触发场景 2]
- [触发场景 3]

不适用于：

- [越界场景 1]
- [越界场景 2]

## 内化知识

执行本技能前，先读取 `assets/knowledge/knowledge.md`。该文件是本技能运行所需的内化知识，不得要求用户或运行时再访问原始 IMA 知识库、本地原始资料或上游提示词。

如存在 `assets/knowledge/knowledge-gaps.md`，必须先判断缺口是否影响当前任务；受影响的结论、步骤或建议必须标注 `[待补齐]`，不得虚构制度、数据、案例或审批结论。

来源追溯见 `references/source-map.md`。该文件仅用于审计和复核，不作为执行本技能的必要知识入口。

## 输入

- **业务对象**：[需要处理的对象]
- **上下文材料**：[用户需要提供的材料]
- **输出要求**：[格式、粒度、时效或质量要求]

## 工作流程

1. **确认任务边界**：[确认用户目标、输入材料和约束]
2. **读取内化知识**：[读取 assets/knowledge/knowledge.md 中的相关规则、流程或模板]
3. **执行核心判断**：[说明关键分析/生成/审核步骤]
4. **输出结果**：[说明交付格式]
5. **自检修正**：[按质量标准检查]

## 输出格式

```markdown
# [输出标题]

## 结论

## 依据

## 执行步骤

## 风险与边界

## 下一步建议
```

## 降级策略

- 当内化知识未覆盖当前问题时：[替代动作，并标注待补齐范围]
- 当输入材料不完整时：[补充追问或假设标注]
- 当任务触及权限边界时：[拦截话术和上报建议]

## 合规边界

- 可自主处理：[白名单动作]
- 必须上报：[黑名单或审批事项]
- 禁止输出：[敏感信息、未授权承诺或越权决策]

## 质量自检

- [ ] 输出依据来自 `assets/knowledge/knowledge.md` 的内化知识。
- [ ] 涉及知识缺口的内容已标注 `[待补齐]`。
- [ ] 输出符合岗位权限边界。
- [ ] 输出包含可执行步骤或可判定结论。
- [ ] 输出没有虚构制度、数据、案例或审批结论。

path: assets/specs/agents-skills-specification.md
content: > ## Documentation Index
> Fetch the complete documentation index at: https://agentskills.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Specification

> The complete format specification for Agent Skills.

## Directory structure

A skill is a directory containing, at minimum, a `SKILL.md` file:

```
skill-name/
├── SKILL.md          # Required: metadata + instructions
├── scripts/          # Optional: executable code
├── references/       # Optional: documentation
├── assets/           # Optional: templates, resources
└── ...               # Any additional files or directories
```

## `SKILL.md` format

The `SKILL.md` file must contain YAML frontmatter followed by Markdown content.

### Frontmatter

| Field           | Required | Constraints                                                                                                       |
| --------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| `name`          | Yes      | Max 64 characters. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen.             |
| `description`   | Yes      | Max 1024 characters. Non-empty. Describes what the skill does and when to use it.                                 |
| `license`       | No       | License name or reference to a bundled license file.                                                              |
| `compatibility` | No       | Max 500 characters. Indicates environment requirements (intended product, system packages, network access, etc.). |
| `metadata`      | No       | Arbitrary key-value mapping for additional metadata.                                                              |
| `allowed-tools` | No       | Space-separated string of pre-approved tools the skill may use. (Experimental)                                    |

<Card>
  **Minimal example:**

  ```markdown SKILL.md theme={null}
  ---
  name: skill-name
  description: A description of what this skill does and when to use it.
  ---
  ```

  **Example with optional fields:**

  ```markdown SKILL.md theme={null}
  ---
  name: pdf-processing
  description: Extract PDF text, fill forms, merge files. Use when handling PDFs.
  license: Apache-2.0
  metadata:
    author: example-org
    version: "1.0"
  ---
  ```
</Card>

#### `name` field

The required `name` field:

* Must be 1-64 characters
* May only contain unicode lowercase alphanumeric characters (`a-z`, `0-9`) and hyphens (`-`)
* Must not start or end with a hyphen (`-`)
* Must not contain consecutive hyphens (`--`)
* Must match the parent directory name

<Card>
  **Valid examples:**

  ```yaml theme={null}
  name: pdf-processing
  ```

  ```yaml theme={null}
  name: data-analysis
  ```

  ```yaml theme={null}
  name: code-review
  ```

  **Invalid examples:**

  ```yaml theme={null}
  name: PDF-Processing  # uppercase not allowed
  ```

  ```yaml theme={null}
  name: -pdf  # cannot start with hyphen
  ```

  ```yaml theme={null}
  name: pdf--processing  # consecutive hyphens not allowed
  ```
</Card>

#### `description` field

The required `description` field:

* Must be 1-1024 characters
* Should describe both what the skill does and when to use it
* Should include specific keywords that help agents identify relevant tasks

<Card>
  **Good example:**

  ```yaml theme={null}
  description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.
  ```

  **Poor example:**

  ```yaml theme={null}
  description: Helps with PDFs.
  ```
</Card>

#### `license` field

The optional `license` field:

* Specifies the license applied to the skill
* We recommend keeping it short (either the name of a license or the name of a bundled license file)

<Card>
  **Example:**

  ```yaml theme={null}
  license: Proprietary. LICENSE.txt has complete terms
  ```
</Card>

#### `compatibility` field

The optional `compatibility` field:

* Must be 1-500 characters if provided
* Should only be included if your skill has specific environment requirements
* Can indicate intended product, required system packages, network access needs, etc.

<Card>
  **Examples:**

  ```yaml theme={null}
  compatibility: Designed for Claude Code (or similar products)
  ```

  ```yaml theme={null}
  compatibility: Requires git, docker, jq, and access to the internet
  ```

  ```yaml theme={null}
  compatibility: Requires Python 3.14+ and uv
  ```
</Card>

<Note>
  Most skills do not need the `compatibility` field.
</Note>

#### `metadata` field

The optional `metadata` field:

* A map from string keys to string values
* Clients can use this to store additional properties not defined by the Agent Skills spec
* We recommend making your key names reasonably unique to avoid accidental conflicts

<Card>
  **Example:**

  ```yaml theme={null}
  metadata:
    author: example-org
    version: "1.0"
  ```
</Card>

#### `allowed-tools` field

The optional `allowed-tools` field:

* A space-separated string of tools that are pre-approved to run
* Experimental. Support for this field may vary between agent implementations

<Card>
  **Example:**

  ```yaml theme={null}
  allowed-tools: Bash(git:*) Bash(jq:*) Read
  ```
</Card>

### Body content

The Markdown body after the frontmatter contains the skill instructions. There are no format restrictions. Write whatever helps agents perform the task effectively.

Recommended sections:

* Step-by-step instructions
* Examples of inputs and outputs
* Common edge cases

Note that the agent will load this entire file once it's decided to activate a skill. Consider splitting longer `SKILL.md` content into referenced files.

## Optional directories

### `scripts/`

Contains executable code that agents can run. Scripts should:

* Be self-contained or clearly document dependencies
* Include helpful error messages
* Handle edge cases gracefully

Supported languages depend on the agent implementation. Common options include Python, Bash, and JavaScript.

### `references/`

Contains additional documentation that agents can read when needed:

* `REFERENCE.md` - Detailed technical reference
* `FORMS.md` - Form templates or structured data formats
* Domain-specific files (`finance.md`, `legal.md`, etc.)

Keep individual [reference files](#file-references) focused. Agents load these on demand, so smaller files mean less use of context.

### `assets/`

Contains static resources:

* Templates (document templates, configuration templates)
* Images (diagrams, examples)
* Data files (lookup tables, schemas)

## Progressive disclosure

Agents load skills *progressively*, pulling in more detail only as a task calls for it. Skills should be structured to take advantage of this:

1. **Metadata** (\~100 tokens): The `name` and `description` fields are loaded at startup for all skills
2. **Instructions** (\< 5000 tokens recommended): The full `SKILL.md` body is loaded when the skill is activated
3. **Resources** (as needed): Files (e.g. those in `scripts/`, `references/`, or `assets/`) are loaded only when required

Keep your main `SKILL.md` under 500 lines. Move detailed reference material to separate files.

## File references

When referencing other files in your skill, use relative paths from the skill root:

```markdown SKILL.md theme={null}
See [the reference guide](references/REFERENCE.md) for details.

Run the extraction script:
scripts/extract.py
```

Keep file references one level deep from `SKILL.md`. Avoid deeply nested reference chains.

## Validation

Use the [skills-ref](https://github.com/agentskills/agentskills/tree/main/skills-ref) reference library to validate your skills:

```bash theme={null}
skills-ref validate ./my-skill
```

This checks that your `SKILL.md` frontmatter is valid and follows all naming conventions.


path: references/skill-package-checklist.md
content: # 岗位技能包质量检查清单

## 一、输入解析检查

- [ ] 已读取完整岗位智能体提示词，而不是只读取技能层片段。
- [ ] 已提取岗位名称、岗位职责、技能层、知识层、流程层、权限层和绩效层。
- [ ] 已建立岗位技能登记表。
- [ ] 技能数量与原提示词技能层核心能力数量一致；如不一致，已有用户确认记录。

## 二、知识萃取检查

- [ ] 每个技能都有独立的知识检索词。
- [ ] 每个技能都已检索腾讯 IMA 或用户指定的本地目录。
- [ ] 每个技能都有 `assets/knowledge/knowledge.md`。
- [ ] 每个技能都有 `references/source-map.md`，记录检索词、来源文档、采用/排除理由和可追溯标识。
- [ ] 所有关键规则、流程、模板和案例都有来源索引。
- [ ] `assets/knowledge/knowledge.md` 已内化技能运行所需知识，脱离原始 IMA 知识库、本地原始资料或上游提示词后仍可使用。
- [ ] `references/source-map.md` 仅作为追溯审计文件，不作为技能执行的必要知识入口。
- [ ] 证据不足的技能已创建 `assets/knowledge/knowledge-gaps.md`，并在 `assets/knowledge/knowledge.md` 对应章节标注 `[待补齐]`，没有虚构内容。

## 三、Agent Skills 规范检查

- [ ] 每个技能目录包含 `SKILL.md`。
- [ ] `SKILL.md` frontmatter 使用 YAML，且包含 `name` 与 `description`。
- [ ] `name` 与父目录名完全一致。
- [ ] `name` 只包含小写字母、数字和连字符，不以连字符开头或结尾，不包含连续连字符。
- [ ] `name` 不超过 64 个字符。
- [ ] `description` 非空且不超过 1024 字符，包含岗位、能力和触发关键词。
- [ ] 正文包含适用场景、输入、流程、输出、降级策略、合规边界和自检要求。
- [ ] 正文使用相对路径引用 `assets/knowledge/knowledge.md`。
- [ ] 如存在知识缺口，正文使用相对路径引用 `assets/knowledge/knowledge-gaps.md`。

## 四、提示词回写检查

- [ ] 已更新 `3. 技能层（Capability）`，每个岗位核心能力都标明生成技能目录。
- [ ] 已更新 `4. 知识层（Knowledge）`，列出生成的技能知识文档。
- [ ] 已增加或更新「岗位技能包映射表」。
- [ ] 已增加或更新「技能包同步记录」，包含生成时间、生成器名称、知识来源类型和更新摘要。
- [ ] 映射表中每个原岗位技能都只有一个对应技能目录。
- [ ] 映射表中每个生成技能目录都能追溯回一个原岗位技能。
- [ ] 如果存在 `assets/knowledge/knowledge-gaps.md`，映射表回写状态已标为「知识待补齐」。
- [ ] 如原提示词已有人工补充或旧映射表，已保留原内容或获得用户确认后覆盖。
- [ ] 回写没有破坏七层提示词结构。
- [ ] 如存在结构化 JSON 表示，已按 `chudaxia-ai-coach/assets/schemas/prompt-framework-schema.json` 校验。

## 五、交付检查

- [ ] 最终答复列出生成的文件和目录。
- [ ] 最终答复列出岗位技能包映射表。
- [ ] 最终答复列出知识缺口和待补资料。
- [ ] 最终答复说明已执行的校验，以及未能执行的校验原因。

path: references/skill-extraction-framework.md
content: # 岗位技能拆解框架

## 目标

将岗位智能体提示词中的「岗位核心能力」拆解为可独立挂载的 Agent Skill。拆解时不能只看技能层标题，必须结合知识层、流程层、权限层和绩效层，确保生成的技能既会做事，也知道何时调用、参考什么、不能越过哪些边界。

## 拆解顺序

1. **定位岗位技能原文**：从 `3. 技能层（Capability）` 提取能力名称、能力描述和降级策略。
2. **补充知识依据**：从 `4. 知识层（Knowledge）` 找到该技能需要参考的制度、SOP、模板、案例或知识库文档。
3. **绑定调用时机**：从 `5. 流程层（Workflow）` 找到该技能在标准工作步骤中的触发点、输入和输出。
4. **绑定合规边界**：从 `6. 权限层（Compliance）` 找到该技能可自主处理和必须上报的事项。
5. **绑定质量标准**：从 `7. 绩效层（KPI）` 找到该技能的准确性、时效、合规和可执行性要求。
6. **生成技能登记表**：为每项技能生成唯一 slug、知识检索词和输出目录。

## 技能登记表模板

| 原始能力名称 | 技能目录名 | 能力边界 | 知识检索词 | 关联流程 | 合规约束 | KPI 约束 |
|--------------|------------|----------|------------|----------|----------|----------|
| [能力原文] | [skill-slug] | [做什么/不做什么] | [关键词组合] | [步骤/时机] | [白名单/黑名单] | [质量标准] |

## 粒度判断

### 保持一对一

默认把技能层中的每个核心能力生成一个技能目录。适用于能力描述已经具备明确业务对象、输入、动作和输出的情况。

### 建议拆分

当一个能力同时包含多个不同业务对象、不同流程或不同知识库时，先向用户建议拆分。例如「客户接待与售后质检」可能拆成 `customer-inquiry-handling` 和 `service-quality-inspection`。

### 建议合并

当多个能力只有表达差异、实际依赖同一知识源和同一工作流时，先向用户建议合并。例如「日报生成」和「周报生成」可合并为 `operations-report-generation`。

## 知识检索词构造

每个技能至少准备 4 组检索词：

| 类型 | 构造方式 | 示例 |
|------|----------|------|
| 岗位能力词 | 岗位名称 + 能力名称 | 财务分析师 预算偏差分析 |
| 业务对象词 | 能力对象 + SOP/流程/规范 | 预算执行 偏差分析 SOP |
| 产出物词 | 输出成果 + 模板/范例 | 经营分析报告 模板 |
| 风险合规词 | 能力名称 + 审批/合规/红线 | 预算调整 审批 权限 |

## 萃取规则

- 只萃取与技能执行直接相关的知识：流程、规则、判断标准、输入输出、模板、案例和异常处理。
- 背景介绍只保留与技能判断有关的最小内容。
- 来源之间冲突时，以制度/流程/SOP 优先，其次是模板和案例。
- 无来源支撑的行业常识可以作为「通用建议」标注，但不能冒充知识库事实，不能计入知识来源完备性，也不能替代 `references/source-map.md` 中的可追溯来源。
- 萃取后的可执行知识必须内化到技能目录的 `assets/knowledge/knowledge.md`，不能只保存外部知识源链接、检索词或原文位置。
- 来源追溯材料保存在 `references/source-map.md`，仅用于审计、复核和后续更新，不作为技能执行入口。

## 输出要求

每个技能都要形成：

- `SKILL.md`：技能使用说明和执行流程。
- `assets/knowledge/knowledge.md`：从知识库或文件目录萃取并内化的技能知识文档，必须支撑技能脱离原始知识源运行。
- `references/source-map.md`：来源索引、检索词和取舍说明。
- `assets/knowledge/knowledge-gaps.md`：仅在证据不足时创建，列出缺口和补资料建议，并要求在内化知识文档中同步标注 `[待补齐]`。

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)