Skip to content

Skills

简介

Skills 是 CNB 为 NPC(AI 助手)提供的一套标准化能力集,基于 OpenAPI 构建,使 NPC 能够与云原生构建平台完整交互。

简单来说,Skills 就像是 NPC 的"技能包"——每个 Skill 封装了特定领域的知识和操作指令,NPC 根据当前任务自动加载匹配的 Skill,获得对应的专业能力。

Skills 能力

官方 Skills 仓库为 cnb/skills,包含以下核心能力:

代码托管:

  • 仓库管理(查看、创建、搜索)
  • Issue 操作(创建、评论、关闭、标签管理)
  • PR 操作(创建、评审、合并、状态查询)
  • Git 操作(分支管理、标签、Release)
  • 代码评审(自动审查、行级评论)

构建与部署:

  • 流水线配置与触发
  • 构建日志查询
  • 构建状态检查

平台交互:

  • 组织与成员管理
  • 用户信息查询
  • 制品库操作
  • 搜索与动态

更完整的 API 能力,请参考 OpenAPI 文档。

使用场景

场景一:NPC 自动处理 Issue

用户在 Issue 中 @ NPC 后,NPC 自动加载对应 Skills 来完成任务。例如:

@CodeBuddy 帮我看看这个 Issue 是否可以关闭

NPC 会加载 Issue 相关的 Skill,查询 Issue 状态并给出回复。

场景二:NPC 自动评审代码

用户在 PR 中 @ NPC 请求代码评审时,NPC 加载代码评审相关 Skill:

@CodeBuddy 帮我 review 一下这个 PR

安装与配置

安装 Skills

在 NPC 运行时镜像中安装 Skills,示例 Dockerfile 如下:

dockerfile
FROM node:22-bookworm-slim

RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates git git-lfs curl jq ripgrep \
&& rm -rf /var/lib/apt/lists/* \
&& git lfs install \
&& npm install -g @cnbcool/cnb-cli skills \
&& npx skills add https://cnb.cool/cnb/skills/cnb-skill.git -g -y

自定义 Skill

你可以在项目的 .codebuddy/skills/ 目录下创建自定义 Skill,每个 Skill 是一个包含 SKILL.md 的目录:

.codebuddy/skills/
  my-skill/
    SKILL.md # Skill 定义文件,描述能力和使用方式

NPC 会自动识别并加载项目中的自定义 Skills。

相关文档

  • NPC 事件 — 了解 NPC 的概念、事件类型及配置方式
  • NPC 配置 — 了解如何在仓库中定义 NPC 角色
  • OpenAPI — 查看 CNB 平台完整的 API 文档