prefer-make
Build with Make
This project uses a Makefile. Always prefer make targets over running go commands directly.
Rules
- Check the Makefile first before running any
go build,go test,go run,go vet,go fmt, orgolangci-lintcommand. Look for a corresponding target. - Use the Makefile target instead of the raw
gocommand. For example:make buildinstead ofgo build ./...make testinstead ofgo test ./...make lintinstead ofgolangci-lint runmake runinstead ofgo run main.gomake fmtinstead ofgo fmt ./...
- Run
make helpto discover targets. If that fails, read the Makefile directly. - Fall back to raw
gocommands only if no relevant Makefile target exists for the task.
Verification procedure
- Before executing, confirm the target exists by checking
make helpoutput or the Makefile. - After execution, verify the command exited with status 0 and produced expected output.
Common mistakes to watch for
- Assuming target names without checking. Don't guess that
make unit-testexists — read the Makefile. Target names vary across projects. - Adding flags to make targets that already set them. For example, running
make test ARGS="-v -race"when the Makefile already passes-race. Check what the target does before adding flags. - Running raw
go test ./specific/pkg/...for a subset when the Makefile has a target that accepts a package argument (e.g.,make test PKG=./specific/pkg/...).
More from lwlee2608/agent-skills
gh-create-pr
Use when creating/raising/opening/submitting a GitHub PR. Produces short, feature-focused descriptions without a test plan.
26ascii-diagram
Use after generating or editing ASCII art, box diagrams, tables, or any monospace text art to ensure all lines, corners, and boxes are properly aligned.
24gh-update-pr
Use when updating GitHub PR title or body. Works around the gh pr edit GraphQL bug caused by GitHub's Projects Classic deprecation.
23create-skill
Use when creating a new agent skill. Ensures the skill follows quality guidelines for SKILL.md files.
19linear
Use when the user wants to interact with Linear.app — reading or searching issues/tickets.
15writing-system-prompts
Use when writing or editing a system prompt for any LLM API or SDK (any code passing a `system=` / `system` role parameter, or a `.txt`/`.md` file holding such a prompt). Applies prompt-engineering and prompt-caching best practices.
4