akin-ozer/cc-devops-skills/makefile-validator
Claude Code and agent skill by akin-ozer/cc-devops-skills
- community
Checking that the SKILL.md file is still in the repository.
Validate, lint, audit, or check Makefiles and .mk files for errors.
Install
npx vskill@latest install akin-ozer/cc-devops-skills/makefile-validatorSKILL.md
Makefile Validator
Overview
Use this skill to validate Makefiles with a local-first, deterministic flow.
Default validator entrypoint:
Validation layers:
- Dependency preflight (
python3,pip3,make) - GNU make syntax check (
make -n --dry-run) whenmakeis available mbake validatembake format --check- Custom security, best-practice, and optimization checks
- Optional
checkmakeandunmakechecks when installed
Trigger Guidance
Use this skill when the request includes Makefile quality, linting, validation, hardening, or troubleshooting.
Trigger Phrases
- "Validate this Makefile"
- "Lint my
.mkfile" - "Find issues in this build Makefile"
- "Check Makefile security problems"
- "Review this Makefile before CI"
Non-Trigger Examples
- Creating a brand new Makefile from scratch (use
makefile-generator) - Running build targets as part of delivery
- General shell scripting work unrelated to Makefiles
Deterministic Execution Model
Run from this skill directory for shortest commands:
Step 1: Preflight
- Confirm target file exists and is readable.
- Confirm whether file edits are allowed (
writable) or only suggestions can be returned (read-only). - Prefer the default validator path first; use fallbacks only when blocked by environment constraints.
Step 2: Baseline Validation (Default Path)
Always record:
- command executed
- exit code
- summary counts (
Errors,Warnings,Info) - issue locations reported by tools
Step 3: Interpret Output and Exit Code
| Exit code | Meaning | Expected summary line | Action | |
|---|---|---|---|---|
0 | no blocking findings | Validation PASSED | optional improvements only | |
1 | warning-only result | Validation PASSED with warnings | fix recommended; merge policy dependent | |
2 | error result | Validation FAILED - errors must be fixed | fix required, then rerun |
Step 4: Progressive Reference Loading
Open only the docs required by the current findings.
| Finding type | Reference doc | |
|---|---|---|
.PHONY, .DELETE_ON_ERROR, .ONESHELL, variable usage, performance structure | docs/best-practices.md | |
| tabs vs spaces, dependency mistakes, credential patterns, anti-patterns | docs/common-mistakes.md | |
mbake behavior, formatter flags, known mbake caveats | docs/bake-tool.md |
Step 5: Fix + Rerun Loop
After applying fixes, rerun:
Loop rules:
- Stop only when no new errors are introduced.
- If warnings remain intentionally, document why they are accepted.
- Always report the latest rerun exit code.
How to Open Docs
Use explicit file-open commands so paths are unambiguous.
From repository root:
From devops-skills-plugin/skills/makefile-validator:
If shell commands are unavailable, use the environment's file-open/read actions on the same paths.
Fallback Behavior
Use these only when the default validator path cannot run fully.
| Constraint | Fallback action | Reporting requirement | |
|---|---|---|---|
python3 or pip3 unavailable | Run limited checks (make -f <file> -n --dry-run if make exists, plus focused grep checks) | State that mbake stages were skipped and coverage is reduced | |
pip3 install mbake fails (offline/proxy/index issue) | Keep syntax/custom checks that still work; defer formatter/linter stages | Report install failure and request rerun in a network-enabled environment | |
make unavailable | Continue with non-syntax stages; script already downgrades syntax stage | Explicitly note syntax coverage was skipped | |
checkmake or unmake unavailable | Continue; these are optional stages | Note optional lint/portability coverage not executed | |
| target file is read-only | Provide patch suggestions only | Mark response as advisory only | |
| command execution unavailable | Provide static review from file contents and docs | Mark result as non-executed analysis |
Minimal fallback commands:
Example Outcomes Mapped to Exit Codes
Clean Result (exit 0)
Warning-Only Result (exit 1)
Error Result (exit 2)
Troubleshooting Quick Start
- Verify required tools:
- Isolate GNU make syntax failures:
- Check likely tab-indentation violations:
- Rerun validator with plain output and capture log:
- If mbake install keeps failing, validate in a network-enabled shell or with an internal PyPI mirror, then rerun the full validator.
Skill Paths
Done Criteria
This skill update is complete when all are true:
- Trigger guidance is explicit and easy to identify.
- Execution flow is deterministic (preflight -> run -> interpret -> docs -> rerun).
- "How to open docs" instructions include exact commands and paths.
- Example outcomes are explicitly tied to exit codes (
0,1,2). - Fallback behavior is documented for missing tools and constrained environments.
- Troubleshooting quick-start is concise and runnable.
- Frontmatter
nameanddescriptionremain unchanged.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdevops-skills-plugin/skills/makefile-validator/SKILL.md
Popularity
- Repository stars
- 294
- Repository forks
- 32
- 7-day trend score
- 28
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/akin-ozer/cc-devops-skills/makefile-validator)