Getting Started
Install
The plugin is skilltap's primary distribution surface. Add the marketplace, then install or enable the plugin in the harness you already use:
# Claude Code
claude plugin marketplace add nklisch/skilltap --scope user
claude plugin install skilltap@skilltap --scope user
# Codex (marketplace registration)
codex plugin marketplace add nklisch/skilltap
codex plugin add skilltap@skilltapBoth harnesses install the plugin natively after registration. Older Codex builds without plugin add can install or enable it through /plugins.
Install the standalone binary
After marketplace setup, use the online installer when you want the binary directly or need to set up a harness without its plugin flow:
# macOS or Linux
curl -fsSL https://skilltap.dev/install.sh | sh
# Or Homebrew
brew install nklisch/skilltap/skilltapThe installer verifies the release checksum, installs the user-level binary, and invokes skilltap bootstrap to detect Claude Code and Codex independently. Harness absence or an unsupported native lifecycle is reported as attention; the verified binary remains available. The executable is the authoritative command discovery surface:
skilltap bootstrap --helpVerify the binary:
skilltap --versionUse skilltap through your agent
The easiest human workflow is to describe the result you want. Your Codex or Claude agent can inspect the CLI, plan the work, and use skilltap on your behalf. Try prompts such as:
Use skilltap to check whether this computer's enabled harness environments are healthy, and distinguish verified from effective-unverified state.
Use skilltap to adopt my existing Claude configuration and show what would change before syncing it to Codex.
Use skilltap to sync my global plugins, skills, and shared instructions. Explain any drift or incompatibility and ask before accepting a partial result.
Use skilltap to install
formatter@example-pluginsfor this project in every selected target that can represent it safely.
Agents should use skilltap --help and leaf-command help for exact syntax, start with status or plan when appropriate, and bring judgment calls back to you. You can still run every command directly; there is no separate agent mode.
Inspect before configuring
status works before skilltap configuration exists and does not mutate the machine:
skilltap statusWhen config.toml is absent, no harness is considered enabled. status may report installed or file-only observe-only targets, but it does not infer management policy, create the skilltap configuration directory, or write any harness file.
Enable native harnesses
Enable only the harnesses you want skilltap to manage:
skilltap harness list
skilltap harness enable codex
skilltap harness enable claude
# Other registered ids appear in `harness list` with their exact support tier.Enabling an adapter records policy. It does not adopt or modify native configuration.
Adopt and synchronize
Adopt global resources from enabled harnesses, inspect the proposed changes, then apply them:
skilltap adopt
skilltap plan
skilltap syncAdoption changes skilltap inventory only. Synchronization performs the planned native operations and verifies the result by observing the harnesses again.
For a project, add --project; to name another location, pass a path:
skilltap status --project
skilltap adopt --project ~/src/example
skilltap plan --project ~/src/exampleBare scoped commands operate globally. --target <registered-id> or --target all independently selects the harnesses involved. Registration and enablement do not imply mutation support; plans report component- and scope-specific authority for the installed version.
Each resource has a stable logical ID and one concrete global or project scope. Together they form its exact resource key. Equal logical IDs in global scope and different projects are separate managed instances.
Next, see Managing Environments and Shared Instructions.