fix(coding-agent): --no-skills flag not preventing skills from loading (#577)

The --no-skills flag set options.skills = [] in main.ts, but the interactive mode UI would rediscover skills anyway because it called loadSkills() directly.

Changes:
- Add AgentSession.skills and AgentSession.skillWarnings properties  
- discoverSkills() now returns { skills, warnings } instead of Skill[]
- Interactive mode uses session.skills instead of calling loadSkills()

Co-authored-by: Carlos Villela <cv@lixo.org>
This commit is contained in:
Carlos Villela 2026-01-08 14:40:05 -08:00 committed by GitHub
parent ec1ee7ddc6
commit c865ec1d19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 88 additions and 1 deletions

View file

@ -641,6 +641,13 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
sessionManager.appendThinkingLevelChange(thinkingLevel);
}
// Determine skillsSettings: if options.skills was explicitly provided (even []),
// mark skills as disabled so UI doesn't re-discover them
const skillsSettings =
options.skills !== undefined
? { ...settingsManager.getSkillsSettings(), enabled: false }
: settingsManager.getSkillsSettings();
const session = new AgentSession({
agent,
sessionManager,
@ -648,7 +655,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
scopedModels: options.scopedModels,
promptTemplates: promptTemplates,
extensionRunner,
skillsSettings: settingsManager.getSkillsSettings(),
skillsSettings,
modelRegistry,
toolRegistry: wrappedToolRegistry ?? toolRegistry,
rebuildSystemPrompt,