| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 11 天前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 12 天前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 20 天前 | ||
| 26 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 14 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 25 天前 | ||
| 14 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 24 天前 | ||
| 22 天前 | ||
| 19 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 13 天前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 22 天前 |
OpenUBMC Skills 技能库
本目录包含为 OpenUBMC 开发定制的 AI 技能,可通过 TUI 安装器或 VSCode 扩展一键安装到 AI 编码工具中使用。
技能结构遵循 Anthropic Agent Skills 开放标准,同时保留工具链所需的 skill.json 元数据。
目录结构
skills/
├── lua-component/ # Lua 微组件开发技能
│ ├── SKILL.md # 技能知识文档(AI 工具直接消费)
│ └── skill.json # 技能元数据(工具链消费)
├── mdb-interface-dev/ # MDB 接口开发技能
│ ├── SKILL.md
│ └── skill.json
├── interface-mapping/ # 接口映射配置技能
│ ├── SKILL.md
│ └── skill.json
├── testing/ # DT 测试技能
│ ├── SKILL.md
│ └── skill.json
├── debugging/ # 系统调试技能
│ ├── SKILL.md
│ └── skill.json
├── qemu-testing/ # QEMU 仿真测试技能
│ ├── SKILL.md
│ └── skill.json
├── openubmc-qemu-arm-kvm/ # ARM KVM QEMU 技能
│ ├── SKILL.md
│ ├── skill.json
│ ├── scripts/
│ ├── references/
│ └── evals/
├── openubmc-qemu-resource-tree-debug/ # QEMU 资源树调试技能
│ ├── SKILL.md
│ └── skill.json
├── csr-conf-dict-from-mds/ # 从 MDS model.json 生成 CSR 配置字典文档
│ ├── SKILL.md
│ ├── skill.json
│ ├── component-sig-mapping.json
│ ├── templates/ # STRUCTURE + 主干/片段模板
│ └── examples/
├── code-inspection/ # 代码排查技能
│ ├── SKILL.md
│ ├── skill.json
│ ├── README.md
│ ├── inspection-rule-author/ # 子技能:规则编写
│ │ ├── SKILL.md
│ │ ├── skill.json
│ │ ├── evals/
│ │ └── references/
│ ├── rules/ # 规则清单目录
│ └── templates/ # 报告模板目录
├── flaticon-downloader/ # Flaticon 图标下载
│ ├── SKILL.md
│ ├── scripts/
│ └── skill.json
├── forum-dx-advisor/ # 论坛 DX 文档建议生成技能
│ ├── SKILL.md
│ └── skill.json
├── forum-dx-classifier/ # 论坛 DX 分类分析技能
│ ├── SKILL.md
│ └── skill.json
├── gitcode/ # GitCode 平台操作技能
│ ├── SKILL.md
│ └── skill.json
├── gitcode-rackmount-pr-review/ # GitCode PR 审查技能
│ ├── SKILL.md
│ └── scripts/
├── hpm-build/ # HPM 构建技能
│ ├── SKILL.md
│ ├── references/
│ ├── scripts/
│ └── skill.json
├── html-slides-to-pdf/ # HTML 幻灯片转 PDF
│ ├── SKILL.md
│ └── skill.json
├── interface-mapping/ # 接口映射配置技能
│ ├── SKILL.md
│ └── skill.json
├── lua-component/ # Lua 微组件开发技能
│ ├── SKILL.md
│ └── skill.json
├── mdb-interface-dev/ # MDB 接口开发技能
│ ├── SKILL.md
│ └── skill.json
├── openubmc-bingo-build/ # Bingo 构建技能
│ ├── SKILL.md
│ ├── references/
│ └── skill.json
├── openubmc-bingo-development/ # Bingo 开发技能
│ ├── SKILL.md
│ ├── references/
│ └── skill.json
├── openubmc-community-contribution/ # 社区贡献技能
│ ├── SKILL.md
│ └── skill.json
├── openubmc-environment-setup/ # 环境搭建技能
│ ├── SKILL.md
│ └── skill.json
├── openubmc-gitcode-create-issue/ # GitCode 创建 Issue
│ ├── SKILL.md
│ ├── skill.json
│ └── templates/
├── openubmc-gitcode-create-pr/ # GitCode 创建 PR
│ ├── SKILL.md
│ ├── skill.json
│ └── templates/
├── openubmc-kptest-openframework/ # KPTestOpenFramework 自动化用例开发技能
│ ├── SKILL.md
│ ├── skill.json
│ ├── references/
│ └── evals/
├── openubmc-pr-monitor/ # PR 监控技能
│ ├── SKILL.md
│ └── skill.json
├── ppt-internal-reporting/ # PPT 汇报技能
│ ├── SKILL.md
│ ├── references/
│ └── skill.json
├── qemu-testing/ # QEMU 仿真测试技能
│ ├── SKILL.md
│ └── skill.json
├── openubmc-qemu-arm-kvm/ # ARM KVM QEMU 技能
│ ├── SKILL.md
│ ├── skill.json
│ ├── scripts/
│ ├── references/
│ └── evals/
├── skill-feedback/ # 技能反馈收集技能
│ ├── SKILL.md
│ ├── skill.json
│ ├── skill-report.sh
│ ├── skill-report.mjs
│ ├── skill-report.test.mjs
│ ├── create-issue.mjs
│ └── commands/
│ └── skill-report.md
├── software-center-config/ # 软件中心配置技能
│ ├── SKILL.md
│ └── skill.json
├── testing/ # DT 测试技能
│ ├── SKILL.md
│ └── skill.json
└── README.md # 本文件
每个技能可选地附带 evals/ 子目录(黄金用例与评估元信息),由 Skill Eval Flywheel 消费。详见 docs/skill-data-flywheel-design.md。
技能列表
1. Lua 组件开发技能 (lua-component)
用途: 创建和实现 OpenUBMC Lua 微组件
覆盖内容:
- MDS 微组件架构设计
- MDB Interface 定义与实现
- Bingo CLI 工具链使用
- Conan 包管理
- 组件生命周期管理
2. MDB 接口开发技能 (mdb-interface-dev)
用途: 开发 OpenUBMC 的 MDB/D-Bus 资源协作接口
覆盖内容:
- mdb_interface 接口定义(model.json / service.json / types.json)
- MDS 数据建模与对象层级设计
bingo gen代码自动生成- RPC 方法实现与回调注册
- 属性订阅与信号监听
- 跨组件通信与服务依赖管理
- IPMI 命令开发
3. 接口映射配置技能 (interface-mapping)
用途: 开发 OpenUBMC 北向接口映射配置(Redfish / Web-backend / CLI / SNMP)
覆盖内容:
- rackmount 仓库 mapping_config JSON 编写
- ProcessingFlow 资源协作接口映射(Property / Method / List / Task)
- ReqBody 请求体校验与 RspBody 响应体拼装
- Statements 数据处理(Switch / Convert / Script / Plugin 等)
- Redfish Schema 文件配置(4 个文件)
- CallIf 条件执行与 Foreach 循环调用
- ResourceExist Uri 有效性校验
- 数据引用语法(
${}、{{}}、#WITH/#WITHOUT)
4. 测试工具技能 (testing)
用途: 为 OpenUBMC 组件编写和执行测试
覆盖内容:
- DT 测试(UT、IT)
- LuaUnit 单元测试
- 集成测试场景
- 测试覆盖率
5. 调试工具技能 (debugging)
用途: 排查 OpenUBMC 系统问题
覆盖内容:
- Systemd 服务调试
- Skynet 框架调试
- MDB/D-Bus 接口调试
- ASAN 内存泄漏排查
- 日志分析
6. QEMU 仿真测试技能 (qemu-testing)
用途: QEMU 环境下的启动验证和冒烟测试
覆盖内容:
- QEMU 启动和配置
- 冒烟验证流程
- Skynet coredump 排查
7. openUBMC QEMU ARM KVM 技能 (openubmc-qemu-arm-kvm)
用途: 在 ARM 服务器上搭建 openUBMC QEMU ARM KVM 环境,验证 25.12 LTS QEMU runtime 和 hi1711 KVM 启动性能
覆盖内容:
- public manifest 原生 bingo 构建
openUBMC_qemu_default.data.gz - ARM 执行侧验证 openUBMC/qemu
qemu-system-aarch64的 KVM 与 hi1711 支持,必要时才源码编译 QEMU data、mockdata、pram9p 挂载和 hi1711 启动参数- Telnet/SSH/Web/Redfish/IPMI ready 时间探测
- KVM/TCG 启动性能对比和常见故障定位
- 不支持在缺少宿主
/dev/kvm的嵌套虚拟化环境中验证 ARM KVM
8. openUBMC QEMU 资源树调试技能 (openubmc-qemu-resource-tree-debug)
用途: 排查 openUBMC QEMU 中资源树对象存在但传感器读数、MDB Scanner/Chip/ThresholdSensor 或 Redfish Sensor 展示异常的问题
覆盖内容:
- SR/CSR、Connector/I2C topology、Chip.BlockIO、Scanner、ThresholdSensor、Redfish 的完整链路排查
- QEMU I2C bus、mux channel、7-bit/8-bit 地址转换和 mockdata 路径核对
- GPU、PCIe 卡、温度传感器等自发现对象的运行态读数验证
- Redfish Sensor collection 分页读取,避免只读第一页造成误判
- Conan package 到 manifest build 的 mockdata 真实链路验证
9. CSR 配置字典文档技能 (csr-conf-dict-from-mds)
用途: 根据组件 mds/model.json 类模型生成或更新 docs 仓库中 csr_conf_dict/object 系列说明文档
覆盖内容:
- 文档信息、变更历史、类概览、属性定义详表;版式由本 skill 内
templates/、examples/固定;所属 SIG 仅以component-sig-mapping.json为准;性能建议无内容则整节省略 - 属性详表仅包含
model.json中usage含CSR的属性(含顶层properties与interfaces.*.properties) - 以类名为唯一标识:
{ClassName}.md已存在则只更新,禁止重复文件与合并文档内重复类章节 - 输出路径由用户指定;未指定时从组件仓上级目录查找并列
docs仓库 - 组件名与 SIG 映射可扩展(
component-sig-mapping.json)
10. 代码排查技能 (code-inspection)
用途: 通用代码排查,支持基于规则清单的静态分析
核心功能:
- 规则清单驱动:支持 YAML 格式的自定义规则清单
- 多维度匹配:场景匹配(代码仓类型、开发语言)、数据筛选(文件名、关键词)、判定条件
- 灵活配置:支持 include/exclude 模式、正则表达式、关键词搜索
- 结构化报告:自动生成 Markdown 格式的排查报告
- 单 Agent 串行检查:按规则类别自动分组,串行执行每组检查并返回极简 JSON,最后汇总生成报告,避免上下文溢出
内置规则(80+ 条规则,覆盖 12 个类别):
| 类别 | 前缀 | 规则数 | 说明 |
|---|---|---|---|
| 命名规范 | NAM | 2 | 标识符命名规范、拼写检查 |
| 注释规范 | CMT | 1 | 注释缺失检查 |
| 表操作规范 | TBL | 9 | 弱引用表、表比较、表修改等 |
| 函数规范 | FUN | 3 | 函数参数、返回值检查 |
| 程序块检查 | CHK | 4 | 条件简化、循环优化等 |
| 多线程规范 | MTH | 1 | Skynet.fork 使用规范 |
| 数据库规范 | DBS | 1 | 数据库操作规范 |
| 异常处理 | AST | 3 | 异常捕获、错误处理 |
| 安全编码 | SEC | 26 | 注入缺陷、文件操作、外部输入、敏感信息、资源泄露等 |
| SR 配置 | SR | 1 | SR 配置检查 |
| 日志规范 | LOG | 19 | 日志级别、日志内容、日志格式、日志位置等 |
| 其他规范 | OTH | 10 | 其他编码规范 |
子技能:
- inspection-rule-author:用于编写和结构化生成 code-inspection 规则的子技能
- 创建新规则:按照规范生成完整的规则定义
- 完善现有规则:补充 keywords 等字段
- 生成规则模板:提供各类规则的模板示例
- 生成的规则默认保存到
.agent/rules/目录
规则结构:
- 规则编码:唯一标识符(类别码-数字编号)
- 场景匹配:代码仓类型、开发语言、文件模式
- 数据筛选:关键词、正则表达式、文件过滤器
- 判定条件:模式匹配、函数调用检查、属性检查
- 输出信息:问题消息模板、修复建议
11. 论坛 DX 分类分析技能 (forum-dx-classifier)
用途: 对 openUBMC 开发者论坛帖子进行 DX(Developer Experience)分类分析,基于 KEP+触点双维定位法将帖子归入结构化分类体系
核心能力:
- 四种内容类型判断(非问题 / 话题关注 / 易用性问题 / 待定)
- KEP 阶段识别(了解学习、安装部署、定制开发、构建、测试、维护、交流求助、生态贡献)
- 触点定位(文档、社区官网、开放能力、测试能力、构建能力、可定位性、响应、镜像、闭源、BMC Studio、Qemu 等 11 种触点)
- 五步决策树 + 6 条特殊判断规则
- 全量 34 个 L3 分类体系
- 文档建议触发条件判断
12. 论坛 DX 文档建议生成技能 (forum-dx-advisor)
用途: 基于 forum-dx-classifier 的分类结果,采用两步法自动生成 openUBMC 文档改进建议
核心能力:
- Step 1 定位文档:基于关键词打分 + LLM 判断,从 300+ 文档中定位目标文件
- Step 2 生成建议:根据目标文件全文生成精确的 Markdown 修改建议
- 三种修改类型:modify(修改)/ add_content(新增内容)/ new_file(新建文档)
- L3 约束自动匹配:根据分类结果限制允许的 change_type
- 已发布文档过滤:默认只向 AI 展示社区已发布的文档
13. KPTestOpenFramework 自动化用例技能 (openubmc-kptest-openframework)
用途: 基于 openUBMC/QA 公开仓指导 KPTestOpenFramework 自动化用例开发
覆盖内容:
- 文本测试用例转换为标准 KPTest Case
- CLI、Redfish、WebAPI、WebUI 场景脚本生成和 review
- 提交路径选择和公开/厂商目录边界说明
test_set_info.xml配置setup.py生成case.json/extension.zip以及 iTestSmart 导入流程
文件说明
SKILL.md — 技能知识文档
AI 编码工具(Cursor / Claude Code / OpenCode)直接读取并使用的文件。遵循 Anthropic Agent Skills 标准:
YAML 头部元数据(必需):
---
name: skill-name-in-kebab-case
description: 技能做什么。用户要求以下内容时使用: "触发短语1", "触发短语2". 不要用于 排除场景。
compatibility: 环境要求描述
metadata:
author: OpenUBMC Team
version: 1.0.0
tags: [关键词列表]
---
name(必需):kebab-case 格式,与目录名对应description(必需):必须同时包含 做什么 和 何时触发,这是 AI 工具决定是否加载 skill 的关键依据。需要包含字面量 "Use when" 触发短语和 "不要用于" 排除条件compatibility(可选):环境要求metadata(可选):author、version、tags 等自定义字段
正文结构:
| 章节 | 说明 |
|---|---|
# 标题 |
技能名称 |
## Instructions |
分步骤的操作指令,包含 Step 1/2/3... 和关键规则 |
## Examples |
场景驱动的完整示例 |
## Troubleshooting |
常见问题排查(原因 + 解决方案) |
## Related Skills |
关联技能 |
## References |
官方文档链接 |
skill.json — 技能元数据
供 TUI 安装器、VSCode 扩展等工具链消费的结构化元数据。格式示例:
{
"name": "skill-name",
"version": "1.0.0",
"description": "技能描述(简洁版,不含触发短语)",
"author": "OpenUBMC Team",
"license": "MIT",
"openubmc": {
"minVersion": "1.0.0",
"components": ["依赖组件"]
},
"dependencies": {
"工具名": "版本要求"
},
"files": ["SKILL.md", "skill.json"],
"keywords": ["关键词"],
"categories": ["分类"],
"usage": {
"prompts": ["触发短语"]
}
}
两份文件的分工
| 文件 | 消费者 | 用途 |
|---|---|---|
| SKILL.md | AI 编码工具(Cursor / Claude Code / OpenCode) | 技能知识本体,AI 读取后用于辅助编码 |
| skill.json | 工具链(TUI 安装器 / VSCode 扩展 / 同步脚本) | 搜索、分类、展示、安装管理 |
贡献新技能
- 在
skills/下创建新目录(kebab-case 命名) - 添加
SKILL.md(按上述 Anthropic 标准格式)和skill.json(元数据配置) - 从根目录运行
npm run sync:skills同步到安装器 - 提交 Pull Request
编写建议
- description 是关键:必须说明做什么以及何时触发,这决定了 AI 工具是否会自动加载该技能
- 具体而非通用: 针对 OpenUBMC 特性编写,使用官方术语和示例
- 示例驱动: 包含大量真实代码示例
- 场景导向: 按使用场景组织 Instructions 中的步骤
- 包含 Troubleshooting: 每个技能至少列出 3-4 个常见问题及解决方案
版本兼容性
| 技能 | OpenUBMC 最低版本 | 主要依赖 |
|---|---|---|
| lua-component | 1.0.0 | bingo-cli >= 1.0.0, conan >= 2.0.0 |
| mdb-interface-dev | 1.0.0 | bingo-cli >= 1.0.0, conan >= 2.0.0, mdb_interface >= 1.0.0, dbus >= 1.12 |
| interface-mapping | 1.0.0 | bingo-cli >= 1.0.0, mdb_interface >= 1.0.0, rackmount >= 1.0.0 |
| testing | 1.0.0 | bingo-cli >= 1.0.0, luaunit >= 3.4 |
| debugging | 1.0.0 | systemd >= 245, dbus >= 1.12 |
| qemu-testing | 1.0.0 | qemu >= 6.0.0 |
| openubmc-qemu-arm-kvm | 25.12 | 构建侧:x86 原生 bingo/Conan 构建 runtime;执行侧:ARM 物理宿主机 /dev/kvm、ARM 原生 QEMU 8.2.10、python3、ipmitool、tar/gzip/cpio;可选:ARM QEMU 源码编译依赖 |
| openubmc-qemu-resource-tree-debug | 1.0.0 | openUBMC QEMU、MDB/mdbctl、Redfish Sensor API、qemu_mockup/mockdata、Conan package 验证链路 |
| csr-conf-dict-from-mds | 1.0.0 | 组件 mds/model.json;内置 templates 拼装;可选并列 docs 仓库 |
| code-inspection | N/A | N/A(通用代码排查,无特定环境依赖);包含 inspection-rule-author 子技能用于规则编写 |
| openubmc-kptest-openframework | N/A | openUBMC/QA 公开文档;真实执行需用户提供 KPTestCase/KPTestLibrary wheel、license、testbed |