| name | add-mec-tool |
| description | Use when adding a new wrapped tool, converting an existing tool to use a custom Docker image, adding a version variant (e.g. node26), or any other change that introduces a new bin/ script or docker/ image to the mec project. For complex refactors or architecture changes, the skill defers to planning mode instead of implementing directly. |
Add mec Tool
Overview
Guides adding a new tool wrapper or custom Docker image to the mec project. Covers three scenarios in order of complexity. Always announce which scenario applies at the start.
Announce at start: "Running add-mec-tool: [scenario]."
Step 1 — Identify the scenario
Is this a complex refactor, architecture change, or multi-tool epic?
YES → Scenario D (defer to planning)
Does the tool need a custom Docker image (not a public one)?
YES → Scenario B (custom image)
Is this a version variant of an existing tool (e.g. node26 alongside node24)?
YES → Scenario C (version variant)
Otherwise → Scenario A (new tool, public Docker image)
Scenario A — New tool (public Docker image)
A brand new tool that uses an existing public Docker image (e.g. hashicorp/terraform:latest, python:3.14-alpine).
Checklist
Scenario B — Custom Docker image
The tool requires a custom Dockerfile. All of Scenario A, plus:
Scenario C — Version variant of an existing tool
Adding a new version alias (e.g. node26, npm24) alongside an existing tool.
Checklist
No new test file needed if the variant follows the exact same pattern — add a test case to the existing tests/unit/test-<toolname>.bats instead.
Scenario D — Complex refactor / multi-tool change
If the work involves multiple tools, architecture changes, or modifying shared utilities:
- Do not implement directly — the scope is too broad for a single guided checklist.
- Summarize what the user wants to achieve.
- Use the planning skill:
superpowers:writing-plans
- The plan should break the work into discrete GH issues (one per tool or concern) and a milestone if applicable.
Step 2 — Execute
Work through the checklist top to bottom. After each file change, state a one-liner (what was changed and why).
Per preferences.md:
- ALWAYS prefer editing existing files over creating new ones
- NEVER create files unless necessary
Step 3 — Verify
Before committing:
bash -n bin/<toolname>
./bin/mec <toolname> --help || ./bin/<toolname> --help
bats tests/unit/test-<toolname>.bats
Step 4 — Commit
Run git log --oneline -5 first. Per git-workflow.md:
- Amend if this is a correction to the current branch's ongoing work
- New commit (
feat: add <toolname> wrapper (#<issue>)) if standalone
Push with explicit branch: git push origin <branch-name>
Output
add-mec-tool complete.
Scenario: <A | B | C | D>
Tool: <toolname>
Files added: <list>
Files changed: <list>
Committed: <yes — <hash> | no>
Next: run claudemd-streamline if CLAUDE.md was updated, to check for duplication.