# OpenCode Integration [OpenCode](https://opencode.ai/) uses piker's shared repo-specific skills directly from `.claude/skills/`. There is no second copy of each skill to keep in sync. ## Available Skills | Skill | Activation | Specialization | |-------|------------|----------------| | `commit-msg` | `/commit-msg` or explicit request | Piker commit-message style and artifacts | | `piker-conc-expert` | automatic | `tractor` actor topology, RPC, and cancellation | | `piker-profiling` | automatic | Cross-actor `Profiler` instrumentation | | `piker-slang` | automatic | Project communication style | | `py-codestyle` | automatic | Python source conventions | | `pyqtgraph-optimization` | automatic | Batched Qt graphics rendering | | `timeseries-optimization` | automatic | NumPy and Polars timeseries performance | OpenCode's project command lives at `.opencode/commands/commit-msg.md`. It delegates to the shared `commit-msg` skill and only supplies command arguments; workflow logic remains in the skill. A user-local skill with the same name may override a repo skill. Treat `opencode debug skill` as authoritative when diagnosing which source is active. ## Verify Discovery From the repository root: ```console opencode debug skill opencode debug config ``` `opencode debug skill` should list the piker skills from the project checkout. Restart OpenCode after changing a skill or command because configuration-time files are not hot-reloaded into an active session. ## Portability Rules - Use only portable Agent Skills frontmatter in shared `SKILL.md` files. - Keep harness-specific command syntax under `.opencode/commands/`. - Detect the active harness and model at runtime; do not hardcode Claude Code attribution in shared workflows. - Keep supporting references beside each shared skill so relative links resolve in every harness.