Help us improve
Share bugs, ideas, or general feedback.
Diagnoses and fixes Tool Executor issues including MCP server connectivity, registry integrity, and Serena health checks.
npx claudepluginhub espalier-redoubt/claudikins-tool-executorHow this skill is triggered — by the user, by Claude, or both
Slash command
/claudikins-tool-executor:te-doctorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Diagnose and fix issues with the Claudikins Tool Executor.
Diagnoses Tool Executor issues: runs npm tests, checks builds, MCP/Serena connectivity, registry integrity, workspace state. Fixes search_tools and execute_code failures.
Diagnoses and fixes Claude Code setup/runtime issues like API authentication (Anthropic/Bedrock/Vertex), MCP server problems, and config errors using /doctor command, verbose mode, and bash diagnostics.
Runs comprehensive diagnostics on Claude Code environment: plugins, settings, hooks, MCP servers. Identifies issues, supports --fix and --verbose.
Share bugs, ideas, or general feedback.
Diagnose and fix issues with the Claudikins Tool Executor.
Run the test suite to verify everything works:
cd ${CLAUDE_PLUGIN_ROOT}
npm test
Expected output: 43 tests passing across 4 test files.
Check the build is current:
cd ${CLAUDE_PLUGIN_ROOT}
npm run build
If build fails:
tsconfig.json for TypeScript errorsnpm install to ensure dependencies are installedTest that MCP servers can connect. In execute_code:
// Check which clients are available
console.log("Available:", Object.keys({ serena, gemini, context7 }));
// Test a simple call
try {
const result = await serena.get_active_project({});
console.log("Serena OK:", result ? "connected" : "no project");
} catch (e) {
console.log("Serena error:", e.message);
}
Common connectivity issues:
pip install uvx or pipx install uvxVerify YAML files are valid:
cd ${CLAUDE_PLUGIN_ROOT}
# Count tool definitions
find registry -name "*.yaml" | wc -l
# Should be ~102 files
# Check for syntax errors
npm run extract 2>&1 | grep -i error
If registry is corrupted:
rm -rf registry/
npm run extract
Check workspace directory:
cd ${CLAUDE_PLUGIN_ROOT}
ls -la workspace/
du -sh workspace/ # Check disk usage
Clean up old MCP results:
// In execute_code:
const deleted = await workspace.cleanupMcpResults(3600000); // 1 hour
console.log("Cleaned up", deleted, "old result files");
Both Serena instances must be working:
Registry Serena (powers search_tools):
# Test semantic search
search_tools({ query: "diagram", limit: 3 })
# Should return gemini or shadcn tools
Sandbox Serena (available in execute_code):
const symbols = await serena.find_symbol({ name_path: "workspace" });
console.log("Found symbols:", symbols.content?.length || 0);
If Serena fails:
which uvxpython3 --versionuvx --from git+https://github.com/oraios/serena serena start-mcp-serverCauses:
Fix:
npm run extract # Regenerate registry
npm run build # Rebuild
# Restart Claude Code
Causes:
Fix:
execute_code({ code: "...", timeout: 60000 })Causes:
Fix:
# Check environment variables
echo $GEMINI_API_KEY
echo $APIFY_TOKEN
# Test server manually
npx -y @rlabs-inc/gemini-mcp
Cause: Attempting to access files outside workspace.
Fix: All workspace paths must be relative and within ./workspace/:
// Wrong
await workspace.read("/etc/passwd");
await workspace.read("../package.json");
// Right
await workspace.read("data/file.txt");
Cause: Output exceeds 500 character limit.
Fix: Keep logs concise or save verbose output to workspace:
// Instead of:
console.log(JSON.stringify(largeData, null, 2));
// Do:
await workspace.writeJSON("output.json", largeData);
console.log("Saved to output.json");
MCP Server Stderr:
# Claude Code captures MCP stderr
# Check Claude Code's debug output
claude --debug
Audit Log:
// In execute_code, MCP calls are logged
// Access via getAuditLog() in clients.ts (internal only)
| Test File | Tests | Coverage |
|---|---|---|
tests/unit/workspace.test.ts | 13 | Path traversal, read/write, JSON, directories |
tests/unit/clients.test.ts | 6 | Server configs, client management |
tests/unit/search.test.ts | 10 | Tool loading, search, pagination |
tests/integration/execute-code.test.ts | 14 | Execution, workspace access, MCP proxies |
Run specific test file:
npm test -- tests/unit/workspace.test.ts
Run with verbose output:
npm test -- --verbose
If nothing else works:
cd ${CLAUDE_PLUGIN_ROOT}
# Clean everything
rm -rf node_modules dist registry workspace/mcp-results
# Reinstall and rebuild
npm install
npm run extract
npm run build
# Restart Claude Code
${CLAUDE_PLUGIN_ROOT}/tests/ - All test files${CLAUDE_PLUGIN_ROOT}/src/sandbox/clients.ts - Client lifecycle${CLAUDE_PLUGIN_ROOT}/src/search.ts - Search implementation${CLAUDE_PLUGIN_ROOT}/src/sandbox/runtime.ts - Execution engine