Skip to content

feat(cli): add omp install target for skill installer - #190

Open
bnivanov wants to merge 1 commit into
ZSeven-W:v0.8.3from
bnivanov:feat/install-target-omp
Open

feat(cli): add omp install target for skill installer#190
bnivanov wants to merge 1 commit into
ZSeven-W:v0.8.3from
bnivanov:feat/install-target-omp

Conversation

@bnivanov

Copy link
Copy Markdown

What

Adds omp (the Oh My Pi agent CLI) as a fifth op install --target value
alongside claude, codex, cursor, and opencode, with oh-my-pi as an alias.

Why

omp discovers user skills from ~/.omp/agent/skills. Today omp users have to
place the skill bundle manually; a first-class target makes op install
work out of the box and lets bare op install auto-detect omp (via the omp
binary on PATH or an existing ~/.omp directory).

How

  • Target::Omp + parse (omp, oh-my-pi) + key + detection.
  • Install mirrors the codex/opencode layout: stage the bundle at
    ~/.omp/openpencil-skill, then link ~/.omp/agent/skills/openpencil-skill
    bundle/skills (copy fallback via the existing link_or_copy_dir).
  • The discovery entry is recreated on every install so a stale symlink, plain
    file, or outdated copy can't shadow the fresh bundle (same rationale as the
    opencode target).
  • Deliberately not writing to ~/.agents/skills (which omp also scans):
    that path is shared with the codex target and would make uninstall ownership
    ambiguous.
  • Uninstall removes the link and the staged bundle.

Tests

  • Unit: omp_is_an_install_target (parse, key, alias).
  • Integration: install_omp_writes_agent_skills_dir_and_uninstall_removes_it
    — stale-entry replacement, idempotent install, SKILL.md reachable under
    the scanned skills dir, uninstall removes both paths.
  • Local: cargo test -p op-cli 108/108 pass; cargo clippy -p op-cli --all-targets -- -D warnings clean; cargo fmt -p op-cli applied.

Adds `omp` (Oh My Pi agent CLI) as a supported `op install --target`
value, with `oh-my-pi` alias. Detection probes both the `omp` binary
on PATH and the ~/.omp config directory.

Install stages the bundle under ~/.omp/openpencil-skill and links
~/.omp/agent/skills/openpencil-skill (symlink, copy fallback) — the
dedicated path keeps ownership clean vs the codex target's shared
~/.agents/skills entry. The discovery entry is recreated each install
so a stale file/symlink can't shadow a fresh bundle; uninstall removes
both paths.

Tests: parse/key unit test (incl. alias) and an integration test
covering stale-entry replacement, idempotent install, SKILL.md
reachability under ~/.omp/agent/skills, and full uninstall cleanup.
@Kayshen-X
Kayshen-X changed the base branch from main to v0.8.3 July 29, 2026 02:13

Copy link
Copy Markdown
Contributor

Thanks for the contribution! Could you please sync your branch with v0.8.3 and resolve the merge conflicts? Once that's done, we'll take another look.

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.

2 participants