Skip to content

fix: discover project skills from workspace#4031

Open
D3OXY wants to merge 3 commits into
pingdotgg:mainfrom
D3OXY:fix/project-skill-discovery
Open

fix: discover project skills from workspace#4031
D3OXY wants to merge 3 commits into
pingdotgg:mainfrom
D3OXY:fix/project-skill-discovery

Conversation

@D3OXY

@D3OXY D3OXY commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Add cwd-scoped provider skill discovery through the existing RPC stack.
  • Show skills from /.agents/skills in the web composer autocomplete.
  • Keep provider snapshot fallback global-only to avoid leaking skills from the server working directory.
  • Add registry and server coverage for workspace skill discovery.

Why

The composer previously used the provider startup snapshot, whose skill list was resolved from the server process directory. Project-specific skills therefore did not appear for the active workspace and could come from the wrong repository.

UI Changes

No layout or styling changes. Existing skill autocomplete now includes skills from the selected workspace.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • No visual UI changes requiring screenshots
  • No animation or interaction video required

Validation

  • vp check
  • vp run typecheck
  • 141 focused tests

Note

Discover project skills from workspace via server.listProviderSkills RPC

  • Adds a new server.listProviderSkills WebSocket RPC that accepts instanceId and cwd, returning skills scoped to that workspace directory.
  • Implements listCodexProviderSkills in CodexProvider.ts by spawning an app-server probe, calling skills/list with the provided cwd, and parsing the response; falls back to snapshot skills on failure (10s timeout).
  • Filters repo-scoped skills out of the global provider snapshot in probeCodexAppServerProvider, so the snapshot only contains non-repo skills.
  • The ChatComposer skill menu now queries workspace-scoped skills via useProviderSkills, falling back to non-repo snapshot skills when the query is unavailable.
  • Behavioral Change: repo-scoped skills are no longer included in the provider snapshot returned at probe time.

Macroscope summarized 787bb12.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

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: 3da67a2a-799a-4759-98b9-6dedc0a8102a

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.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jul 16, 2026
@macroscopeapp

macroscopeapp Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

This PR introduces new user-facing capability (workspace-scoped skill discovery) with a new RPC endpoint and UI integration, which warrants human review despite the well-structured implementation with tests.

You can customize Macroscope's approvability policy. Learn more.

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

Labels

size:L 100-499 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.

1 participant