Skip to content

setup(codex/hermes/opencode): mirror Claude skills so non-Claude agents are not skill-blind#165

Open
jamesbroadhead wants to merge 1 commit into
datasciencemonkey:mainfrom
jamesbroadhead:jb/per-agent-skill-copies
Open

setup(codex/hermes/opencode): mirror Claude skills so non-Claude agents are not skill-blind#165
jamesbroadhead wants to merge 1 commit into
datasciencemonkey:mainfrom
jamesbroadhead:jb/per-agent-skill-copies

Conversation

@jamesbroadhead
Copy link
Copy Markdown

@jamesbroadhead jamesbroadhead commented May 27, 2026

Summary

CODA bundles 43 skills under .claude/skills/, but only Claude Code consumed them. Codex, Hermes, and OpenCode didn't have the same Databricks knowledge available under their home dirs.

Adds a mirror_claude_skills(target_dir, agent_name) utility and wires it into the three setup scripts that didn't already do this. setup_gemini.py already mirrored to ~/.gemini/skills/; left alone in this PR to keep the diff minimal.

Changes

  • utils.py — add mirror_claude_skills(target_dir, agent_name). Idempotent (replaces target). Skips if ~/.claude/skills/ is absent.
  • setup_codex.py — mirror to ~/.codex/skills/.
  • setup_hermes.py — mirror to ~/.hermes/skills/.
  • setup_opencode.py — mirror to ~/.local/share/opencode/skills/.

Caveats

Whether each agent auto-discovers the mirrored skills depends on the agent. The mirror at least guarantees the markdown content is on-disk under the agent's home — so the agent can browse / load on demand and the user can reference them by path. Per-agent auto-discovery (manifest registration, hook wiring) is a follow-up where the upstream agent supports it.

A future cleanup pass can route setup_gemini.py through the same helper for consistency.

Test plan

  • python -m py_compile setup_codex.py setup_hermes.py setup_opencode.py clean.
  • from utils import mirror_claude_skills imports cleanly.
  • Manual: deploy a fresh CODA container and confirm ~/.codex/skills/, ~/.hermes/skills/, ~/.local/share/opencode/skills/ exist and contain the expected skills after run_setup().

This pull request and its description were written by Claude.

…ts see them too

CODA bundles 43 skills under .claude/skills/, but only Claude Code
consumed them. Codex, Hermes, and OpenCode didn't have the same
Databricks knowledge on-disk under their home dirs.

setup_gemini.py already did this for Gemini. This PR factors out the
copy logic into a `mirror_claude_skills(target_dir, agent_name)`
utility and calls it from setup_codex.py (-> ~/.codex/skills/),
setup_hermes.py (-> ~/.hermes/skills/), and setup_opencode.py
(-> ~/.local/share/opencode/skills/). Each agent's setup is idempotent
across restarts (target dir is replaced, not appended).

setup_gemini.py is left alone — its inline implementation already
works. A separate cleanup can route Gemini through the same utility
for consistency.

This PR was prepared by Claude.
@jamesbroadhead jamesbroadhead force-pushed the jb/per-agent-skill-copies branch from 137b43b to dbe68c0 Compare May 28, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant