Add provider skill discovery and composer picker#2564
Add provider skill discovery and composer picker#2564lintowe wants to merge 3 commits intopingdotgg:mainfrom
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR introduces a new skill discovery system that scans for SKILL.md files across project and user directories, integrates discovered skills into three providers (Claude, Codex, OpenCode), and surfaces them in the composer UI. The scope—new modules, new workflows, contract changes, and cross-provider integration—warrants human review. You can customize Macroscope's approvability policy. Learn more. |
Summary
What Changed
/to find matching provider skills alongside commandsScreenshots
Testing
bun fmtbun lintbun typecheckbun run test src/provider/Layers/CodexProvider.test.tsfromapps/serverNote
Medium Risk
Introduces filesystem-based skill discovery and threads the resulting
skills/invocation behavior through provider status probes and the chat composer UI, which could affect provider snapshots and command insertion behavior across multiple integrations.Overview
Adds cross-provider skill discovery by scanning
SKILL.mdfiles in user/project roots (newSkillDiscovery.ts), parsing frontmatter metadata, deduping, and assigning provider-specific invocation prefixes (/vs$).Extends provider status snapshots to include discovered skills: Claude now discovers skills (using configured HOME/cwd) and also merges enabled skills into
slashCommandswhen no native command exists; OpenCode adds discovered skills using HOME/USERPROFILE; Codex filters out app/plugin-backed skills and fast-fails with a clear error when the CLI is missing.Updates the web composer command menu to show skills alongside slash commands (with separate grouping), avoid duplicates between skills and provider slash commands, and insert the correct invocation prefix via
formatProviderSkillInvocation; contracts add optionalServerProviderSkill.invocationPrefixwhile remaining backward compatible. Tests were added/updated across server, web, and contracts to cover parsing, discovery, filtering, and invocation formatting.Reviewed by Cursor Bugbot for commit a2d4e78. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add provider skill discovery and composer picker with provider-specific invocation prefixes
SkillDiscovery.tswith utilities to scanSKILL.mdfiles from project and user roots for Claude (.claude/skills), OpenCode, and common agent directories, parsing frontmatter and assigning invocation prefixes (/or$) per provider.checkClaudeProviderStatusandcheckOpenCodeProviderStatusto include discovered skills in theServerProviderDraftsnapshot, merging them with native slash commands (native commands take precedence on name collision).ChatComposerto display provider skills alongside slash commands in the command palette, grouped in a separate 'Skills' section, and inserts the correct invocation prefix viaformatProviderSkillInvocation.invocationPrefix('$'or'/') as an optional field to theServerProviderSkillcontract schema..codex/pluginsor.agents/plugins) from the skills list, and adds a fast-fail guard when the Codex CLI binary is missing from PATH.Macroscope summarized a2d4e78.