Agent skill

Makefile Validator

by akin-ozer in akin-ozer/cc-devops-skills

Validate, lint, audit, or check Makefiles and .mk files for errors.

Apache-2.0Auto-check passedDevelopment

Install Makefile Validator

skills CLI
$ npx skills add akin-ozer/cc-devops-skills --skill makefile-validator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install akin-ozer/cc-devops-skills makefile-validator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/akin-ozer/cc-devops-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/devops-skills-plugin/skills/makefile-validator .claude/skills/makefile-validator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
makefile-validator
GitHub stars
319
Token cost
~1.8k tokens
SKILL.md length
641 words
Files
8 (incl. scripts)
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

Validate, lint, audit, or check Makefiles and .mk files for errors.

  • Works in 5 steps: Preflight → Baseline Validation (Default Path) → Interpret Output and Exit Code → …
  • Tasks that involve Linting and formatting
  • SKILL.md covers Overview, Trigger Guidance, Deterministic Execution Model and How to Open Docs, plus 5 more sections
  • Runs Shell scripts from its folder; calls bash, make and rg

What it does

Makefile Validator is an agent skill from akin-ozer/cc-devops-skills. Validate, lint, audit, or check Makefiles and .mk files for errors.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts (for example `docs/bake-tool.md`, `docs/best-practices.md` and `docs/common-mistakes.md`).

It sits in Development, covering Linting and formatting. The repository describes itself as: DevOps skills for Claude Code and Codex. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Linting and formatting

Example prompts

  • “/makefile-validator”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Preflight
  2. Baseline Validation (Default Path)
  3. Interpret Output and Exit Code
  4. Progressive Reference Loading
  5. Fix + Rerun Loop

What it can do on your machine

Read from SKILL.md and the folder at commit 276af75. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • make
    • rg
    • pip3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip3, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Makefile Validator loads about 1.8k tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 641 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~22
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from akin-ozer/cc-devops-skills at commit 276af75, republished under its Apache-2.0 licence (© akin-ozer). 641 words, ~1,786 tokens.

Download SKILL.mdSave it as .claude/skills/makefile-validator/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
makefile-validator
description
Validate, lint, audit, or check Makefiles and .mk files for errors.

Makefile Validator

Overview

Use this skill to validate Makefiles with a local-first, deterministic flow.

Default validator entrypoint:

bash
bash scripts/validate_makefile.sh <makefile-path>

Validation layers:

  1. Dependency preflight (python3, pip3, make)
  2. GNU make syntax check (make -n --dry-run) when make is available
  3. mbake validate
  4. mbake format --check
  5. Custom security, best-practice, and optimization checks
  6. Optional checkmake and unmake checks 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 .mk file"
  • "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:

bash
cd devops-skills-plugin/skills/makefile-validator
Step 1: Preflight
  1. Confirm target file exists and is readable.
  2. Confirm whether file edits are allowed (writable) or only suggestions can be returned (read-only).
  3. Prefer the default validator path first; use fallbacks only when blocked by environment constraints.
Step 2: Baseline Validation (Default Path)
bash
# From skill directory
bash scripts/validate_makefile.sh <makefile-path>

# From repository root
bash devops-skills-plugin/skills/makefile-validator/scripts/validate_makefile.sh <makefile-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 codeMeaningExpected summary lineAction
0no blocking findingsValidation PASSEDoptional improvements only
1warning-only resultValidation PASSED with warningsfix recommended; merge policy dependent
2error resultValidation FAILED - errors must be fixedfix required, then rerun
Step 4: Progressive Reference Loading

Open only the docs required by the current findings.

Finding typeReference doc
.PHONY, .DELETE_ON_ERROR, .ONESHELL, variable usage, performance structuredocs/best-practices.md
tabs vs spaces, dependency mistakes, credential patterns, anti-patternsdocs/common-mistakes.md
mbake behavior, formatter flags, known mbake caveatsdocs/bake-tool.md
Step 5: Fix + Rerun Loop

After applying fixes, rerun:

bash
bash scripts/validate_makefile.sh <makefile-path>

Loop rules:

  1. Stop only when no new errors are introduced.
  2. If warnings remain intentionally, document why they are accepted.
  3. Always report the latest rerun exit code.

How to Open Docs

Use explicit file-open commands so paths are unambiguous.

From repository root:

bash
sed -n '1,220p' devops-skills-plugin/skills/makefile-validator/docs/best-practices.md
sed -n '1,220p' devops-skills-plugin/skills/makefile-validator/docs/common-mistakes.md
sed -n '1,220p' devops-skills-plugin/skills/makefile-validator/docs/bake-tool.md
rg -n "PHONY|DELETE_ON_ERROR|ONESHELL|tab|credential|mbake" devops-skills-plugin/skills/makefile-validator/docs/*.md

From devops-skills-plugin/skills/makefile-validator:

bash
sed -n '1,220p' docs/best-practices.md
sed -n '1,220p' docs/common-mistakes.md
sed -n '1,220p' docs/bake-tool.md
rg -n "PHONY|DELETE_ON_ERROR|ONESHELL|tab|credential|mbake" docs/*.md

If shell commands are unavailable, use the environment's file-open/read actions on the same paths.

Show full SKILL.md (283 more words)Show less

Fallback Behavior

Use these only when the default validator path cannot run fully.

ConstraintFallback actionReporting requirement
python3 or pip3 unavailableRun 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 stagesReport install failure and request rerun in a network-enabled environment
make unavailableContinue with non-syntax stages; script already downgrades syntax stageExplicitly note syntax coverage was skipped
checkmake or unmake unavailableContinue; these are optional stagesNote optional lint/portability coverage not executed
target file is read-onlyProvide patch suggestions onlyMark response as advisory only
command execution unavailableProvide static review from file contents and docsMark result as non-executed analysis

Minimal fallback commands:

bash
# Syntax only (when make exists)
make -f <makefile-path> -n --dry-run

# Focused quick checks
grep -n "^\\.DELETE_ON_ERROR:" <makefile-path>
grep -n "^\\.PHONY:" <makefile-path>
grep -nE "^(  |    |        )[a-zA-Z@\\$\\(]" <makefile-path>

Example Outcomes Mapped to Exit Codes

Clean Result (exit 0)
text
Errors:   0
Warnings: 0
Info:     2
✓ Validation PASSED
Warning-Only Result (exit 1)
text
Errors:   0
Warnings: 3
Info:     1
⚠ Validation PASSED with warnings
Error Result (exit 2)
text
Errors:   2
Warnings: 1
Info:     0
⚠ Validation FAILED - errors must be fixed

Troubleshooting Quick Start

  1. Verify required tools:
bash
command -v python3 pip3 make
  1. Isolate GNU make syntax failures:
bash
make -f <makefile-path> -n --dry-run
  1. Check likely tab-indentation violations:
bash
grep -nE "^(  |    |        )[a-zA-Z@\\$\\(]" <makefile-path>
  1. Rerun validator with plain output and capture log:
bash
NO_COLOR=1 bash scripts/validate_makefile.sh <makefile-path> > /tmp/makefile-validator.log 2>&1
echo "exit=$? log=/tmp/makefile-validator.log"
  1. If mbake install keeps failing, validate in a network-enabled shell or with an internal PyPI mirror, then rerun the full validator.

Skill Paths

text
makefile-validator/
├── SKILL.md
├── scripts/
│   └── validate_makefile.sh
├── docs/
│   ├── best-practices.md
│   ├── common-mistakes.md
│   └── bake-tool.md
└── examples/
    ├── good-makefile.mk
    └── bad-makefile.mk

Done Criteria

This skill update is complete when all are true:

  1. Trigger guidance is explicit and easy to identify.
  2. Execution flow is deterministic (preflight -> run -> interpret -> docs -> rerun).
  3. "How to open docs" instructions include exact commands and paths.
  4. Example outcomes are explicitly tied to exit codes (0, 1, 2).
  5. Fallback behavior is documented for missing tools and constrained environments.
  6. Troubleshooting quick-start is concise and runnable.
  7. Frontmatter name and description remain unchanged.

© akin-ozer, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts) in devops-skills-plugin/skills/makefile-validator of akin-ozer/cc-devops-skills.

  • SKILL.md
  • docs/bake-tool.md
  • docs/best-practices.md
  • docs/common-mistakes.md
  • examples/bad-makefile.mk
  • examples/good-makefile.mk
  • scripts/test_validate.sh
  • scripts/validate_makefile.sh

Open the folder on GitHubat commit 276af75

Compare with similar skills

Makefile Validator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Makefile Validator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Makefile Validator this skillakin-ozer/cc-devops-skills319—~1.8kAutomated safety check: PassApache-2.0
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.3k1 repos~2.2kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k1 repos~2.2kAutomated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Babysit PR To Pass CIsgl-project/sglang37k2 repos~3kAutomated safety check: PassApache-2.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.3k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Babysit PR To Pass CI

    sgl-project/sglang

    Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.

    37k GitHub starsUsed in 2 repos~3k tokens
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from akin-ozer/cc-devops-skills

All 30 skills in this repo
  • GitHub Actions Generator

    akin-ozer/cc-devops-skills

    Create, generate, or scaffold GitHub Actions workflows, action.yml, or .github/workflows CI/CD pipelines.

    319 GitHub stars~3.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Helm Generator

    akin-ozer/cc-devops-skills

    Create, scaffold, or generate Helm charts, Chart.yaml, values.yaml, templates, helpers.

    319 GitHub stars~2.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Jenkinsfile Generator

    akin-ozer/cc-devops-skills

    Generate/create/scaffold Jenkinsfile — declarative, scripted, shared library, CI/CD pipelines.

    319 GitHub stars~3.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Dockerfile Validator

    akin-ozer/cc-devops-skills

    Validate, lint, audit, or scan a Dockerfile for security and best practices.

    319 GitHub stars~2.3k tokensUpdated 2 mo ago
    Auto-check passed
  • GitHub Actions Validator

    akin-ozer/cc-devops-skills

    Validate, lint, audit, fix GitHub Actions workflows (.github/workflows).

    319 GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Jenkinsfile Validator

    akin-ozer/cc-devops-skills

    Validate, lint, audit, or check Jenkinsfiles and shared libraries.

    319 GitHub stars~2.7k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Makefile Validator

What does Makefile Validator do?

Validate, lint, audit, or check Makefiles and .mk files for errors. Makefile Validator is an agent skill from akin-ozer/cc-devops-skills.mk files for errors.

When should I use Makefile Validator?

Makefile Validator fits situations like: tasks that involve Linting and formatting.

How do I install Makefile Validator in Claude Code?

Run `npx skills add akin-ozer/cc-devops-skills --skill makefile-validator -a claude-code`. Or copy the skill folder (devops-skills-plugin/skills/makefile-validator in akin-ozer/cc-devops-skills) into .claude/skills/makefile-validator in your project. Claude Code loads it when a task matches its description.

How do I install Makefile Validator in Codex?

Run `npx skills add akin-ozer/cc-devops-skills --skill makefile-validator -a codex`. Or copy the skill folder (devops-skills-plugin/skills/makefile-validator in akin-ozer/cc-devops-skills) into .agents/skills/makefile-validator in your project. Codex loads it when a task matches its description.

Can I use Makefile Validator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add akin-ozer/cc-devops-skills --skill makefile-validator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/makefile-validator, .gemini/skills/makefile-validator, .github/skills/makefile-validator and .opencode/skills/makefile-validator in your project.

What does Makefile Validator need to run?

Going by SKILL.md and its folder, Makefile Validator needs a shell for the scripts in its folder and the command-line tools its instructions call (bash, make, rg and pip3). Our summary lists: Python 3; A Bash shell.

Does Makefile Validator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Makefile Validator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Makefile Validator use?

Makefile Validator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Makefile Validator use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Makefile Validator?

Skills that share tags, products or a category with Makefile Validator: Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars) and Babysit PR To Pass CI (sgl-project/sglang, 37k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Makefile Validator?

akin-ozer (a GitHub user) maintains it in akin-ozer/cc-devops-skills, which has 319 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on July 26, 2026.

Source: akin-ozer/cc-devops-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.