diff --git a/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts b/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts index 4d098f59c..3f7a37848 100644 --- a/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +++ b/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts @@ -998,9 +998,20 @@ export class InteractiveMode { if (showDiagnostics) { const skillDiagnostics = skillsResult.diagnostics; if (skillDiagnostics.length > 0) { - const warningLines = this.formatDiagnostics(skillDiagnostics, metadata); - this.chatContainer.addChild(new Text(`${theme.fg("warning", "[Skill conflicts]")}\n${warningLines}`, 0, 0)); - this.chatContainer.addChild(new Spacer(1)); + const collisionDiags = skillDiagnostics.filter(d => d.type === "collision"); + const issueDiags = skillDiagnostics.filter(d => d.type !== "collision"); + + if (collisionDiags.length > 0) { + const collisionLines = this.formatDiagnostics(collisionDiags, metadata); + this.chatContainer.addChild(new Text(`${theme.fg("warning", "[Skill conflicts]")}\n${collisionLines}`, 0, 0)); + this.chatContainer.addChild(new Spacer(1)); + } + + if (issueDiags.length > 0) { + const issueLines = this.formatDiagnostics(issueDiags, metadata); + this.chatContainer.addChild(new Text(`${theme.fg("warning", "[Skill issues]")}\n${issueLines}`, 0, 0)); + this.chatContainer.addChild(new Spacer(1)); + } } const promptDiagnostics = promptsResult.diagnostics; diff --git a/src/resources/extensions/gsd/commands.ts b/src/resources/extensions/gsd/commands.ts index 1ebb86f09..781800211 100644 --- a/src/resources/extensions/gsd/commands.ts +++ b/src/resources/extensions/gsd/commands.ts @@ -540,5 +540,5 @@ async function ensurePreferencesFile( await ctx.waitForIdle(); await ctx.reload(); - ctx.ui.notify(`Edit ${path} to update ${scope} GSD skill preferences.`, "info"); + ctx.ui.notify(`Edit ${path} to update ${scope} GSD skill preferences.\nRun /gsd prefs wizard for interactive setup.`, "info"); }