authorgravatar for anirudh@gosupernova.liveAnirudh Coontoor <anirudh@gosupernova.live> 2026-09-02 22:44:41+05:30
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-09-02 13:14:41-04:00
logbc918e74ace5dbb4fe1ce73b59d06a9ca1be9ed3
treec85bbb3dcaa6ea434d6bc440f7ec2f243ac6f3fa
parent70cd258d8aac43ea57494527b00bf36de3efa6c0
signature Signed by PGP key B5690EEEBB952194

fix(server): discover project skills for Claude (#9210)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

1 files changed, 13 insertions(+), 0 deletions(-)

apps/server/src/provider/Drivers/ClaudeDriver.ts+13
...@@ -57,6 +57,7 @@ import {...@@ -57,6 +57,7 @@ import {
57 type ProviderSnapshotSettings,57 type ProviderSnapshotSettings,
58} from "../providerUpdateSettings.ts";58} from "../providerUpdateSettings.ts";
59import { makeClaudeCapabilitiesCacheKey, makeClaudeContinuationGroupKey } from "./ClaudeHome.ts";59import { makeClaudeCapabilitiesCacheKey, makeClaudeContinuationGroupKey } from "./ClaudeHome.ts";
60import { discoverClaudeSkills } from "./ClaudeSkills.ts";
60const decodeClaudeSettings = Schema.decodeSync(ClaudeSettings);61const decodeClaudeSettings = Schema.decodeSync(ClaudeSettings);
6162
62const DRIVER_KIND = ProviderDriverKind.make("claudeAgent");63const DRIVER_KIND = ProviderDriverKind.make("claudeAgent");
...@@ -212,6 +213,17 @@ export const ClaudeDriver: ProviderDriver<ClaudeSettings, ClaudeDriverEnv> = {...@@ -212,6 +213,17 @@ export const ClaudeDriver: ProviderDriver<ClaudeSettings, ClaudeDriverEnv> = {
212 }),213 }),
213 ),214 ),
214 );215 );
216 const snapshotForCwd = (cwd: string) =>
217 !effectiveConfig.enabled
218 ? snapshot.getSnapshot
219 : Effect.all([
220 snapshot.getSnapshot,
221 discoverClaudeSkills(effectiveConfig, cwd, processEnv),
222 ]).pipe(
223 Effect.map(([machineSnapshot, skills]) => ({ ...machineSnapshot, skills })),
224 Effect.provideService(FileSystem.FileSystem, fileSystem),
225 Effect.provideService(Path.Path, path),
226 );
215227
216 return {228 return {
217 instanceId,229 instanceId,
...@@ -224,6 +236,7 @@ export const ClaudeDriver: ProviderDriver<ClaudeSettings, ClaudeDriverEnv> = {...@@ -224,6 +236,7 @@ export const ClaudeDriver: ProviderDriver<ClaudeSettings, ClaudeDriverEnv> = {
224 accentColor,236 accentColor,
225 enabled,237 enabled,
226 snapshot,238 snapshot,
239 snapshotForCwd,
227 adapter,240 adapter,
228 textGeneration,241 textGeneration,
229 } satisfies ProviderInstance;242 } satisfies ProviderInstance;