Expose project Codex skills in chat#3901
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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 932bb4cc96
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
One finding on the new server.listProviderSkills RPC error handling. See inline comment.
Posted via Macroscope — Effect Service Conventions
ApprovabilityVerdict: Needs human review This PR adds a new feature exposing project-level Codex skills via a new RPC endpoint and integrating them into the chat composer. New API endpoints, error handling, and cross-cutting frontend/backend changes introduce new user-facing behavior that warrants human review. You can customize Macroscope's approvability policy. Learn more. |
There was a problem hiding this comment.
Effect service conventions: one finding on the new ServerProviderSkillsError. Storing a free-form message field that also acts as the discriminator between two distinct failure modes conflicts with the error-modeling conventions. Details inline.
Posted via Macroscope — Effect Service Conventions
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 52e3381. Configure here.

What changed
Solves #3576
$composer menu opens.Why
T3 Code previously populated the
$skill menu from a provider snapshot created with the server process working directory. That snapshot exposed global Codex skills, but it could not discover skills defined in the active project.The composer now requests skills for its current project cwd, allowing Codex to return both applicable global and project-level skills.
Impact
Codex users can discover and invoke project-level skills through the existing
$menu. Other providers return a typed unsupported error and retain their existing behavior.Validation
pnpm exec vp test apps/web/src/providerSkillSearch.test.ts apps/server/src/provider/Layers/ProviderRegistry.test.ts packages/contracts/src/server.test.ts(42 tests passed)pnpm exec vp run typecheckpnpm exec vp check(0 errors; 22 pre-existing warnings)Note
Medium Risk
Each
$menu open can spawn a short-lived Codex app-server probe per instance/cwd; failures are typed but add runtime dependency on Codex availability and probe timeouts.Overview
Adds
server.listProviderSkills(contracts, WS RPC, cached client query) so the composer can load skills for a provider instance and projectcwd, not only from the server-wide provider snapshot.Codex implements optional
listSkills(cwd)via an exportedprobeCodexAppServerProviderwithincludeModels: falsefor skills-only probes (timeout + structured errors).ProviderRegistry.listSkillsdelegates to the instance; unsupported drivers get a typed error over the wire.The
$skill menu fetches cwd-scoped skills when open, falls back to snapshot/cached results while loading, andComposerPromptEditorupdates skill chip labels in place so async skill loads do not reset focus or Lexical state.Reviewed by Cursor Bugbot for commit 928f588. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Expose project Codex skills in the chat composer via a new
listProviderSkillsRPCserverListProviderSkillsWebSocket RPC that queries the Codex app-server for project-specific skills given aninstanceIdandcwd, returning structured errors for unsupported providers or failures.CodexDrivernow implementslistSkills(cwd)on itsProviderInstance, andProviderRegistryexposes a matchinglistSkillsmethod that delegates to it.useProviderSkillshook; the skill menu and prompt chips reflect these project-specific skills with a loading state while probing.$updateComposerSkillMetadata, avoiding selection resets when skill metadata changes.Macroscope summarized 928f588.