AgentSkillsCN

makefile-review

在进行Makefile审计与优化时,请使用此技能。适用于审计Makefile、审视构建系统、检查可移植性、消除配方重复时使用。切勿在创建新Makefile时使用此技能——请改用抽象:make-dogfood技能。切勿在进行架构评审时使用此技能——请改用架构评审技能。

SKILL.md
--- frontmatter
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:evidence-logging
modules:
- dependency-graph
- deduplication-patterns
- portability-checks
- best-practices
version: 1.4.0

Table of Contents

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

Verification: Run the command with --help flag to verify availability.

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'

Verification: Run the command with --help flag to verify availability.

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:evidence-logging 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

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

Verification: Run the command with --help flag to verify availability.

Exit Criteria

  • Context mapped
  • Dependencies analyzed
  • Deduplication reviewed
  • Portability checked
  • Evidence logged

Troubleshooting

Common Issues

Command not found Ensure all dependencies are installed and in PATH

Permission errors Check file permissions and run with appropriate privileges

Unexpected behavior Enable verbose logging with --verbose flag