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.
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.
- 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
Research agents (repo-research-analyst, git-history-analyzer,
best-practices-researcher, framework-docs-researcher) were using
shell commands like find, rg, cat, and chained pipelines for routine
codebase exploration. This triggers permission prompts in Claude Code
and degrades the user experience when these agents run as sub-agents.
Updated all research agents with platform-agnostic tool selection
guidance that prefers native file-search/glob, content-search/grep,
and file-read tools over shell equivalents. Shell is now reserved for
commands with no native equivalent (ast-grep, bundle show, git).
Git-history-analyzer additionally limits shell to one simple git
command per call with no chaining or piping.
Added tool selection rules to AGENTS.md so future agents follow
the same pattern by default.
Updated docs/specs/windsurf.md and the plan to accurately document
that global scope workflows go in global_workflows/ while workspace
scope workflows go in workflows/.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add `--to windsurf` target for the converter CLI with full spec compliance
per docs/specs/windsurf.md:
- Claude agents → Windsurf skills (skills/{name}/SKILL.md)
- Claude commands → Windsurf workflows (workflows/{name}.md, flat)
- Pass-through skills copy unchanged
- MCP servers → mcp_config.json (merged with existing, 0o600 permissions)
- Hooks skipped with warning, CLAUDE.md skipped
Global scope support via generic --scope flag (Windsurf as first adopter):
- --to windsurf defaults to global (~/.codeium/windsurf/)
- --scope workspace for project-level .windsurf/ output
- --output overrides scope-derived paths
Shared utilities extracted (resolveTargetOutputRoot, hasPotentialSecrets)
to eliminate duplication across CLI commands.
68 new tests (converter, writer, scope resolution).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Copilot as the 6th converter target, transforming Claude Code plugins
into Copilot's native format: custom agents (.agent.md), agent skills
(SKILL.md), and MCP server configuration JSON.
Component mapping:
- Agents → .github/agents/{name}.agent.md (with Copilot frontmatter)
- Commands → .github/skills/{name}/SKILL.md
- Skills → .github/skills/{name}/ (copied as-is)
- MCP servers → .github/copilot-mcp-config.json
- Hooks → skipped with warning
Also adds `compound sync copilot` support and fixes YAML quoting for
the `*` character in frontmatter serialization.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(cursor): add Cursor CLI as target provider
Add converter, writer, types, and tests for converting Claude Code
plugins to Cursor-compatible format (.mdc rules, commands, skills,
mcp.json). Agents become Agent Requested rules (alwaysApply: false),
commands are plain markdown, skills copy directly, MCP is 1:1 JSON.
* docs: add Cursor spec and update README with cursor target
* chore: bump CLI version to 0.5.0 for cursor target
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: note Cursor IDE + CLI compatibility in README
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>