* fix(agents): explicitly instruct agents to use available MCP tools GSD executor and planner agents were not mentioning available MCP servers in their task instructions, causing subagents to skip Context7 and other configured MCP tools even when available. Closes #1388 * fix(tests): make copilot executor tool assertion dynamic Hardcoded tools: ['read', 'edit', 'execute', 'search'] assertion broke when mcp__context7__* was added to gsd-executor.md frontmatter. Replace with per-tool presence checks so adding new tools never breaks the test. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
const { test, describe } = require('node:test');
|
|
const assert = require('node:assert');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
describe('MCP tool usage in GSD agents', () => {
|
|
const agentFiles = [
|
|
path.join(__dirname, '..', 'agents', 'gsd-executor.md'),
|
|
path.join(__dirname, '..', 'agents', 'gsd-planner.md'),
|
|
];
|
|
|
|
for (const agentFile of agentFiles) {
|
|
const name = path.basename(agentFile);
|
|
|
|
test(`${name} mentions MCP tool usage`, () => {
|
|
const content = fs.readFileSync(agentFile, 'utf-8');
|
|
const hasMcpGuidance =
|
|
content.toLowerCase().includes('mcp') ||
|
|
content.includes('context7') ||
|
|
content.includes('available tools') ||
|
|
content.includes('MCP tool');
|
|
assert.ok(hasMcpGuidance, `${name} should mention MCP tool availability/usage`);
|
|
});
|
|
}
|
|
|
|
test('gsd-executor.md explicitly instructs to use available MCP tools', () => {
|
|
const content = fs.readFileSync(agentFiles[0], 'utf-8');
|
|
assert.ok(
|
|
content.includes('MCP') || content.includes('mcp__'),
|
|
'executor should reference MCP tools'
|
|
);
|
|
});
|
|
});
|