agents/skills/make-discover/SKILL.md
Self-discovery guide for Makefile targets. Run `make help` to see all current targets. Covers Makefile structure, when to add targets, and how to extend the build correctly.
npx skillsauth add drusifer/via make-discoverInstall 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.
One-line summary: Self-discovery guide for Makefile targets — always run make help before assuming what targets exist.
TLDR:
Run make help to get the current, authoritative target list; never rely on hardcoded lists in docs or memory.
New targets require a real recipe in ifdef MKF_ACTIVE and a public stub in else, both with a ## comment for discoverability.
Bob-managed targets live in agents/Makefile.bob (included via -include); inspect last build output at build/build.out.
Always run this first to see the current, authoritative list of targets:
make help
This outputs all targets with their descriptions. The list is always up to date — do not rely on hardcoded lists in docs or memory.
The Makefile uses two blocks:
ifdef MKF_ACTIVE
# ── Real recipes ─────────────────────────────────────────
# Actual shell commands go here.
# mkf routes all output through build/build.out.
else
# ── Interception layer ────────────────────────────────────
# Targets visible to users/agents go here.
# All targets (except help and chat) delegate to mkf:
# @./agents/tools/mkf.py $(V) $@
# Special targets (help, chat) are defined here directly.
endif
ifdef MKF_ACTIVE — this is where the shell commands live.else — a one-liner that delegates to mkf (or runs directly for interactive/bypass targets).## comment to the public stub so it appears in make help.make lintifdef MKF_ACTIVE
lint: ## Run linting checks
@ruff check .
else
lint: ## Run linting checks
@./agents/tools/mkf.py $(V) $@
endif
| Type | Where defined | When to use |
|------|--------------|-------------|
| Normal targets | Both blocks | Default — output captured by mkf |
| Bypass targets (like help, chat) | else block only | Interactive output, must reach terminal directly |
make help # list all targets
cat build/build.out # inspect last build output
make <target> V=-vv # run with filtered stdout (errors only)
make <target> V=-vvv # run with full stdout
See the make skill for full mkf verbosity and output details.
Bob installs a self-contained fragment at agents/Makefile.bob. The project Makefile includes it:
-include agents/Makefile.bob
The -include (note the dash) means make silently ignores the file if missing — safe to commit before install runs. agents/Makefile.bob is updated automatically when make update_bob TARGET=<path> is run.
tools
HCI Expert and UX Advocate. Use for user story review, usability testing, HCI evaluation, API/CLI feedback, sprint user review gates, and usability defect filing.
development
Run tests using the project Makefile. Use for executing test suites, running specific tests, and validating code changes.
tools
Full sprint implementation cycle. Covers planning, phase Bloop, sprint close, retrospective, and launch. Use *plan sprint to start, then *impl <phase> for each phase.
testing
Switch to a specialized agent persona or invoke a persona directly. Use to delegate work to the right specialist.