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 an action first (Install skills or Clean installed skills). Install then asks for the target (Codex, Claude, OpenCode, or All) and skill groups. Clean asks for the target and installed skills to remove.
In an interactive terminal:
- Use
Up/Downorj/kto move. - Press
Spaceto select or unselect items. - Press
Enterto confirm the current action.
When input is piped or the terminal does not support raw key input, enter numbers separated by spaces:
printf "1\n1\n3 9\n" | npx oh-skillhub@latest
printf "2\n2\n1\n\n" | npx oh-skillhub@latestThe old piped installer format is still accepted:
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. - Show clean as a first-class option in the default TUI.
- 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.
- Downloads and installs full skill directories for manifest entries, but does not yet support arbitrary remote skill discovery outside the bundled manifest.
- Telemetry collector upload is designed but not yet wired; events are queued locally.