Skip to content

Add provider skill discovery and composer picker#2564

Open
lintowe wants to merge 5 commits intopingdotgg:mainfrom
lintowe:feat/provider-skills
Open

Add provider skill discovery and composer picker#2564
lintowe wants to merge 5 commits intopingdotgg:mainfrom
lintowe:feat/provider-skills

Conversation

@lintowe
Copy link
Copy Markdown

@lintowe lintowe commented May 6, 2026

Summary

  • Adds provider skill discovery and picker support to the composer

What Changed

  • Discovers user/project skills for supported provider integrations
  • Adds provider skills to the composer command menu and renders selected skills as inline chips
  • Allows typing / to find matching provider skills alongside commands
  • Filters app/plugin-backed skills out of the picker for now, so only regular installed skills are surfaced

Screenshots

image

Testing

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run test src/provider/Layers/CodexProvider.test.ts from apps/server

Note

Medium Risk
Introduces new filesystem-based skill discovery and threads the resulting skills/slashCommands into provider snapshots and the web composer, which could affect provider status payloads and command menu behavior across platforms. Risk is moderated by defensive parsing, deduping, and added tests, but path/home/cwd handling could still surface edge cases.

Overview
Adds provider skill discovery by scanning SKILL.md files in project/user roots and parsing lightweight frontmatter, then attaches these discovered skills to provider snapshots.

Claude and OpenCode provider status checks now include discovered skills, and Claude additionally merges skill names into its slashCommands list (without overriding native commands). Codex now filters app/plugin-backed skills from skills/list results and fails fast with a clear error when the codex binary is not on PATH.

Updates the web composer command palette to show provider skills alongside slash commands (including when typing /), groups them under a separate section, and inserts the correct invocation prefix via a new invocationPrefix field added to the ServerProviderSkill contract (backwards-compatible decoding covered by tests).

Reviewed by Cursor Bugbot for commit 83c436f. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add provider skill discovery and composer picker for Claude and OpenCode providers

  • Adds SkillDiscovery.ts to parse SKILL.md files from project and user directories into typed ServerProviderSkill objects, with deduplication and error resilience.
  • Claude and OpenCode provider status checks now traverse their respective skill directories and merge discovered skills (with / and $ invocation prefixes respectively) into the provider snapshot.
  • Extends ServerProviderSkill schema with an optional invocationPrefix field constrained to '$' or '/'.
  • The / command menu in the composer now surfaces provider skills alongside slash commands, grouped under a 'Skills' section; skill selection inserts the correct provider-specific prefix.
  • Codex provider now filters app-backed skills from parsed results and short-circuits with an error snapshot when the codex binary is not on PATH.

Macroscope summarized 83c436f.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a4fbb57f-0d03-4d91-8d90-13f5e6df7650

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels May 6, 2026
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented May 6, 2026

Approvability

Verdict: 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.

@juliusmarminge
Copy link
Copy Markdown
Member

how is this different from what we have already?

@lintowe
Copy link
Copy Markdown
Author

lintowe commented May 7, 2026

how is this different from what we have already?

I reinstalled the current regular build to see if there's any way to do skills, either via doing # or @ or / in the chat space but I'm not able to trigger any of the skills that I've personally installed for Codex/Claude Code. Either the implementation might not be fully there or I'm completely missing something in the application. I made the PR due to that, and if it's already implemented then I apologize in advance

Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d9d92f5. Configure here.

Comment thread apps/server/src/provider/SkillDiscovery.ts Outdated
Comment thread apps/web/src/components/chat/ChatComposer.tsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants