Agent-First Data v0.14: Workspace Scope and Hermes
The skill installer's second scope was called 'project' but it meant 'current directory'. v0.14 renames it to workspace, lifts the Codex restriction that followed from the wrong name, and adds Hermes as the fourth agent target.
The v0.11 skill installer shipped with two scopes. Personal scope was clear: it
wrote to the user’s home directory under whichever agent config folder applied.
The second scope — project — meant “relative to the current working directory”
— .claude/skills, .opencode/skills, .codex/skills wherever the command
ran. That is not a project. It is a workspace.
The wrong name had a cost. Because it was called project scope, the installer
treated Codex differently: Codex had no project scope, so --agent all --scope project silently skipped it and --agent codex --scope project returned an
error. There was never a principled reason Codex could not write to the current
directory. It just did not fit the name.
v0.14 fixes the name and removes the restriction.
Project → workspace
Every place the installer used the word project now says workspace:
- Rust:
SkillScope::Project→SkillScope::Workspace - Go:
SkillScopeProject→SkillScopeWorkspace - Python:
SkillScope.PROJECT→SkillScope.WORKSPACE - TypeScript:
"project"→"workspace"
The --scope flag value changes from project to workspace. If you have any
call that passes scope: "project", rename it.
Codex now writes to the workspace
With the scope named correctly, Codex workspace scope just works. It writes to
.codex/skills relative to cwd, which is what you would expect from a tool that
already uses .codex/ as its workspace directory. --agent all --scope workspace now resolves four targets, one per agent, with no skipped entries.
Hermes joins the roster
v0.14 adds Hermes Agent as the fourth target. It follows the same convention as the others — an env var override for personal scope, a fixed cwd-relative path for workspace:
| Agent | Personal | Workspace |
|---|---|---|
| Codex | $CODEX_HOME/skills or ~/.codex/skills | .codex/skills |
| Claude Code | ~/.claude/skills | .claude/skills |
| opencode | $XDG_CONFIG_HOME/opencode/skills or ~/.config/opencode/skills | .opencode/skills |
| Hermes | $HERMES_HOME/skills or ~/.hermes/skills | .hermes/skills |
--agent hermes or --agent all reach it in either scope.
One fix for published READMEs
The per-language READMEs link back to the shared docs/ and spec/ files.
Those links resolved correctly on GitHub but went nowhere on crates.io, PyPI,
npm, and pkg.go.dev, which publish only the per-language subdirectory. v0.14
replaces the relative links with absolute github.com URLs so the published
documentation is navigable.
Summary
If you call the skill installer today: rename project to workspace wherever
the scope appears. Everything else — the install logic, the freshness check, the
structured return types, the byte-identical behavior across languages — is
unchanged. The only thing that changed is the name was wrong and now it is right.