feat(omp): add native marketplace and skill support - #1358
Conversation
- detect omp (~/.omp, project .omp/) so `--to all` reports it as a native plugin install instead of attempting conversion; no --to omp converter, writer, or manifest (per CONCEPTS.md native-plugin-surface) - docs/specs/omp.md target spec verified against omp 17.2.7; README gains omp install/local-dev/limitations coverage - skills: omp built-in `ask` in blocking-question lists, `task` in closed subagent enumerations, and `/skill:<name>` user-facing invocation form across the rendering-rule copies, AGENTS.md, and the authoring guide - ce-compound session history: discover omp sessions under ~/.omp/agent/sessions and named-profile roots (honoring PI_CODING_AGENT_SESSION_DIR/PI_CODING_AGENT_DIR/PI_CONFIG_DIR), detect omp JSONL via its physical title-slot line before the pi-shaped header, and reuse pi extraction for omp platform identity - tests: detection, --to all note, session fixture + discovery/extract coverage, invocation-rendering parity, and a guarded omp-native-install smoke test Closes #1224
- deduplicate all-platform discovery output: Pi and omp share the PI_CODING_AGENT_SESSION_DIR flat override, so both discoverers emitted the same files (Codex review P2) - glob omp's sanitized bucket basename ([^a-zA-Z0-9._-]+ -> "-", edge dashes stripped, capped at the last 80 chars, empty -> "project", mirroring session-paths.ts getDefaultSessionDirName) so repos whose basename omp normalizes (e.g. spaces) are still discovered - SKILL.md: include omp sessions in the mandatory keyword rerun clause — omp session headers carry cwd but no git branch, same as Codex/Pi
…pport # Conflicts: # skills/ce-doc-review/references/walkthrough.md
Address PR #1323 review feedback by updating the historian prompt's platform enum, cwd metadata, cross-tool synthesis guidance, and provenance header. Add a contract regression guard.
omp 17.2.9 restored the legacy raw bucket naming (-<home-rel>, -tmp-<rel>, --<abs>--) and removed automatic migration (#7646), so both raw and hashed bucket shapes exist in the wild. Discovery globbed only the sanitized basename, missing raw buckets whose basename contains characters the hashed scheme normalizes (e.g. "my repo" in --Users-test-Code-my repo--). Add an exact raw-bucket probe for --cwd (canonicalized via physical paths like omp's resolveEquivalentPath), a raw-basename glob alongside the sanitized one, and awk dedup for buckets hit by both probe and glob. Update docs/specs/omp.md for the restored naming scheme.
# Conflicts: # skills/ce-commit/SKILL.md
Split out per maintainer request (#1224): omp's session-bucket naming is still moving (17.2.9 restored the raw scheme), so the install and prose work here should not be blocked behind it.
omp's update checker skips catalog entries without a plugin-entry version, so CE was invisible to omp plugin upgrade, the 24h catalog refresh, and marketplace.autoUpdate. Ship .omp-plugin/marketplace.json (omp's preferred catalog path, read ahead of the Claude copy when both exist) with a version wired to the root release component via extra-files jsonpath $.plugins[0].version, mirroring the existing kimi/grok/devin native-catalog pattern. release:validate gains an omp arm: plugin-list parity with the Claude catalog, version presence and drift detection, and a co-located source check. README now leads with the marketplace flow plus autoUpdate guidance (notify mode only writes to the debug log), demoting omp install <git-url> to pin-style and omp plugin link to contributor dev. The target spec's causal claim is corrected: skills load via provider scanning of the root skills/ directory; the pi manifest is the discovery gate and an install-time validation risk, not the loader.
PR SummaryMedium Risk Overview Ships User-facing skill handoffs across skills and authoring docs now render Reviewed by Cursor Bugbot for commit e414cc0. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0fd8857c6b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9b6e0c0579
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- clarify that all omp session-history discovery is deferred
Summary
Compound Engineering can now install and update natively through oh-my-pi (
omp) without a converter, writer, or separate release component. The marketplace catalog supplies the release version that omp's update checker requires. User handoffs stay concise: visible skills use ordinary/skill-nameprompts, while hidden or manual-only skills use omp's deterministic/skill:<name>command.This replacement carries forward @caelaxie's work from #1323 and resolves its conflicts with current
main. The separate omp session-history integration remains in #1333.Fixes #1224.
Design decisions
.omp-plugin/marketplace.jsonpoints at this repository, and the existingpackage.jsonpimanifest remains the runtime package entry. There is no--to ompconversion path.plugins[0].version. Release validation checks catalog parity, version drift, and the co-located source path./skill-nameprompt to a visible discovered skill. Native/skill:<name>remains the deterministic path for skills hidden from model routing. Focused contracts verify each exceptional target's frontmatter instead of adding that implementation detail to runtime prose.askortasknames.--to allrecognizes user and project omp directories and reports native support instead of attempting conversion.Validation
bun run release:validate— metadata in sync; 0 agents, 32 skills, 0 MCP servers.bun run plugin:validate— strict marketplace and plugin validation passed./ce-babysit-pr … posture:stack-readyfor a visible resume target and/skill:ce-polishfor a hidden manual-only target.bun run test— 2,927 passed, 0 failed across 111 files.Security Disclosure
No security-relevant changes. This adds catalog metadata, native-install detection, documentation, skill prose, and validation coverage; it does not add shell execution, credential handling, permission changes, or dependencies.
Agent Disclosure
kimi-code/k3(bulk implementation); Orca ·openai-codex/gpt-5.6-sol(conflict resolution, invocation simplification, and verification)