From 6b5704aa7874a7ba43d0d9abe0553c27000db778 Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Sun, 15 Mar 2026 11:49:07 -0600 Subject: [PATCH] fix: remove invalid skills frontmatter from UI agents and update test counts Strip unsupported `skills:` key from gsd-ui-auditor, gsd-ui-checker, and gsd-ui-researcher agent frontmatter. Update Copilot install test expectations to 36 skills / 15 agents. Co-Authored-By: Claude Opus 4.6 (1M context) --- agents/gsd-ui-auditor.md | 2 -- agents/gsd-ui-checker.md | 2 -- agents/gsd-ui-researcher.md | 2 -- tests/copilot-install.test.cjs | 11 +++++++---- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/agents/gsd-ui-auditor.md b/agents/gsd-ui-auditor.md index 4aaf619af..9ad27bbf9 100644 --- a/agents/gsd-ui-auditor.md +++ b/agents/gsd-ui-auditor.md @@ -3,8 +3,6 @@ name: gsd-ui-auditor description: Retroactive 6-pillar visual audit of implemented frontend code. Produces scored UI-REVIEW.md. Spawned by /gsd:ui-review orchestrator. tools: Read, Write, Bash, Grep, Glob color: "#F472B6" -skills: - - gsd-ui-auditor-workflow # hooks: # PostToolUse: # - matcher: "Write|Edit" diff --git a/agents/gsd-ui-checker.md b/agents/gsd-ui-checker.md index f32f5d4a6..2aa6b2c97 100644 --- a/agents/gsd-ui-checker.md +++ b/agents/gsd-ui-checker.md @@ -3,8 +3,6 @@ name: gsd-ui-checker description: Validates UI-SPEC.md design contracts against 6 quality dimensions. Produces BLOCK/FLAG/PASS verdicts. Spawned by /gsd:ui-phase orchestrator. tools: Read, Bash, Glob, Grep color: "#22D3EE" -skills: - - gsd-ui-checker-workflow --- diff --git a/agents/gsd-ui-researcher.md b/agents/gsd-ui-researcher.md index 78335cc60..940b0ff93 100644 --- a/agents/gsd-ui-researcher.md +++ b/agents/gsd-ui-researcher.md @@ -3,8 +3,6 @@ name: gsd-ui-researcher description: Produces UI-SPEC.md design contract for frontend phases. Reads upstream artifacts, detects design system state, asks only unanswered questions. Spawned by /gsd:ui-phase orchestrator. tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__* color: "#E879F9" -skills: - - gsd-ui-researcher-workflow # hooks: # PostToolUse: # - matcher: "Write|Edit" diff --git a/tests/copilot-install.test.cjs b/tests/copilot-install.test.cjs index 15feea77d..92d56c344 100644 --- a/tests/copilot-install.test.cjs +++ b/tests/copilot-install.test.cjs @@ -626,7 +626,7 @@ describe('copyCommandsAsCopilotSkills', () => { // Count gsd-* directories — should be 31 const dirs = fs.readdirSync(tempDir, { withFileTypes: true }) .filter(e => e.isDirectory() && e.name.startsWith('gsd-')); - assert.strictEqual(dirs.length, 33, `expected 33 skill folders, got ${dirs.length}`); + assert.strictEqual(dirs.length, 36, `expected 36 skill folders, got ${dirs.length}`); } finally { fs.rmSync(tempDir, { recursive: true }); } @@ -750,7 +750,7 @@ describe('Copilot agent conversion - real files', () => { test('all 12 agents convert without error', () => { const agents = fs.readdirSync(agentsSrc) .filter(f => f.startsWith('gsd-') && f.endsWith('.md')); - assert.strictEqual(agents.length, 12, `expected 12 agents, got ${agents.length}`); + assert.strictEqual(agents.length, 15, `expected 15 agents, got ${agents.length}`); for (const agentFile of agents) { const content = fs.readFileSync(path.join(agentsSrc, agentFile), 'utf8'); @@ -1120,8 +1120,8 @@ const { execFileSync } = require('child_process'); const crypto = require('crypto'); const INSTALL_PATH = path.join(__dirname, '..', 'bin', 'install.js'); -const EXPECTED_SKILLS = 33; -const EXPECTED_AGENTS = 12; +const EXPECTED_SKILLS = 36; +const EXPECTED_AGENTS = 15; function runCopilotInstall(cwd) { const env = { ...process.env }; @@ -1200,6 +1200,9 @@ describe('E2E: Copilot full install verification', () => { 'gsd-project-researcher.agent.md', 'gsd-research-synthesizer.agent.md', 'gsd-roadmapper.agent.md', + 'gsd-ui-auditor.agent.md', + 'gsd-ui-checker.agent.md', + 'gsd-ui-researcher.agent.md', 'gsd-verifier.agent.md', ].sort(); assert.deepStrictEqual(gsdAgents, expected);