ohui-skills
集中管理可供 Codex、Claude Code 和 OpenCode 复用的 skills、rules 与薄适配层, 再按项目选择性安装。默认安装方式是相对软链接:修改中央仓库一次,所有已链接 项目立即生效。
全部能力的用途、输入输出和使用方式见
docs/skills-catalog.md。
设计边界
三类宿主当前能共享的是 SKILL.md 的主体内容,但发现目录、项目指令文件、
commands、hooks、权限和工具名并不完全一致。因此本仓库分为三层:
ohui-skills/
├── skills/ # 宿主中立 skill 的公共入口
├── rules/ # 宿主中立的横切规则
├── profiles/ # 项目所需能力集合
├── adapters/
│ ├── common/AGENTS.md # 共享项目约定与 rules 路由
│ ├── codex/
│ ├── claude/
│ └── opencode/
├── commands/ # command 的跨宿主迁移约定
└── bin/ohui-skills # 安装器入口
skills 和 rules 是仓库内的真实物理目录,也是安装器使用的稳定公共入口。
仓库内部不使用软链接;软链接仅用于把选定能力安装到目标项目。
可以共享
- 符合 Agent Skills 风格的
skills/<name>/SKILL.md - skill 自带的
scripts/、references/、assets/ - 用自然语言描述、没有宿主专有工具名的 rules
- 项目级通用协作约定
应保留为适配层
- Codex/Claude/OpenCode 的权限、模型、MCP 和本机配置
- hooks 与 settings
- slash commands 的参数语法和调用入口
- 仅某个宿主支持的子代理或工具编排
可复用 command 应先沉淀为 skill;各宿主 command 只负责收参并转调该 skill。
安装
查看可用内容:
ohui-skills/bin/ohui-skills list
向一个项目安装全部能力:
ohui-skills/bin/ohui-skills install \
--project /path/to/project \
--profile all
只安装 openHiTLS 相关能力:
ohui-skills/bin/ohui-skills install \
--project /path/to/project \
--profile openhitls
也可单独选择,或在 profile 基础上追加:
ohui-skills/bin/ohui-skills install \
--project /path/to/project \
--skill rfc-analyse \
--hosts codex,opencode
默认宿主为 codex,claude,opencode。安装结果如下:
project/
├── .agents/skills/<name> # Codex + OpenCode
├── .claude/skills/<name> # Claude Code
├── .claude/rules/<rule>.md # Claude Code 原生规则入口
├── .ohui-skills/rules/<rule>.md # AGENTS.md 路由的共享规则
├── AGENTS.md
├── CLAUDE.md -> AGENTS.md
└── .ohui-skills.lock.json
OpenCode 同时扫描 .agents/skills 与 .claude/skills。三种宿主都启用时,它的
DEBUG 日志可能报告同名 skill,随后会按名称去重;两个入口均指向同一中央源,
不会产生内容副本。不需要 Claude 的项目可用 --hosts codex,opencode 避免该提示。
安装器不会覆盖已有普通文件或指向其他位置的链接。可先加 --dry-run 预检。
再次安装会按新选择同步链接,并把实际选择、源 commit 和托管链接写入
.ohui-skills.lock.json。
维护与诊断
# 检查 skill frontmatter、profile 引用和项目链接
ohui-skills/bin/ohui-skills doctor --project /path/to/project
# 只移除锁文件登记且目标未漂移的链接
ohui-skills/bin/ohui-skills uninstall --project /path/to/project
维护中央 skill 时遵循以下原则:
skills和rules保持为真实目录,不在仓库内部引入软链接兼容层。name与目录名一致,使用小写字母、数字和连字符。description同时写清能力和触发场景。- 主体使用“读取文件”“执行命令”“向用户确认”等能力描述,不写死
AskUserQuestion、Read等宿主专有工具名。 - 大段背景资料放入
references/,SKILL.md保持为可执行流程。 - 先运行
doctor,再在临时项目安装并用目标宿主检查发现结果。
Profile
all:全部 skills 与 rulestest-design:需求解析、测试分析、用例设计与评审openhitls:openHiTLS 测试、测试证书与用例评审rfc-analysis:RFC 翻译与一致性分析
新增 profile 只需在 profiles/ 添加 JSON 文件;安装锁会记录解析后的明确列表,
所以后续 profile 内容变化可审计、可重新同步。