diff --git a/src/agents/skills-status.ts b/src/agents/skills-status.ts index 4e584d24f53..4d2e626a903 100644 --- a/src/agents/skills-status.ts +++ b/src/agents/skills-status.ts @@ -176,20 +176,23 @@ function normalizeInstallOptions( function isSkillVisibleInAvailableSkillsPrompt(entry: SkillEntry): boolean { if (entry.exposure) { - return entry.exposure.includeInAvailableSkillsPrompt !== false; + return ( + entry.exposure.includeInAvailableSkillsPrompt || + !("includeInAvailableSkillsPrompt" in entry.exposure) + ); } if (entry.invocation) { - return entry.invocation.disableModelInvocation !== true; + return !entry.invocation.disableModelInvocation; } - return entry.skill.disableModelInvocation !== true; + return !entry.skill.disableModelInvocation; } function isSkillUserInvocable(entry: SkillEntry): boolean { if (entry.exposure) { - return entry.exposure.userInvocable !== false; + return entry.exposure.userInvocable || !("userInvocable" in entry.exposure); } if (entry.invocation) { - return entry.invocation.userInvocable !== false; + return entry.invocation.userInvocable || !("userInvocable" in entry.invocation); } return true; } diff --git a/src/commands/doctor-skills.ts b/src/commands/doctor-skills.ts index 764c9f189ab..35c21608ef7 100644 --- a/src/commands/doctor-skills.ts +++ b/src/commands/doctor-skills.ts @@ -65,10 +65,10 @@ export function disableUnavailableSkillsInConfig( if (skills.length === 0) { return config; } - const entries = { ...(config.skills?.entries ?? {}) }; + const entries = { ...config.skills?.entries }; for (const skill of skills) { entries[skill.skillKey] = { - ...(entries[skill.skillKey] ?? {}), + ...entries[skill.skillKey], enabled: false, }; }