Skip to content

feat: slash commands and skills from local repo#3757

Closed
lmtr0 wants to merge 1 commit into
pingdotgg:mainfrom
lmtr0:feat/local-repo-skills-slash-commands
Closed

feat: slash commands and skills from local repo#3757
lmtr0 wants to merge 1 commit into
pingdotgg:mainfrom
lmtr0:feat/local-repo-skills-slash-commands

Conversation

@lmtr0

@lmtr0 lmtr0 commented Jul 7, 2026

Copy link
Copy Markdown

Why

I use skills to organize my projects, having the ability to access them easier inside t3 would be a game changer.

Why am I doing it? I saw the issue, thought it would be a quick fix; it actually is, and started using my fork; it improved my experience, so I thought it would be a good PR.

Closes #3576

What Changed

Adds project-scoped provider skills and slash-commands discovery.

Code Changes

  • Added a providers.projectCapabilities RPC with shared contract schemas.
  • Added provider registry support for project-scoped capability lookups.
  • Implemented project capability probes for Codex, Claude, Cursor, and OpenCode.
  • Updated web and mobile composers to use project/worktree-scoped capabilities for slash commands and skills. instead of the global alternative

Testing

  • vp run typecheck
  • vp check

UI Changes

For context, here is a test skill:
image

Current nightly app on a repo with multiple skills and commands, in opencode:
image

Same repo, nightly, in codex:
image

My pr, same repo, in opencode:
image
image

same repo, in codex:
image
image

Checklist

  • This PR is small and focused
  • explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes
    • No animations or interaction effects

Note

Medium Risk
Touches provider drivers, registry, and WS RPC with subprocess/SDK probes per cwd; failures are surfaced but composer behavior depends on new async fetches across web and mobile.

Overview
Project-scoped composer capabilities replace reading skills and slash commands from the global provider snapshot. Composers now load them for the active thread/worktree cwd and selected provider instance.

A new providers.projectCapabilities RPC and shared useProviderProjectCapabilities hook (web + mobile) fetch skills/commands on demand. Client query building skips disabled, uninstalled, or unavailable providers and preserves exact cwd strings.

Server: ProviderRegistry.listProjectCapabilities delegates to optional per-driver composerCapabilities.list with per-cwd caching (~30s). Claude, Codex, Cursor, and OpenCode probe project-local data (init IPC, app-server skills, ACP commands, OpenCode SDK). Probe failures surface as ProviderProjectCapabilitiesError instead of silently empty lists.

UI: Command popovers stay open while loading, show loading/error empty states, and use thread cwd where applicable; feed/editor skill highlighting follows the same project-scoped skills.

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

Note

Add project-scoped slash commands and skills from local repo for each provider

  • Adds a composerCapabilities.list method to Claude, Codex, Cursor, and OpenCode provider drivers that probe per-project slash commands and skills for a given cwd, with a 30s TTL cache (capacity 64) and optional forceReload.
  • Exposes a new providers.projectCapabilities WebSocket RPC backed by ProviderRegistry.listProjectCapabilities, which delegates to the driver or returns empty capabilities for unavailable/disabled instances.
  • Adds useProviderProjectCapabilities hooks in web and mobile that query project-scoped capabilities; composer UIs on both platforms now source slash commands and skills from this hook instead of from the static provider status.
  • Adds buildProviderProjectCapabilitiesQueryTarget in client-runtime to validate query targets before issuing RPC calls, returning null for blank cwd, missing providers, or non-queryable states.
  • Behavioral Change: slash command and skill suggestions in composer UIs now reflect the active working directory and will show a loading or error state while the capability probe runs.

Macroscope summarized 74319e0.

@coderabbitai

coderabbitai Bot commented Jul 7, 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: a09d3bc9-d1cf-4e8a-8444-5985117aa58e

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 size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels Jul 7, 2026
@lmtr0

lmtr0 commented Jul 7, 2026

Copy link
Copy Markdown
Author

Tested codex, opencode, and claude

Comment thread apps/mobile/src/features/threads/ThreadComposer.tsx
Comment thread apps/server/src/provider/Layers/ProviderRegistry.ts Outdated
Comment thread apps/mobile/src/features/threads/ThreadDetailScreen.tsx
Comment thread apps/web/src/state/queries.ts
Comment thread apps/mobile/src/features/threads/new-task-flow-provider.tsx
Comment thread apps/web/src/components/ChatView.tsx
@macroscopeapp

macroscopeapp Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

7 blocking correctness issues found. This PR introduces a significant new feature (project-scoped slash commands and skills) with changes across mobile, web, and server. Multiple high-severity unresolved review comments identify bugs including the Cursor probe ignoring its cwd parameter and missing timeouts that could cause indefinite hangs.

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

@lmtr0 lmtr0 force-pushed the feat/local-repo-skills-slash-commands branch from c7aa04b to 74319e0 Compare July 7, 2026 19:23

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

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 using high effort and found 3 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 74319e0. Configure here.

Comment thread apps/server/src/provider/Layers/CursorProvider.ts
Comment thread apps/server/src/provider/Layers/CursorProvider.ts
Comment thread apps/server/src/ws.ts
Comment thread apps/server/src/provider/Layers/CursorProvider.ts
Comment thread apps/mobile/src/features/threads/ComposerCommandPopover.tsx
Comment thread apps/server/src/provider/Layers/CodexProvider.ts
Comment thread apps/server/src/provider/projectCapabilities.ts
Comment thread apps/web/src/state/queries.ts
Comment thread apps/server/src/provider/Layers/ClaudeProvider.ts

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Effect service review: one error-modeling convention violation found in the new ProviderProjectCapabilitiesError.

Posted via Macroscope — Effect Service Conventions

Comment thread apps/server/src/provider/Errors.ts
Comment thread apps/server/src/provider/projectCapabilities.ts
@lmtr0

lmtr0 commented Jul 8, 2026

Copy link
Copy Markdown
Author

When I started, this was a very small change. But it grew quite a lot. I'll work on making smaller PRs

@lmtr0 lmtr0 closed this Jul 8, 2026
@lmtr0

lmtr0 commented Jul 8, 2026

Copy link
Copy Markdown
Author

Closed in favor of #3787

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.

Codex repo-local .agents/skills are not discovered in project threads

1 participant