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 Skills unified installer for Codex, Claude Code, and OpenCode.
This package is designed to run through npx:
npx oh-skillhub@latest
npx oh-skillhub list
npx oh-skillhub install --domain arkui --agent codex
npx oh-skillhub install --domain arkui --agent all --scope user
npx oh-skillhub clean --agent claude --scope user --dry-runRunning without arguments starts a TUI selector. Choose the install target first (Codex, Claude, OpenCode, or All), then choose the skill groups to install.
In an interactive terminal:
- Use
Up/Downorj/kto move. - Press
Spaceto select or unselect a group. - Press
Enterto install selected groups.
When input is piped or the terminal does not support raw key input, enter numbers separated by spaces:
printf "1\n3 9\n" | npx oh-skillhub@latestCurrent Capabilities
- List bundled OpenHarmony skills by domain or stage.
- Resolve profile/domain selections such as
arkui,app-dev,cicd,testing, andsecurity. - Download the selected skill directories from the OpenHarmony skills
releasebranch and install the full skill contents. - Install skills into Codex, Claude Code, and OpenCode target directories.
- Support
--agent codex|claude|opencode|all. - Support interactive target selection for
Codex,Claude,OpenCode, andAll. - Support
--scope user|project. - Support
--dry-runinstall plans. - Scan installed skills and clean selected skills with
clean. - Move cleaned skills to
.oh-skillhub/trashby default, with--purgefor permanent deletion. - Run a TUI matching the
skills/common/*andskills/domain/*repository layout. - Keep anonymous telemetry events in a local retry queue.
The installer uses sparse Git checkout so it downloads only the selected skill directories instead of the whole repository.
Commands
oh-skillhub list [--domain <name>] [--stage <name>]
oh-skillhub install [skill...] [--domain <name>] [--preset <name>] [--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 statusAgent Targets
| Agent | User scope | Project scope |
|---|---|---|
| Codex | $CODEX_HOME/skills, otherwise ~/.codex/skills |
<cwd>/.codex/skills |
| Claude Code | ~/.claude/skills |
<cwd>/.claude/skills |
| OpenCode | ~/.config/opencode/skill |
<cwd>/.opencode/skill |
Examples:
npx oh-skillhub install --domain arkui --agent claude --scope user
npx oh-skillhub install --preset app-dev --agent opencode --scope project
npx oh-skillhub install --domain security --agent all --dry-run
npx oh-skillhub clean --agent claude --scope user --dry-run
npx oh-skillhub clean --agent claude --scope user ohos-test-capi-xts-generationTelemetry
The CLI can enqueue anonymous installation events so a collector service can aggregate:
- installs per skill
- installs per domain
- installs per profile
- installs per target agent
The current implementation writes only to a local queue:
~/.cache/oh-skillhub/telemetry-queue.jsonlTelemetry does not include usernames, email addresses, local target paths, repository contents, or skill contents.
Disable event creation for a command:
npx oh-skillhub install --domain arkui --no-telemetryInspect status:
npx oh-skillhub telemetry statusDevelopment
Run tests:
npm testRun the local CLI:
node bin/oh-skillhub.js list --domain arkui
node bin/oh-skillhub.js install --domain arkui --agent all --scope user --dry-runFirst-Version Limits
- Uses a bundled manifest derived from the GitCode
releasebranch examples. - Does not yet refresh the remote GitCode manifest at runtime.
- Writes a generated
SKILL.mdfrom manifest metadata instead of downloading full remote skill directories. - Telemetry collector upload is designed but not yet wired; events are queued locally.