JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 221
  • Score
    100M100P100Q108720F
  • License MIT

OpenHarmony Skills installer for Codex, Claude Code, and OpenCode.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (oh-skillhub) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    oh-skillhub

    OpenHarmony skill 统一安装工具。通过 npx 一次性为 Codex、Claude Code、OpenCode 安装、更新和清理 OpenHarmony skill,并默认上报匿名安装统计,方便在看板中观察各类 skill 的使用情况。

    npx oh-skillhub@latest

    npx 会临时拉取并运行 npm 包,不需要提前全局安装 oh-skillhub

    不带参数运行时会进入交互式 TUI。你可以选择安装 skill、清理已安装 skill,随后选择目标 Agent 和具体领域。

    适用场景

    • 想把 OpenHarmony skill 快速安装到 Codex、Claude Code 或 OpenCode。
    • 想按领域安装,例如 arkuisecuritytestingcicd
    • 想一键安装 skills/common 下的全部通用 skill。
    • 想清理某个 Agent 里已经安装过的 skill。
    • 想统计每个 skill、每个领域、每个 Agent 的安装次数。

    快速开始

    交互式安装:

    npx oh-skillhub@latest

    一行命令安装全部 common skill:

    npx oh-skillhub@latest install --all-common --agent codex --scope user

    给所有 Agent 安装 ArkUI 相关 skill:

    npx oh-skillhub@latest install --domain arkui --agent all --scope user

    安装单个 skill:

    npx oh-skillhub@latest install ohos-dev-cpp-coding-style --agent codex

    查看已安装 skill 并试运行清理:

    npx oh-skillhub@latest clean --agent claude --scope user --dry-run

    交互式 TUI

    运行 npx oh-skillhub@latest 后会先选择操作:

    • Install skills:安装 skill。
    • Clean installed skills:扫描并清理已安装 skill。

    安装流程:

    1. 选择目标:CodexClaudeOpenCodeAll
    2. 选择 skill 分组,例如 common / allcommon / testingdomain / arkui
    3. Enter 确认安装。

    快捷键:

    • Up / Downj / k:移动光标。
    • Space:选择或取消选择。
    • Enter:确认当前页面。
    • Ctrl+C:退出。

    如果终端不支持交互式按键,也可以用数字输入:

    printf "1\n1\n1\n" | npx oh-skillhub@latest

    常用命令

    oh-skillhub list [--domain <name>] [--stage <name>]
    oh-skillhub install [skill...] [--name <skill>] [--domain <name>] [--preset <name>] [--all-common] [--agent codex|claude|opencode|all]
    oh-skillhub clean [skill...] [--agent codex|claude|opencode|all] [--scope user|project] [--dry-run] [--purge]
    oh-skillhub doctor [--agent codex|claude|opencode|all]
    oh-skillhub telemetry status

    查看 skill

    npx oh-skillhub@latest list
    npx oh-skillhub@latest list --domain arkui
    npx oh-skillhub@latest list --stage testing

    按领域安装

    npx oh-skillhub@latest install --domain arkui --agent codex
    npx oh-skillhub@latest install --domain security --agent all --scope user

    按预设安装

    当前内置预设:

    Preset 说明
    baseline 常用 OpenHarmony 开发基础 skill
    arkui ArkUI 开发与代码审查
    app-dev ArkTS、NAPI、HDC 等应用开发场景
    cicd CI/CD 与 GitCode 工作流
    testing XTS、fuzz 等测试生成
    security 安全开发与安全审查

    示例:

    npx oh-skillhub@latest install --preset app-dev --agent opencode --scope project

    一键安装 common

    交互式 TUI 中选择 common / all,或直接运行:

    npx oh-skillhub@latest install --all-common --agent codex --scope user
    npx oh-skillhub@latest install --all-common --agent all --scope user

    试运行

    --dry-run 只展示计划,不会写入文件:

    npx oh-skillhub@latest install --domain arkui --agent all --dry-run
    npx oh-skillhub@latest clean --agent claude --scope user --dry-run

    Agent 安装目录

    Agent User scope Project scope
    Codex $CODEX_HOME/skills,未设置时为 ~/.codex/skills <cwd>/.codex/skills
    Claude Code ~/.claude/skills <cwd>/.claude/skills
    OpenCode ~/.config/opencode/skill <cwd>/.opencode/skill

    --agent all 会同时安装到 Codex、Claude Code 和 OpenCode。

    清理 skill

    扫描并交互式清理:

    npx oh-skillhub@latest clean --agent claude --scope user

    清理指定 skill:

    npx oh-skillhub@latest clean --agent claude --scope user ohos-test-capi-xts-generation

    默认清理方式是移动到 .oh-skillhub/trash,便于恢复。需要永久删除时使用:

    npx oh-skillhub@latest clean --agent claude --scope user --purge

    skill 来源与下载方式

    默认 skill 仓库:

    https://gitcode.com/openharmonyinsight/openharmony-skills/tree/release

    工具会从 release 分支读取最新目录结构,并按需下载被选中的完整 skill 目录,而不是只生成一个 SKILL.md 占位文件。运行时优先使用远端最新目录;如果网络或 GitCode 访问失败,会回退到本地缓存和 npm 包内置清单。

    要求:

    • Node.js 18+
    • 本机可运行 npx
    • 建议安装 git,用于刷新远端 skill 目录和按需下载

    安装统计

    oh-skillhub 默认会上传匿名安装事件到统计服务,用于统计:

    • 每个 skill 的安装次数
    • 每个领域和阶段的安装次数
    • Codex、Claude Code、OpenCode 的安装分布
    • 最近安装事件

    默认上报地址:

    http://120.46.221.227/api/oh-skillhub/events

    查看统计看板:

    http://120.46.221.227/dashboard

    看板标题为 OH SkillHub skill安装看板,支持按时间、Agent、领域、skill 名称筛选。

    查看 telemetry 状态:

    npx oh-skillhub@latest telemetry status

    如果上传失败,事件会进入本地队列,后续命令会继续尝试上报:

    ~/.cache/oh-skillhub/telemetry-queue.jsonl

    禁用单次命令上报:

    npx oh-skillhub@latest install --domain arkui --no-telemetry

    禁用当前 shell 的所有上报:

    OH_SKILLHUB_NO_TELEMETRY=1 npx oh-skillhub@latest

    PowerShell:

    $env:OH_SKILLHUB_NO_TELEMETRY="1"
    npx oh-skillhub@latest

    隐私说明

    Telemetry 只记录匿名安装统计,不包含:

    • 用户名
    • 邮箱
    • 本地安装路径
    • 本地仓库内容
    • skill 文件内容
    • 业务代码内容

    匿名客户端 ID 保存在本机缓存目录中,仅用于估算独立客户端数量。

    私有 collector

    如果需要接入自己的统计服务,可以覆盖上报地址:

    Bash:

    OH_SKILLHUB_TELEMETRY_URL=https://skillhub.example.com/api/oh-skillhub/events \
    npx oh-skillhub@latest

    PowerShell:

    $env:OH_SKILLHUB_TELEMETRY_URL="https://skillhub.example.com/api/oh-skillhub/events"
    npx oh-skillhub@latest

    仓库内的 collector/ 是统计服务端实现,不会随 npm 包发布。部署说明见 collector/README.md

    开发

    运行测试:

    npm test
    npm test --prefix collector

    本地运行 CLI:

    node bin/oh-skillhub.js list --domain arkui
    node bin/oh-skillhub.js install --domain arkui --agent all --scope user --dry-run

    本地运行 collector:

    cd collector
    npm install
    npm test
    npm start

    故障排查

    确认 Agent 目录:

    npx oh-skillhub@latest doctor --agent all

    安装前先看计划:

    npx oh-skillhub@latest install --domain arkui --agent all --dry-run

    网络或 GitCode 访问失败时:

    • 确认本机能访问 GitCode。
    • 确认 git 在 PATH 中。
    • 重新运行命令,工具会复用本地缓存。

    如果清理前不确定会删除什么,先使用 --dry-run