skills/mcp-tool-creator/SKILL.md
Create a project-scoped MCP server that exposes Docker Compose services as named tools. Use when a project has a docker-compose.yml and the user wants to create MCP tools for running commands like linting, testing, database queries, or any docker compose exec operation. Triggers: "create MCP tools", "expose docker tools", "setup project tools", "mcp server for docker", "docker tools for Claude".
npx skillsauth add nicolas-codemate/claudecodeconfig mcp-tool-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a project-scoped MCP server that wraps docker compose exec commands into named tools.
The generated server lives in the project and is registered in .mcp.json.
Five interactive steps. Ask for user input at each step before proceeding.
Python tool generation pattern:
@mcp.tool()
async def tool_name(param: str = "default") -> str:
"""Tool description.
Args:
param: Parameter description.
"""
return await run_docker_command("service", ["command", param])
Node.js tool generation pattern: Add to TOOLS array:
{
name: "tool_name",
description: "Tool description.",
inputSchema: {
type: "object",
properties: {
param: { type: "string", description: "Parameter description" },
},
required: [],
},
},
Add to HANDLERS map:
tool_name: async (args) => {
return await runDockerCommand("service", ["command", args.param || "default"]);
},
{{TOOLS_MARKER}} / {{HANDLERS_MARKER}} comments with generated codePython server (system python3):
{
"mcpServers": {
"{{SERVER_NAME}}": {
"command": "python3",
"args": ["mcp-tools/server.py"]
}
}
}
Python server (venv, when system Python is locked):
{
"mcpServers": {
"{{SERVER_NAME}}": {
"command": "mcp-tools/.venv/bin/python",
"args": ["mcp-tools/server.py"]
}
}
}
Node.js server:
{
"mcpServers": {
"{{SERVER_NAME}}": {
"command": "node",
"args": ["mcp-tools/server.js"]
}
}
}
.mcp.json to the user
</instructions>
Next steps:
development
Method to diagnose and raise the Lighthouse performance score of a public page (landing, marketing, home). Use when asked to improve Lighthouse/PageSpeed scores, when auditing the first uncached paint of a public page, or when a landing embedded in a SPA must reach a top score. Do NOT use for in-app screen performance (data loading, rendering). For a brand-new landing, the first recommendation is static HTML with no framework runtime — most of this skill exists for when that is not an option.
tools
Audits a project's Claude Code setup against real usage — mines the project's conversations (worktrees included), confronts the project's skills/agents/CLAUDE.md with best practices, and proposes adjustments or new skills/agents/rules. Use when the user asks to audit the project config, analyze project conversations, or find automation opportunities for the current project. Do NOT use for the global ~/.claude configuration (use /audit-config instead).
development
Coaching workflow orchestrator. Guides the developer through implementation without writing code.
development
Disciplined methodology for code architecture refactoring. Use when the user asks to refactor architecture, decouple code, restructure a family of classes, redesign an interface, or rename/reorganize a set of related components. Forces a big-picture analysis before any code is written. Do NOT use for simple bug fixes, feature additions, or single-file refactoring.