文件最后提交记录最后更新时间
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 天前
README.md

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
  • datamockdatapram 9p 挂载和 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.jsonusageCSR 的属性(含顶层 propertiesinterfaces.*.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 扩展 / 同步脚本) 搜索、分类、展示、安装管理

贡献新技能

  1. skills/ 下创建新目录(kebab-case 命名)
  2. 添加 SKILL.md(按上述 Anthropic 标准格式)和 skill.json(元数据配置)
  3. 从根目录运行 npm run sync:skills 同步到安装器
  4. 提交 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