Skip to content

Fix omc setup local skill install fallback#2195

Open
Yeachan-Heo wants to merge 3 commits intodevfrom
omc/issue-2193-no-plugin-setup
Open

Fix omc setup local skill install fallback#2195
Yeachan-Heo wants to merge 3 commits intodevfrom
omc/issue-2193-no-plugin-setup

Conversation

@Yeachan-Heo
Copy link
Copy Markdown
Owner

Summary

  • install bundled skills during omc setup when no installed OMC plugin already provides them
  • add omc setup --no-plugin to force local skill sync from the current package for local development
  • cover fallback/override behavior with focused installer tests and static CLI flag wiring checks

Testing

  • npm test -- --run src/tests/installer-omc-reference.test.ts src/tests/setup-no-plugin-flag.test.ts
  • npm test -- --run src/tests/installer-plugin-agents.test.ts
  • npm run build
  • isolated CLI smoke run of node bridge/cli.cjs setup --no-plugin --quiet into a temp CLAUDE_CONFIG_DIR

Closes #2193.

Issue #2193 comes from the installer treating skills as plugin-scoped even
for standalone CLI setup. The fix keeps plugin-first behavior by default,
but installs bundled skills automatically when no installed OMC plugin
provides them and adds an explicit `omc setup --no-plugin` override for
local development against a working checkout.

Constraint: Keep the change scoped to installer/setup behavior without redesigning runtime skill precedence
Rejected: Always install bundled skills on standalone setup | would duplicate plugin-provided skills for existing plugin users
Rejected: Add only a manual flag with no auto-fallback | leaves npm-only installs broken by default
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Preserve plugin-first default behavior unless the user explicitly requests local skill sync or no plugin skills are detected
Tested: npm test -- --run src/__tests__/installer-omc-reference.test.ts src/__tests__/setup-no-plugin-flag.test.ts
Tested: npm test -- --run src/__tests__/installer-plugin-agents.test.ts
Tested: npm run build
Tested: Isolated CLI smoke run of `node bridge/cli.cjs setup --no-plugin --quiet` into a temp CLAUDE_CONFIG_DIR before reverting generated build artifacts
Not-tested: Full Claude Code plugin runtime with marketplace-installed plugin enabled
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions github-actions bot added the size/M label Apr 5, 2026
The installer now treats enabled-plugin state and plugin-provided skill files as separate checks so npm-only and no-plugin flows can sync bundled skills into ~/.claude/skills. Bundled skill sync now copies whole skill directories and re-syncs them, which keeps skill resources available and lets local skill edits be revalidated without relying on plugin cache.

Constraint: Keep plugin-first behavior when an enabled OMC plugin already provides skills
Constraint: Local skill installs must include skill resources beyond SKILL.md
Rejected: Copy only SKILL.md files | breaks skills that reference bundled phase/resource files
Rejected: Require --force for repeated no-plugin syncs | blocks local skill iteration on existing installs
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Preserve the distinction between plugin-enabled detection and plugin-cache presence when changing installer fallbacks
Tested: npm test -- installer-omc-reference installer-plugin-agents; npx tsc --noEmit
Not-tested: End-to-end Claude Code slash-command discovery against a real local npm install
Commander treats negated options as the positive key set to false, so
 was documented but the setup action looked for
 and never forwarded the override. This wires the
negated option correctly and refreshes the committed CLI bundle so the
actual  binary matches the source behavior.

Constraint: Keep the follow-up fix narrowly scoped to the explicit CLI override path
Rejected: Rename the flag to avoid commander negation semantics | would churn the user-facing contract after the issue/PR already standardized on --no-plugin
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Negated commander flags map to the positive option name (), so do not read  in future CLI wiring
Tested: npm test -- --run src/__tests__/setup-no-plugin-flag.test.ts src/__tests__/installer-omc-reference.test.ts src/__tests__/installer-plugin-agents.test.ts
Tested: node bridge/cli.cjs setup --help
Tested: CLAUDE_CONFIG_DIR=<tmp> node bridge/cli.cjs setup --no-plugin --quiet with enabled-plugin fixtures installed 36 bundled skills
Not-tested: Full npm package publish/install cycle outside the repository checkout
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 5, 2026

⚠️ Large PR Alert

This PR has 1509 additions and 1043 deletions across 5 files.

Consider breaking it into smaller PRs for easier review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant