Problem
Runtime detection in setup.sh is single-pick, first-match-wins:
if command -v studio &>/dev/null && [ "${IS_STUDIO:-false}" = true ]; then
RUNTIME="studio-code"
elif command -v claude &>/dev/null; then
RUNTIME="claude-code"
elif command -v opencode &>/dev/null; then
RUNTIME="opencode"
fi
On a machine with both `claude` and `opencode` installed, auto-detect silently picks `claude-code`. Skills install honors `SKILLS_DIR="$(runtime_skills_dir)"` which points at a single runtime's dir (`.claude/skills/` vs `.opencode/skills/`).
Consequence: on a dual-runtime install, a single `./setup.sh --skills-only` only populates one runtime's skills dir. To get skills into both, users have to run twice with explicit `--runtime claude-code` and `--runtime opencode`.
Suggestion
Detect all installed runtimes and either:
- Populate every detected runtime's skills dir in a single pass (simplest — skills dirs are cheap to duplicate), or
- Emit a clear warning when multiple runtimes are detected so the user knows to re-run with the other runtime, or
- Add a `--all-runtimes` / `--runtimes=a,b` flag.
The kimaki-side mirror (handled by #62) is already runtime-agnostic — it copies from whichever `SKILLS_DIR` the current run populated. So this is narrowly about the runtime skills dirs.
Context
Surfaced while reviewing #62 (fix: restore wp-coding-agents skills on every kimaki restart). Not a blocker for that PR; the restore flow works regardless of runtime.
Problem
Runtime detection in
setup.shis single-pick, first-match-wins:On a machine with both `claude` and `opencode` installed, auto-detect silently picks `claude-code`. Skills install honors `SKILLS_DIR="$(runtime_skills_dir)"` which points at a single runtime's dir (`.claude/skills/` vs `.opencode/skills/`).
Consequence: on a dual-runtime install, a single `./setup.sh --skills-only` only populates one runtime's skills dir. To get skills into both, users have to run twice with explicit `--runtime claude-code` and `--runtime opencode`.
Suggestion
Detect all installed runtimes and either:
The kimaki-side mirror (handled by #62) is already runtime-agnostic — it copies from whichever `SKILLS_DIR` the current run populated. So this is narrowly about the runtime skills dirs.
Context
Surfaced while reviewing #62 (fix: restore wp-coding-agents skills on every kimaki restart). Not a blocker for that PR; the restore flow works regardless of runtime.