Repository navigation
volens 0.4.0 — the DSH install is one command, and the skill ships in the package
The DSH half used to be two installs. The plugin came from npm, and the skill had to be placed by hand — a symlink from a clone of this repository into a directory the harness scans. Both halves travel in one package now: dsh plugin --profile web add volens-dsh installs the plugin, registers its bundle, and hands the skill to the harness's skill registry, so /volens is in the menu once DSH has restarted, and the skill updates with the package instead of with the clone.
What moved. dsh/ is gone. The package manifest, index.js and cordis.patch.yml sit at the repository root, files carries skills/, and the tests moved to tests/. That is not tidiness: it is what puts the skill inside the package, and it is the shape this ecosystem's multi-harness packages already use.
Nothing changes for Claude Code or Codex. Same marketplaces, same hook commands, no re-trust — both commands are written with ${CLAUDE_PLUGIN_ROOT}/${PLUGIN_ROOT}, and nothing they consume ever referenced dsh/. The package page now shows this project's README rather than a DSH-specific one.
Updating names the version. dsh plugin --profile web add volens-dsh@0.4.0. A bare add volens-dsh reports "Lockfile is up to date" and leaves an installed copy alone; if a release is newer than the profile's supply-chain policy allows, the CLI says so and adds it to minimumReleaseAgeExclude in the profile's pnpm-workspace.yaml before installing it.
Install. Claude Code: /plugin marketplace add https://github.com/funcpn/volens.git, then /plugin install volens@volens. Codex: codex plugin marketplace add https://github.com/funcpn/volens, then codex plugin add volens@volens — the first session asks once to trust the hook; choose Trust all and continue. In the ChatGPT desktop app, installing does not authorize the hook: open the plugin's manage page and choose Trust all. DSH: dsh plugin --profile web add volens-dsh, then restart DSH.
Requirements. git on your PATH, git able to reach GitHub, and a bash to run the hook with (macOS and Linux ship one; on Windows it comes from Git for Windows — the bash.exe under System32 is WSL's launcher and does not count). DSH needs neither: its half runs in-process and its skill arrives with the package.