plugins/makefile-core/skills/creating-makefile/SKILL.md
Scaffold or review Makefiles following org conventions. Use when creating a new Makefile, auditing an existing one, or adding recipes to a project. Auto-detects project type from the working directory.
npx skillsauth add qte77/claude-code-plugins creating-makefileInstall 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.
Target: $ARGUMENTS
Creates or reviews a rigorous, consistent Makefile following org conventions.
references/makefile-conventions.mdreferences/lint-makefile.shreferences/scaffold-*.mdEvery Makefile must have these elements in order:
# Header comment describing the project
# Run `make` to see all available recipes.
# GNU Make version guard
ifeq ($(filter oneshell,$(.FEATURES)),)
$(error GNU Make >= 3.82 required (.ONESHELL). macOS ships 3.81 — install via: brew install make, then use gmake)
endif
.SILENT:
.ONESHELL:
.PHONY: \
recipe_a recipe_b \
help
.DEFAULT_GOAL := help
# -- config --
VERBOSE ?= 0
ifeq ($(VERBOSE),0)
# quiet flags per tool
endif
## description comment on every public recipe (for help output)# MARK: SECTION to group related recipessetup_* prefix for installation recipes (never bare install)validate chains lint + test (when both exist)command -v X >/dev/null || install XVERBOSE ?= 0 with conditional quiet flags per tool~/.local/bin or ~/.local/share/<tool>, never sudo apt/dnfexport PATH=... inside recipes that invoke tools installed to a non-default prefix (e.g. user-local npm)$ARGUMENTS names a type, use that instead.references/scaffold-*.md in this skill's directory. If one matches the detected project type, read it for language-specific recipe templates. If none matches, build recipes from first principles using the conventions above.references/lint-makefile.sh — fix any failures.make help renders all recipes, make validate (or make lint) runs clean.The scaffold files shipped with this skill are starting points, not an exhaustive list. For a project type without a matching scaffold, apply the same conventions and recipe structure — the patterns (setup, dev, help) are universal.
help: ## Show available recipes grouped by section
echo "Usage: make [recipe]"
echo ""
awk '/^# MARK:/ { \
section = substr($$0, index($$0, ":")+2); \
printf "\n\033[1m%s\033[0m\n", section \
} \
/^[a-zA-Z0-9_-]+:.*?##/ { \
helpMessage = match($$0, /## (.*)/); \
if (helpMessage) { \
recipe = $$1; \
sub(/:/, "", recipe); \
printf " \033[36m%-22s\033[0m %s\n", recipe, substr($$0, RSTART + 3, RLENGTH) \
} \
}' $(MAKEFILE_LIST)
.SILENT, .ONESHELL, .DEFAULT_GOAL := help set.PHONY list up front## description comment# MARK: sections group related recipessnake_case recipe names onlyhelp recipe with standard awk patternVERBOSE ?= 0 with quiet mode supportsudo in setup recipes (user-local installs only)lint-makefile.sh passesdocumentation
Generate or update README.md files across three scopes — repo (with project-type detection), account (GitHub user profile), and org (organization profile). Use when creating, updating, or aligning a README to org conventions.
development
Audit README.md files against best practices for repos, accounts, or orgs. Detects missing sections, stale links, inconsistent formatting, and convention violations. Use when reviewing README quality across one or many repos.
development
Analyzes industry websites for design patterns, layout, typography, and content strategies using first-principles thinking. Use when researching website design, UI patterns, or competitive design analysis.
development
Audits website usability for UX optimization, covering forms, navigation, validation, and microcopy. Use when reviewing user experience, task completion flows, or interface friction points.