OpenChamber 主题系统技能
在修改 OpenChamber UI 时,强制使用语义化主题令牌、共享按钮/图标契约与键盘导航规范,避免硬编码颜色和重复实现。
该技能为纯编码约定指南,不含网络请求、凭据访问或破坏性默认行为;仅要求运行 type-check/lint/build 等本地脚本,权限面小,数据流透明。扣分点:引入的 convert/harmonize 脚本未附源码审查,发布者身份未经验证,无明确回滚说明,故不给满分。
指令内部自洽:token 决策、Button/Icon/键盘/动画契约与引用文件相互呼应,并提供验证命令(type-check、lint、build、profile:animation)。静态审查上限为 10:引用的 scripts/generate-icon-sprite.mjs、docs/CUSTOM_THEMES.md 等关键文件未随证据提供,异常输入的失败反馈质量无法核实。
frontmatter 触发描述精确(创建/修改 UI 组件、颜色、按钮、图标时使用),按任务加载引用表清晰,边界(如 chrome-less 例外、performance-engineering 分工)明确。扣分点:面向仓库内部开发者,对一般用户的适用范围窄,未声明中文支持与环境可达性说明。
分层结构良好(SKILL.md + 按任务引用文件),含关键文件清单、命名规则、错误模式示例、生成器工作流。扣分点:技能本身无版本/变更记录,维护责任与更新路径依赖仓库整体而非技能声明,部分引用文档(CUSTOM_THEMES.md)未随附。
作为仓库内约定技能,边际价值明确(统一主题 token、图标、键盘契约),完成标准可检查。静态上限 7:无实际执行证据证明遵循指引能直接产出可用代码,代表性输出未验证。
声明均可追溯到具体文件路径与命令,仓库含测试脚本与 type-check/lint 流水线,但未提供覆盖该技能关键路径(主题/图标生成)的第三方执行证据,仅 4 分。
- 静态审查,未执行任何命令;所有结论仅基于源码阅读,置信度低。
- 技能高度耦合 OpenChamber 仓库结构(packages/ui 路径、bun 脚本),脱离该仓库不可用。
- 引用的 docs/CUSTOM_THEMES.md、scripts/*.mjs 未随证据提供,使用前应自行核对其内容。
- 发布者身份未经 FollowSkills 注册表验证,不构成负面证据但归属未确认。
- 未声明中文支持;未评估中国大陆网络环境下依赖(如 opencode.ai、GitHub)的可达性。
这个 Skill 能做什么,适合哪些场景?
theme-system 是 OpenChamber 仓库(openchamber/openchamber,MIT 许可)18 个技能中的一个,位于 .agents/skills/theme-system/。它约束 AI 在创建或修改 OpenChamber UI 组件、颜色、按钮、主题和图标时的行为:必须使用语义化令牌而非硬编码 hex 或通用 Tailwind 色板颜色,必须复用共享 Button、Icon 和 dropdownTriggerVariants。技能还包含动画契约(只动 transform 和 opacity)与键盘导航契约(菜单需同时支持方向键和 Ctrl+N/P)。按任务类型加载 references/ 下的令牌、图标或主题添加参考文档。
定义 OpenChamber UI 开发规范:按 6 级令牌决策树(syntax.*、status.*、primary.*、interactive.*、surface.* 等)选择颜色;规定 Button 的 7 种 variant 和 5 种 size 的适用场景;要求通过 sprite 生成的 Icon 组件(引入新图标名时运行 bun run icons:generate,不手动编辑 sprite.ts);约束动画只使用 transform/opacity 并可用 bun run profile:animation 测量;要求菜单选择器同时支持 ArrowDown/ArrowUp 与 Ctrl+N/Ctrl+P 并复用共享导航逻辑。按任务加载 references/tokens-and-examples.md、references/icons.md 或 references/adding-themes.md。
- 为 OpenChamber 前端贡献代码的开发者,需要新增或修改组件配色时,避免引入非语义化的硬编码颜色
- 向 OpenChamber 添加新图标或自定义主题的贡献者,需要遵循 sprite 生成流程和主题添加流程
- 重构 OpenChamber 中已有按钮或下拉选择器的开发者,需要用共享 variant/size 替换临时样式
- 实现或检查菜单/自动补全组件的工程师,需确保方向键与 Ctrl+N/P 键盘导航并存且不破坏 IME 输入
- 审查 UI PR 的维护者,可用技能中的完成标准清单逐项验证令牌、按钮、图标和动画合规性
这个 Skill 有哪些优点和局限?
- 规则非常具体可执行:令牌决策树、按钮 variant/size 表、图标工作流都直接给出代码路径和命令
- 覆盖了常被忽略的细节:IME 输入保护、disabled 项跳过、合成层动画成本、高对比度和长文本可读性
- 内置完成标准清单,便于代理自检和 PR 审查
- 依赖特定的共享组件契约(Button、Icon、dropdownTriggerVariants),能有效防止重复造轮子
- 强绑定 OpenChamber 代码库:引用 packages/ui 的具体路径、bun 命令和 locale-ui-patterns/settings-ui-patterns/performance-engineering 等兄弟技能,脱离该仓库几乎没有价值
- 不是通用设计系统教学材料,只对贡献 OpenChamber UI 的人有意义
- SKILL.md 本身未包含自动化测试证据,合规性依赖类型检查和视觉/运行时验证流程(具体脚本未在源文完整展示)
如何安装这个 Skill?
克隆 openchamber/openchamber 仓库后,技能已位于 .agents/skills/theme-system/。对于遵循 Agent Skills 标准的客户端,将该技能目录(SKILL.md 及 references/)放入对应技能目录即可。仓库未单独说明此子技能的安装命令;整个 OpenChamber 应用本身的安装方式为 GitHub Releases 下载桌面版、VS Code Marketplace 安装扩展,或 Node.js 22+ 下 curl -fsSL https://raw.githubusercontent.com/openchamber/openchamber/main/scripts/install.sh | bash。
如何使用这个 Skill?
当 AI 任务涉及创建或修改 OpenChamber UI 组件、样式、颜色、按钮、视觉状态、主题或图标时自动触发(依据 frontmatter 的 description)。典型用法:让代理'给 X 组件添加 hover 状态'或'新增一个主题',技能会指示其先加载对应 references 文档,再按令牌决策、Button 契约、图标契约和动画契约执行。涉及图标的改动需运行 bun run icons:generate。