diff --git a/src/features/opencode-skill-loader/skill-discovery.ts b/src/features/opencode-skill-loader/skill-discovery.ts index fb991e44a..954490842 100644 --- a/src/features/opencode-skill-loader/skill-discovery.ts +++ b/src/features/opencode-skill-loader/skill-discovery.ts @@ -10,7 +10,9 @@ export function clearSkillCache(): void { } export async function getAllSkills(options?: SkillResolutionOptions): Promise { - const cacheKey = options?.browserProvider ?? "playwright" + const browserProvider = options?.browserProvider ?? "playwright" + const teamModeEnabled = options?.teamModeEnabled ?? false + const cacheKey = `${browserProvider}:${teamModeEnabled ? "team-on" : "team-off"}` const hasDisabledSkills = options?.disabledSkills && options.disabledSkills.size > 0 // Skip cache if disabledSkills is provided (varies between calls) @@ -21,12 +23,11 @@ export async function getAllSkills(options?: SkillResolutionOptions): Promise ({ @@ -49,7 +50,6 @@ export async function getAllSkills(options?: SkillResolutionOptions): Promise { diff --git a/src/features/opencode-skill-loader/skill-resolution-options.ts b/src/features/opencode-skill-loader/skill-resolution-options.ts index e2ba58ecd..184e78ea8 100644 --- a/src/features/opencode-skill-loader/skill-resolution-options.ts +++ b/src/features/opencode-skill-loader/skill-resolution-options.ts @@ -4,6 +4,7 @@ export interface SkillResolutionOptions { gitMasterConfig?: GitMasterConfig browserProvider?: BrowserAutomationProvider disabledSkills?: Set + teamModeEnabled?: boolean /** Project directory to discover project-level skills from. Falls back to process.cwd() if not provided. */ directory?: string } diff --git a/src/features/opencode-skill-loader/skill-template-resolver.ts b/src/features/opencode-skill-loader/skill-template-resolver.ts index 046256c37..0a9b31f18 100644 --- a/src/features/opencode-skill-loader/skill-template-resolver.ts +++ b/src/features/opencode-skill-loader/skill-template-resolver.ts @@ -9,6 +9,7 @@ export function resolveSkillContent(skillName: string, options?: SkillResolution const skills = createBuiltinSkills({ browserProvider: options?.browserProvider, disabledSkills: options?.disabledSkills, + teamModeEnabled: options?.teamModeEnabled, }) const skill = skills.find((builtinSkill) => builtinSkill.name === skillName) if (!skill) return null @@ -27,6 +28,7 @@ export function resolveMultipleSkills( const skills = createBuiltinSkills({ browserProvider: options?.browserProvider, disabledSkills: options?.disabledSkills, + teamModeEnabled: options?.teamModeEnabled, }) const skillMap = new Map(skills.map((skill) => [skill.name, skill.template]))