npx claudepluginhub otaviof/gosmith --plugin gosmithThis skill is limited to using the following tools:
1. **Validate**: Search for `Makefile` in cwd, parent dirs up to 3 levels (skip for `--review` with explicit path)
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Validate: Search for Makefile in cwd, parent dirs up to 3 levels (skip for --review with explicit path)
Parse arguments:
--list → List targets with descriptions--help <target> → Show target prerequisites and commands--review [path] → Check Makefile against best practices (default: found Makefile)<target> → Execute targetExecute:
grep '^[a-zA-Z0-9_-]*:' Makefile to extract targetshack/ scripts if present), check for:
$(MAKE), ${MAKE}, cd ... && make in targetshack/ scripthack/*.sh that invoke make back (scripts are leaves)make <target>, capture stdout/stderrReport:
<target> completed (exit: 0)" or error with stderr summaryEdge cases:
| Principle | Guidance |
|---|---|
| Single source of authority | Makefile is canonical entry point for all project automation |
| No recursive make | Never use $(MAKE) or ${MAKE} inside targets; use include for unified dependency graph |
| CI calls make, never reimplements | CI/CD pipelines only trigger make <target>; all logic lives in Makefile and hack/ scripts |
| No duplication | Logic exists in one place: Makefile target or hack/ script — never repeated in CI config |
| Modular via include | Split into build/*.mk files; all form unified dependency graph |
| Hack scripts for complexity | Targets needing >3 commands → extract to hack/<name>.sh; Makefile passes values via env vars |
| Scripts are leaves | hack/ scripts never call make; Makefile orchestrates, scripts execute |
# Target delegates to hack/ script via env vars
.PHONY: release
release: ## Build and publish release artifacts
IMAGE_TAG=$(IMAGE_TAG) REGISTRY=$(REGISTRY) hack/release.sh
make back# WRONG — parallel automation hierarchies
$(MAKE) -C subdir clean
# RIGHT — unified via include
include subdir/subdir.mk
clean: subdir-clean
include maintains single dependency graph; recursive $(MAKE) breaks it.