> ## Documentation Index
> Fetch the complete documentation index at: https://docs.profy.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 技能目录

> 内置技能全表、三路归属规则与存储位置

# 技能目录

技能是**方法层**：一份告诉专家"这类活该怎么干"的文档，通常还附带可执行脚本与模板。工具决定专家**能做什么**，技能决定它**做得好不好**。

这一页穷举平台内置技能，并说明技能的三路归属。

## 三路归属（这是最关键的一件事）

一次对话可用的技能是**三个来源的并集**，互不覆盖：

| 归属   | 限定名前缀       | 存储位置                                                       | 可见范围             |
| ---- | ----------- | ---------------------------------------------------------- | ---------------- |
| 内置   | `builtin/*` | 镜像内 `services/agent-runtime/src/plugins/builtin/*/skills/` | 所有对话             |
| 用户全局 | `user/*`    | `user_skills` 表，按用户 ID                                     | 该用户在**任何**专家下的对话 |
| 专家专属 | `expert/*`  | `expert_skills` 表，按专家标识                                    | 仅该专家的对话          |

<Info>
  同名不冲突：`builtin/docx`、`user/docx`、`expert/docx` 可以同时存在。专家在 `skill discover` 里看到的是**限定名**，激活时必须写全，否则裸名在多路同名时会拒绝解析而不是猜。
</Info>

写入入口按归属严格分离：

| 入口                      | 写到哪                           |
| ----------------------- | ----------------------------- |
| 技能商店 / 我的技能里安装          | `user_skills`（全局库）            |
| 专家配置里安装                 | `expert_skills`               |
| 专家在对话中调 `skill_install` | `expert_skills`，**且必须有专家上下文** |
| 市场专家发布                  | 事务内写 `expert_skills`          |

自由聊天、IM 渠道等没有专家上下文的对话里调 `skill_install` 会被拒绝，并引导你去界面装到全局库。这是刻意的——没有归属对象的技能不知道该存到哪个专家名下。

内置技能**永远不入库**。改它们意味着改镜像并发版。

## 技能怎么被用起来

<Steps>
  <Step title="discover">
    专家调 `skill(action="discover")` 拿到清单，只看到名称 + 描述，**不加载正文**。
  </Step>

  <Step title="activate">
    判断相关后调 `skill(action="activate", name="builtin/pptx")` 才把完整正文读进上下文。
  </Step>

  <Step title="execute">
    需要脚本或模板时调 `skill(action="execute", resource_type="script", resource_name="...")`。脚本**黑盒执行**，只回 stdout/stderr，源码不进上下文。
  </Step>
</Steps>

这个两段式（先看目录再读正文）是必须的：下表里 `builtin/pptx` 34,079 字符、`builtin/kami` 31,269 字符，全量注入会直接吃掉大半个上下文窗口。

## 内置技能全表

按插件分组。字符数是技能文档正文长度，用来判断激活它的上下文代价。

### 文档处理

| 限定名                 | 字符数    | 说明                            |
| ------------------- | ------ | ----------------------------- |
| `builtin/docx`      | 21,208 | Word 文档的创建、读取、编辑              |
| `builtin/xlsx`      | 11,455 | 任何以表格为主要输入或输出的任务              |
| `builtin/pdf`       | 8,424  | PDF 读取、提取、表单、合并拆分             |
| `builtin/kami`      | 31,269 | 专业排版：简历、单页、白皮书、作品集            |
| `builtin/pptx`      | 34,079 | 演示文稿总线，路由到原生 pptx 或 HTML deck |
| `builtin/html-deck` | 22,221 | 横向翻页网页 PPT（单 HTML 文件），两种风格模板  |

`pptx` 与 `kami` 是全站最长的两篇，因为它们承载完整的产线规范（模板、脚本调用、导出锁）。

### 可视化（22 篇）

| 限定名                                   | 字符数    | 说明                              |
| ------------------------------------- | ------ | ------------------------------- |
| `builtin/visualize`                   | 1,911  | 主技能：对话内嵌 HTML/CSS/JS 可视化        |
| `builtin/visualization-strategy`      | 2,523  | 按数据与意图选图表类型                     |
| `builtin/data-visualization`          | 1,847  | 路由到具体的数据可视化子技能                  |
| `builtin/d3-data-visualization`       | 2,744  | D3.js 柱线散点与自定义图                 |
| `builtin/statistical-visualization`   | 2,840  | 直方图、箱线图、小提琴图、回归                 |
| `builtin/grammar-of-graphics`         | 2,755  | Vega-Lite / Observable Plot 声明式 |
| `builtin/canvas2d-data-visualization` | 2,308  | 万点级大数据集（SVG 会卡死的量级）             |
| `builtin/dashboards-realtime`         | 3,122  | 实时看板、KPI 卡、迷你折线                 |
| `builtin/gantt-chart`                 | 3,429  | 时间线与甘特图                         |
| `builtin/node-link-diagram`           | 3,342  | 网络图、依赖树、力导向、和弦图                 |
| `builtin/uml-architecture`            | 3,099  | UML、架构图、时序图                     |
| `builtin/geospatial-visualization`    | 2,521  | D3-geo、分级填色、TopoJSON            |
| `builtin/scrollytelling`              | 3,005  | 滚动驱动的叙事可视化                      |
| `builtin/molecular-visualization`     | 3,850  | 蛋白质、核酸、配体、PDB/mmCIF             |
| `builtin/interactive-3d-atlas`        | 6,902  | 可点击热点的 3D 图谱（解剖/机械/建筑）          |
| `builtin/threejs-showcase`            | 15,577 | 五个成熟 Three.js 模式                |
| `builtin/threejs-data-visualization`  | 3,266  | 3D 柱状、地球、3D 网络、地形               |
| `builtin/3d-data-visualization`       | 7,485  | 数据映射到 3D 空间                     |
| `builtin/react-nextjs-visualization`  | 2,728  | React/Next.js 组件内嵌              |
| `builtin/a2ui-patterns`               | 5,910  | A2UI 布局模式（对比、看板、向导）             |
| `builtin/accessibility-visualization` | 2,134  | ARIA、键盘导航、色盲安全配色                |
| `builtin/reports-pdf-slides`          | 3,749  | 导出到 PDF / 幻灯片 / 可打印格式           |

<Note>
  `profy-visualize` 的 manifest 里只声明了 8 篇，但目录里有 22 篇。差额不是错误：**声明的那 8 篇随插件激活直接注入清单，其余 14 篇按需通过 `discover` 发现后 `activate`**。这是防止插件一开就往上下文里塞 22 篇目录。
</Note>

### 游戏开发（10 篇）

| 限定名                              | 字符数   | 说明                         |
| -------------------------------- | ----- | -------------------------- |
| `builtin/game-studio`            | 888   | 按项目类型路由到子技能                |
| `builtin/web-game-foundations`   | 1,123 | 所有网页游戏共用的架构模式              |
| `builtin/three-webgl-game`       | 2,357 | 原生 Three.js + WebGL 3D 游戏  |
| `builtin/react-three-fiber-game` | 1,654 | R3F + Drei 3D 游戏           |
| `builtin/phaser-2d-game`         | 2,380 | Phaser 3 的 2D 游戏           |
| `builtin/physics-game`           | 8,544 | Rapier WASM 物理游戏（弹球、滚珠、塔堆） |
| `builtin/game-ui-frontend`       | 1,200 | HUD、菜单、对话框叠加层              |
| `builtin/sprite-pipeline`        | 1,023 | 2D 精灵资产的创建与动画              |
| `builtin/web-3d-asset-pipeline`  | 1,251 | 浏览器游戏的 3D 资产优化             |
| `builtin/game-playtest`          | 2,060 | 截图 + 状态断言的自动化试玩            |

### 视频与创意

| 限定名                                | 字符数   | 说明                        |
| ---------------------------------- | ----- | ------------------------- |
| `builtin/movie`（`skills/SKILL.md`） | 4,611 | 视频制作流水线总览                 |
| `builtin/video-production`         | 2,020 | 七段式制作方法论模板                |
| `builtin/product-ad`               | 1,727 | 产品广告片（15–60 秒，高能量，CTA 导向） |
| `builtin/animated-short`           | 1,843 | 动画短片（1–3 分钟，叙事驱动）         |
| `builtin/world-generation`         | 2,188 | HY-World 2.0 可漫游 3D 世界    |
| `builtin/canvas`                   | 2,801 | 画布工作流：建节点、连 DAG、自动布局、跑图   |

### 桌面与专业软件桥接

| 限定名                          | 字符数   | 说明                 |
| ---------------------------- | ----- | ------------------ |
| `builtin/blender-workflow`   | 1,652 | Blender 建模最佳实践     |
| `builtin/godot-workflow`     | 2,015 | Godot 开发与确定性试玩     |
| `builtin/photoshop-workflow` | 1,284 | Photoshop 非破坏性编辑规范 |
| `builtin/chrome-extension`   | 3,514 | 控制用户已登录的 Chrome    |

三个软件桥接技能都很短（1,284–2,015 字符），因为它们只写工作流纪律，具体操作依赖 MCP 工具——而那部分**当前未接线**，详见各插件单页的已知缺陷。

### 录制回放（9 篇，扁平文件）

`profy-record-and-replay` 的技能以扁平 `.md` 存放而非目录结构：

| 文件                        | 字符数    | 说明          |
| ------------------------- | ------ | ----------- |
| `record-replay.md`        | 32,194 | 录制回放主文档     |
| `cua-driver.md`           | 13,027 | 桌面控制驱动      |
| `cua-recording.md`        | 2,770  | 录制规范        |
| `app-clock.md`            | 2,845  | 时钟应用适配      |
| `app-notion.md`           | 2,323  | Notion 适配   |
| `app-music.md`            | 1,385  | 音乐应用适配      |
| `app-numbers.md`          | 1,089  | Numbers 适配  |
| `app-spotify.md`          | 980    | Spotify 适配  |
| `app-iphone-mirroring.md` | 415    | iPhone 镜像适配 |

`app-*` 系列是**逐应用的操作谱**——同一个"点播放"在不同 App 里的可访问性树结构不同，必须逐个记。

### 平台机制类

| 限定名                          | 字符数    | 说明                   |
| ---------------------------- | ------ | -------------------- |
| `builtin/skill`              | 20,383 | 怎么写一篇有效的技能（用户要造技能时用） |
| `builtin/distill`            | 17,634 | 蒸馏对话的方法论             |
| `builtin/knowledge`          | 14,480 | 跨已连接知识平台的检索与写入       |
| `builtin/sites`              | 13,104 | Sites 产线深度参考         |
| `builtin/evolution`          | 5,374  | 进化模式的评分锚点与工作流        |
| `builtin/customs-extraction` | 8,177  | 报关单 83 字段提取          |

`builtin/evolution` 与 `builtin/distill` 只在对应的内部模式下可见，普通对话看不到。

## 技能怎么写

一篇技能是一个目录，至少含 `SKILL.md`：

```
my-skill/
├── SKILL.md          # 必需：frontmatter + 正文
├── scripts/          # 可执行脚本（黑盒执行）
├── references/       # 参考资料（按需读取）
├── templates/        # 模板文件
└── assets/           # 静态资源
```

`SKILL.md` 的 frontmatter：

```yaml theme={null}
---
name: my-skill
description: 一句话说明什么时候该用这篇技能。这句话是唯一进入 discover 清单的内容
---
```

<Warning>
  `description` 决定这篇技能**会不会被想起来**。专家在 `discover` 时只看到它，正文再好、描述含糊就永远不会被激活。写法上要写「什么时候用」而不是「这是什么」。

  对照本页表格里的描述：`builtin/xlsx` 写的是「任何以表格为主要输入或输出的任务」——这是触发条件；不是「Excel 处理能力」——那是自我介绍。
</Warning>

## 上下文成本

技能正文在 `activate` 时全量进上下文。参考量级：

| 长度            | 影响               |
| ------------- | ---------------- |
| \< 3,000 字符   | 可忽略              |
| 3,000–10,000  | 正常，可同时激活两三篇      |
| 10,000–20,000 | 明显，尽量一次只激活一篇     |
| > 20,000      | 单篇即占据可观比例，需要主动收敛 |

这也是[自进化](/zh/documentation/how-it-works/darwin-evolution)把 `context_footprint` 单列一个评分维度、且**由代码而非模型自评**的原因：写得越长越详细，模型自评往往越高分，但真实代价是每次调用都要付的上下文。

## 相关页面

<CardGroup cols={2}>
  <Card title="技能系统" icon="book-open" href="/zh/documentation/concepts/skills">
    技能的概念与使用
  </Card>

  <Card title="工具全表" icon="wrench" href="/zh/documentation/reference/tools-catalog">
    `skill` 与 `skill_manage` 的完整签名
  </Card>

  <Card title="插件全表" icon="puzzle-piece" href="/zh/documentation/reference/plugins-catalog">
    技能随哪个插件提供
  </Card>

  <Card title="自进化" icon="dna" href="/zh/documentation/how-it-works/darwin-evolution">
    技能怎么自动变好
  </Card>
</CardGroup>

<Note>
  核对日期 2026-08-11。来源：`services/agent-runtime/src/plugins/builtin/*/skills/`（47 个目录式技能 + 7 个扁平 `SKILL.md` + 9 个 record-and-replay 扁平文件）。字符数为文档实测长度。
</Note>
