Skip to content

Multi-runtime skill population in a single setup/upgrade run #63

@chubes4

Description

@chubes4

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:

  1. Populate every detected runtime's skills dir in a single pass (simplest — skills dirs are cheap to duplicate), or
  2. Emit a clear warning when multiple runtimes are detected so the user knows to re-run with the other runtime, or
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions