From f14813e96510a7cf7562a120e809c6a134af073d Mon Sep 17 00:00:00 2001 From: "robopipi[bot]" <336283572+robopipi[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 14:25:50 +0100 Subject: [PATCH] fix(coding-agent): label skill diagnostics as [Skill warnings] (#11566) At startup, interactive mode printed every skill diagnostic under the heading `[Skill conflicts]`. Most of these are validation warnings for skills that still load, for example `description exceeds 1024 characters (1508)` or name-format warnings. The heading made them look like name collisions. This change renames the heading to `[Skill warnings]`. Validation and loading behavior are unchanged. The prompt and theme headings are left as they are. **Testing** - Updated the assertion in `packages/coding-agent/test/interactive-mode-status.test.ts` ("still shows diagnostics on quiet startup when requested") to expect `[Skill warnings]`. It fails against the old heading and passes with the change. All 37 tests in that file pass. - `npm run check` reports six type errors in `packages/ai` tests about model IDs. Unchanged `origin/main` reports the same six errors, so they are unrelated to this change. It reports nothing in `coding-agent`. Fixes #11521 Requested by @davidbrai Co-authored-by: triagent --- packages/coding-agent/src/modes/interactive/interactive-mode.ts | 2 +- packages/coding-agent/test/interactive-mode-status.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/coding-agent/src/modes/interactive/interactive-mode.ts b/packages/coding-agent/src/modes/interactive/interactive-mode.ts index 9707bf5dc..2af951437 100644 --- a/packages/coding-agent/src/modes/interactive/interactive-mode.ts +++ b/packages/coding-agent/src/modes/interactive/interactive-mode.ts @@ -2025,7 +2025,7 @@ export class InteractiveMode { if (skillDiagnostics.length > 0) { const warningLines = () => this.formatDiagnostics(skillDiagnostics, sourceInfos); this.loadedResourcesContainer.addChild( - new ThemedText(() => `${theme.fg("warning", "[Skill conflicts]")}\n${warningLines()}`, 0, 0), + new ThemedText(() => `${theme.fg("warning", "[Skill warnings]")}\n${warningLines()}`, 0, 0), ); this.loadedResourcesContainer.addChild(new Spacer(1)); } diff --git a/packages/coding-agent/test/interactive-mode-status.test.ts b/packages/coding-agent/test/interactive-mode-status.test.ts index 72de1fa96..3e26d845c 100644 --- a/packages/coding-agent/test/interactive-mode-status.test.ts +++ b/packages/coding-agent/test/interactive-mode-status.test.ts @@ -1366,7 +1366,7 @@ describe("InteractiveMode.showLoadedResources", () => { }); const output = renderAll(fakeThis.loadedResourcesContainer); - expect(output).toContain("[Skill conflicts]"); + expect(output).toContain("[Skill warnings]"); expect(output).not.toContain("[Skills]"); }); });