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

# 技能

<Card title="[什么是技能](https://agentskills.io/home)" type="tip">
  技能（下称 Skill）是一种轻量的开放格式，可以通过专业知识和工作流扩展 Agent 的能力。

  本质上来说，每个 Skill 都是一个包含`SKILL.md`文件的文件夹，该文件包含元数据（如`name`和`description`）以及告诉 Agent 如何执行特定任务的指令。 对于复杂的 Skill，还可能包含脚本、参考资料、模板和其他资源。
</Card>

<Warning>
  暂不支持识别和导入 Skill 包内除 Markdown 以外格式的文件，Agent 亦无法执行命令、运行脚本。
</Warning>

## 启用 Skill

OpenFic 内置了许多 Skill，这些 Skill 大多基于 [oh-story-claudecode](https://github.com/zenstory-ai/oh-story-claudecode) 修改适配而来。

考虑到内置的 Skill 往往是针对特定场景而设计的且并不足够通用，也很难组合出某种完美的“最佳实践”，因此这些 Skill 都是默认关闭的，你需要进行一些配置并按需启用。

<Steps>
  <Step title="进入 Skill 面板">
    于左侧边栏底部打开`设置`面板，此处显示了所有可配置项。

    在左侧列表中找到`技能`后点击进入。
  </Step>

  <Step title="启用 Skill">
    在 Skill 列表中，找到你所需要使用的 Skill 并将开关调整为启用状态，所有的内置 Skill 默认均处于启用状态。

    在列表中，Skill 名称旁的数字代表着该 Skill 被多少个智能体（下称 Agent）所使用，默认情况下均为0。

    在选用 Skill 时，建议对 Skill 的内容做基本的了解，以免在 Agent 遵照 Skill 完成任务时出现与预期不符的行为。
  </Step>

  <Step title="装载 Skill">
    在上一步，我们已经启用了所需的 Skill，但是 Agent 仍然无法读取和使用它们，为此，你需要为不同的 Agent 装载 Skill。

    于左侧边栏底部打开`设置`面板，此处显示了所有可配置项。

    在左侧列表中找到`智能体`后点击进入。

    在这里列出了所有 Agent 的信息，包括内置和自定义的，此处不再赘述，要了解更多配置 Agent 的相关内容，请查阅 [智能体](/docs/feature/agent)。

    选定一个需要为其装载 Skill 的 Agent，在右侧详细面板中，可以找到`技能`一栏。

    默认情况下，此处没有勾选任何 Skill，这也就意味着 Agent 无法看到并自主调用任何 Skill。

    现在，你可以根据需要勾选对应的 Skill，然后滚动到最底部点击`保存`。

    同样的，对所要用到的所有 Agent 按需装配各自使用的 Skill 即可。
  </Step>
</Steps>

## 了解 Skill

内置的 Skill 往往不适合所有人，将自己的工作流内化为 Skill 以便后续复用是更推荐的使用方法。

在此之前，你应该先了解 Skill 组成的基本概念。

与标准的 [Agent Skills](https://agentskills.io/specification) 不同，OpenFic 中所使用的 Skill 是精简格式，这是因为 Agent 无法使用终端，因此脚本对于 Skill 而言是无意义的，对于导入 Skill 包的参考格式如下：

```lines theme={null}
skill-name/
├── SKILL.md          # 必须: 元数据 + 指令
└── references/       # 可选: 参考文档
```

在 OpenFic 中，Skill 由以下几个部分构成：

* **名称**：Skill 的名称，是用于标识的唯一元素
* **简述**：描述 Skill 的作用，以及应该何时使用它
* **内容**：具体、详尽的指令，告知 Agent 如何有效、正确的完成特定任务
* **参考文档**：作为内容的补充

为了避免一次性暴露过多内容给 Agent，渐进式披露是必要的，这样的方式允许 Agent 能够逐步的根据需要掌握 Skill，并只在需要时才读取更多细节。

为此，你应该只在`内容`中存放最核心的指令，当 Agent 激活一个 Skill 时，会首先看到它们。

而对于详细的参考文档，分为不同的部分提供是更好的选择，只需要在`内容`中提醒 Agent 应何时参考即可。

在 Agent 激活 Skill 时，它也能够看到该 Skill 下所有的参考文档，并自由选择是否要读取它们。

而在设计 Skill 时，也应该充分利用渐进式披露的特性，以避免一次性注入过长内容带来上下文负担。

## 创建 Skill

在 Skill 列表上方，点击`新建技能`按钮，将会在列表底部追加并打开一个空 Skill，它目前没有填写任何内容。

不完整的 Skill 无法被启用和装载，其状态将会以`待完善`标签在列表项上加以标识，你需要完整填写除参考文档以外的全部内容之后，Skill 才会转为可用。

如果你想要基于现有的 Skill（无论是否为内置 Skill）进行修改，你可以右键列表项或是点击菜单按钮，在呼出的菜单中找到`复制`。

这会创建一个与`原 Skill`内容完全一致的`原 Skill - Fork`，以便于你在不影响现有 Skill的前提下修改它们。

## 导入 Skill

在 Skill 列表上方，点击`导入技能`按钮，将会打开导入面板，你可以拖入或点击打开文件选择器以上传文件。

对于导入 Skill，目前仅支持 .md 和 .zip 两种文件格式。

上面已经提到，OpenFic 中所使用的 Skill 是精简格式，这意味着那些包含脚本等额外文件的 Skill 包无法被完全识别。

### .md 格式

对于单文件 Markdown，导入时不要求其文件名符合规范，也不限制其必须包含 Frontmatter 部分的元数据。

当导入一个不包含元数据的 Markdown 文档时，文件名将会作为`名称`，而整个文档将作为`内容`被导入。

这意味着在这种情形下，你仍需要手动完善`简述`部分以使 Skill 转为可用。

如果该 Markdown 采用了标准的 SKILL.md 格式，那么通常能够正确识别 Frontmatter 部分，并将其转换为不同部分正确导入。

### .zip 格式

对于压缩包格式，通常应确保其采用了标准 Skill 包格式：

```lines theme={null}
skill-name/
├── SKILL.md          # 必须: 元数据 + 指令
└── references/       # 可选: 参考文档
```

与单文件 Markdown 类似，SKILL.md 要求符合标准格式，包括包含 Frontmatter 部分的元数据。

其中，references 下的所有 Markdown 文档将会以参考文档的形式被导入。

如果压缩包内包含了任何非 .md 格式的文件，那么它们都不会被识别；因此对于非 .md 格式的文档文件，需要手动创建并写入参考文档中。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.