@athola/makefile-review
skillUse this skill for Makefile audit and optimization. Use when auditing Makefiles, reviewing build system, checking portability, eliminating recipe duplication. Do not use when creating new Makefiles - use abstract:make-dogfood. DO NOT use when: architecture review - use architecture-review.
apm::install
apm install @athola/makefile-reviewapm::skill.md
---
name: makefile-review
description: 'Use this skill for Makefile audit and optimization. Use when auditing
Makefiles, reviewing build system, checking portability, eliminating recipe duplication.
Do not use when creating new Makefiles - use abstract:make-dogfood. DO NOT use when:
architecture review - use architecture-review.'
category: build
tags:
- makefile
- build
- make
- portability
- automation
tools:
- dependency-mapper
- dedup-finder
- portability-checker
usage_patterns:
- makefile-audit
- build-optimization
- portability-review
- deduplication
complexity: intermediate
estimated_tokens: 150
progressive_loading: true
dependencies:
- pensive:shared
- imbue:proof-of-work
modules:
- dependency-graph
- deduplication-patterns
- portability-checks
- best-practices
- plugin-dogfood-checks
---
## Table of Contents
- [Quick Start](#quick-start)
- [When to Use](#when-to-use)
- [Required TodoWrite Items](#required-todowrite-items)
- [Workflow](#workflow)
- [Step 1: Map Context (`makefile-review:context-mapped`)](#step-1:-map-context-(makefile-review:context-mapped))
- [Step 2: Dependency Graph (`makefile-review:dependency-graph`)](#step-2:-dependency-graph-(makefile-review:dependency-graph))
- [Step 3: Deduplication Audit (`makefile-review:dedup-candidates`)](#step-3:-deduplication-audit-(makefile-review:dedup-candidates))
- [Step 4: Portability Check (`makefile-review:tooling-alignment`)](#step-4:-portability-check-(makefile-review:tooling-alignment))
- [Step 5: Evidence Log (`makefile-review:evidence-logged`)](#step-5:-evidence-log-(makefile-review:evidence-logged))
- [Progressive Loading](#progressive-loading)
- [Output Format](#output-format)
- [Summary](#summary)
- [Testing](#testing)
## Testing
Run `pytest plugins/pensive/tests/skills/test_makefile_review.py` to verify review logic.
# Makefile Review Workflow
Audit Makefiles for best practices, deduplication, and portability.
## Quick Start
```bash
/makefile-review
```
## When To Use
- Makefile changes or additions
- Build system optimization
- Portability improvements
- CI/CD pipeline updates
- Developer experience improvements
## When NOT To Use
- Creating new Makefiles - use abstract:make-dogfood
- Architecture review - use architecture-review
## Required TodoWrite Items
1. `makefile-review:context-mapped`
2. `makefile-review:dependency-graph`
3. `makefile-review:dedup-candidates`
4. `makefile-review:tooling-alignment`
5. `makefile-review:evidence-logged`
## Workflow
### Step 1: Map Context (`makefile-review:context-mapped`)
Confirm baseline:
```bash
pwd && git status -sb && git diff --stat
```
**Verification:** Run `git status` to confirm working tree state.
Find Make-related files:
```bash
rg -n "^include" -g'Makefile*'
rg --files -g '*.mk'
```
Document changed targets, project goals, and tooling requirements.
### Step 2: Dependency Graph (`makefile-review:dependency-graph`)
@include modules/dependency-graph.md
### Step 3: Deduplication Audit (`makefile-review:dedup-candidates`)
@include modules/deduplication-patterns.md
### Step 4: Portability Check (`makefile-review:tooling-alignment`)
@include modules/portability-checks.md
### Step 5: Evidence Log (`makefile-review:evidence-logged`)
Use `imbue:proof-of-work` to record command outputs with file:line references.
Summarize findings:
- Severity (critical, major, minor)
- Expected impact
- Suggested refactors
- Owners and dates for follow-ups
## Progressive Loading
Load additional context as needed:
**Best Practices & Examples**: `@include modules/best-practices.md`
**Plugin Dogfood Checks**: `@include modules/plugin-dogfood-checks.md` - Makefile completeness analysis, target generation, and dogfooding validation.
## Output Format
```markdown
## Summary
Makefile review findings
## Context
- Files reviewed: [list]
- Targets changed: [list]
## Dependency Analysis
[graph and issues]
## Duplication Candidates
### [D1] Repeated command
- Locations: [list]
- Recommendation: [pattern rule]
## Portability Issues
[cross-platform concerns]
## Missing Targets
- [ ] help
- [ ] format
- [ ] lint
## Recommendation
Approve / Approve with actions / Block
```
## Exit Criteria
- Context mapped
- Dependencies analyzed
- Deduplication reviewed
- Portability checked
- Evidence logged
## Troubleshooting
### Common Issues
**No Makefile found**
Ensure `Makefile` or `*.mk` files exist in the project root or specify paths explicitly.
**Include directives not resolved**
Run `rg -n "^include" -g'Makefile*'` to trace include chains manually.