makefile-standardlisted
Install: claude install-skill painhardcore/developer-standards
# makefile-standard
Naming and shape coach for Makefiles. Not a maximal generator: an operation with no evidence gets no target.
## Scope
Not here: Compose file contents (`compose-standard`), image builds (`dockerfile-standard`), GitHub Actions wiring (`ci-standard`), Go layout and golangci (`go-project-standard`). This skill names the Make wrappers for all of them.
## Workflow
### 1. Inspect needs, not possibilities
List the operations that **exist or were requested**: scripts, CI, README, Compose, deploy, DB tools, current targets. Ignore "nice to have" capabilities with no evidence.
### 2. Name each needed operation
Read [`references/profiles.md`](references/profiles.md) first. Full rules: [`references/makefile-standard.md`](references/makefile-standard.md).
For each needed operation, and only those:
1. Decide where it acts: production is `prod-*`, local is the plain name, shipping code from this machine is `deploy` (never `prod-deploy`). A production backup is `prod-backup`.
2. Map it to a canonical name via profiles or [`references/targets.yaml`](references/targets.yaml).
3. Apply shape: `##` help text, `.PHONY`, kebab-case, `ENV=` where it applies.
4. Add or rename that one target. Adding `deploy` does not drag in `prod-*`.
Greenfield: start from [`assets/Makefile.template`](assets/Makefile.template) and replace every `$(error Adapt…)` with a real recipe. Append a snippet from `assets/snippets/` only when that capability is evidenced (`compose`, `deploy`, `pr