agentCLAWHUBUnverified

makefile-review

Audits Makefiles for build correctness, portability, and recipe duplication Skill: makefile-review Owner: athola Summary: Audits Makefiles for build correctness, portability, and recipe duplication Tags: latest:1.9.19 Version history: v1.9.19 | 2026-08-26T13:18:53.332Z | user Release v1.9.19 v1.9.17 | 2026-07-30T05:39:06.878Z | user Release v1.9.17 v1.9.16 | 2026-07-14T19:55:48.848Z | user Release v1.9.16 v1.9.14 | 2026-06-30T18:04:10.129Z | user Release v1.9.14 v1.9.13 | 2026-06-27T16:22:11

OpenClaw

Rank

62

Safety

84

Downloads

1.5k

Updated

Oct 10, 2026

Version

1.9.19

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.5K downloadsadoption · observed Oct 10, 2026
Latest release
1.9.19release · observed Aug 26, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17emme0e2m3cpf7k2jvp3a84984b8z9:nm-pensive-makefile-review
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-makefile-review/snapshot"

Documentation

CLAWHUB

146,270 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: makefile-review
description: Audits Makefiles for build correctness, portability, and recipe duplication
version: 1.9.8
triggers:
  - makefile
  - build
  - make
  - portability
  - automation
  - reviewing a Makefile or before committing Makefile changes
metadata: {"openclaw": {"homepage": "https://github.com/athola/claude-night-market/tree/master/plugins/pensive", "emoji": "\ud83e\udd9e", "requires": {"config": ["night-market.pensive:shared", "night-market.imbue:proof-of-work"]}}}
source: claude-night-market
source_plugin: pensive
---

> **Night Market Skill** — ported from [claude-night-market/pensive](https://github.com/athola/claude-night-market/tree/master/plugins/pensive). For the full experience with agents, hooks, and commands, install the Claude Code plugin.


## 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`)

@

_meta.json

{
  "ownerId": "kn7d107jg9jv602h9ytsegydq184a42s",
  "slug": "nm-pensive-makefile-review",
  "version": "1.9.19",
  "publishedAt": 1787750333332
}

modules/best-practices.md

---
parent_skill: pensive:makefile-review
module: best-practices
description: Makefile structure patterns, examples, and anti-patterns to avoid
tags: [best-practices, patterns, anti-patterns, examples]
---

# Makefile Best Practices

## Structure Pattern

Recommended organization:
```makefile
# 1. Variables at top
PROJECT := myproject
SRC_DIR := src
BUILD_DIR := build
VERSION := 1.0.0

# 2. Default goal
.DEFAULT_GOAL := help

# 3. PHONY declarations
.PHONY: all build test clean help

# 4. Help target (self-documenting)
help: ## Show this help
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
		awk 'BEGIN {FS = ":.*?## "}; {printf "%-15s %s\n", $$1, $$2}'

# 5. Main targets with inline docs
build: ## Build the project
	$(MAKE) -C $(SRC_DIR)

test: build ## Run tests
	pytest tests/

clean: ## Clean build artifacts
	rm -rf $(BUILD_DIR)
```

## Pattern Rule Examples

### File Conversion
```makefile
# Markdown to HTML
%.html: %.md
	pandoc $< -o $@

# Source to object
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c
	@mkdir -p $(@D)
	$(CC) $(CFLAGS) -c $< -o $@

# Template expansion
%/config.json: templates/config.json.tmpl
	@mkdir -p $(@D)
	envsubst < $< > $@
```

### Testing Patterns
```makefile
# Test by subdirectory
test-%:
	pytest tests/$*

# Test by type
test-unit test-integration test-e2e: test-%:
	pytest tests/$* -v
```

## Function Examples

### Reusable Command Sequences
```makefile
define run_tests
	@echo "Testing $(1)..."
	cd $(1) && pytest -v
	@echo "Done: $(1)"
endef

test-all:
	$(call run_tests,module1)
	$(call run_tests,module2)
```

### Multi-line Recipes
```makefile
define docker_build
	docker build \
		--build-arg VERSION=$(VERSION) \
		--tag $(1):$(VERSION) \
		--tag $(1):latest \
		.
endef

image:
	$(call docker_build,$(PROJECT))
```

## Anti-Patterns to Avoid

### Repeated Commands
```makefile
# Bad - duplicated logic
test-unit:
	pytest tests/unit

test-integration:
	pytest tests/integration

# Good - pattern rule
test-%:
	pytest tests/$*
```

### Missing PHONY
```makefile
# Bad - 'clean' file blocks target
clean:
	rm -rf build/

# Good
.PHONY: clean
clean:
	rm -rf build/
```

### Hardcoded Paths
```makefile
# Bad - not portable
clean:
	rm -rf /home/user/project/build

# Good - variables
BUILD_DIR ?= build
clean:
	rm -rf $(BUILD_DIR)
```

### Shell-Specific Commands
```makefile
# Bad - Bash-only
check:
	[[ -f config.yaml ]] && echo "Found"

# Good - POSIX compatible
check:
	[ -f config.yaml ] && echo "Found"
```

### Unguarded Variable References
```makefile
# Bad - fails if undefined
clean:
	rm -rf $(BUILD_DIR)

# Good - with default
BUILD_DIR ?= build
clean:
	rm -rf $(BUILD_DIR)
```

### Non-Idempotent Targets
```makefile
# Bad - appends every time
configure:
	echo "DEBUG=1" >> config.mk

# Good - idempotent
configure:
	@echo "DEBUG=1" > config.mk
```

## Error Handling

### Check Prerequisites
```makefile
.PHONY: check-deps
check-deps:
	@command -v python3 >/dev/null || (echo "python3 required"; exit 1)
	@command -v pytest >/dev/null ||

modules/deduplication-patterns.md

---
parent_skill: pensive:makefile-review
module: deduplication-patterns
description: Detect and eliminate recipe duplication using pattern rules and functions
tags: [deduplication, pattern-rules, functions, automatic-variables]
---

# Deduplication Patterns

## Recipe Duplication Detection

Search for repeated command patterns:
```bash
# Common test commands
rg -n "cargo test" -g'Makefile*'
rg -n "pytest" -g'Makefile*'
rg -n "npm run" -g'Makefile*'
rg -n "go test" -g'Makefile*'

# Build commands
rg -n "docker build" -g'Makefile*'
rg -n "gcc.*-o" -g'Makefile*'
```

## Pattern Rules

Replace repeated rules with patterns:
```makefile
# Bad - repeated
test-unit:
	pytest tests/unit

test-integration:
	pytest tests/integration

test-e2e:
	pytest tests/e2e

# Good - pattern rule
test-%:
	pytest tests/$*
```

Pattern rule for file conversion:
```makefile
# Convert all .md to .html
%.html: %.md
	pandoc $< -o $@

# Build objects from sources
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c
	$(CC) $(CFLAGS) -c $< -o $@
```

## Static Pattern Rules

For specific targets with patterns:
```makefile
SOURCES := foo.c bar.c baz.c
OBJECTS := $(SOURCES:.c=.o)

$(OBJECTS): %.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@
```

## Functions and Define Blocks

Reusable command sequences:
```makefile
# Define reusable function
define run_tests
	@echo "Testing $(1)..."
	cd $(1) && pytest
endef

test-all:
	$(call run_tests,module1)
	$(call run_tests,module2)
```

Multi-line define blocks:
```makefile
define install_package
	@echo "Installing $(1)..."
	pip install --quiet $(1)
	@echo "Done: $(1)"
endef

deps:
	$(call install_package,pytest)
	$(call install_package,black)
```

## Automatic Variables Reference

Use automatic variables to reduce duplication:

| Variable | Meaning | Use Case |
|----------|---------|----------|
| `$@` | Target name | Output file path |
| `$<` | First prerequisite | Main input file |
| `$^` | All prerequisites | Link all objects |
| `$?` | Newer prerequisites | Incremental builds |
| `$*` | Stem match | Pattern rule matching |
| `$(@D)` | Directory of target | mkdir parent |
| `$(<D)` | Directory of first prerequisite | Source dirs |

Example:
```makefile
# Before
build/foo.o: src/foo.c
	$(CC) $(CFLAGS) -c src/foo.c -o build/foo.o

# After
build/%.o: src/%.c
	$(CC) $(CFLAGS) -c $< -o $@
```

## Clean Target Best Practices

```makefile
# Good - use variables, don't duplicate paths
BUILD_DIR ?= build
DIST_DIR ?= dist

.PHONY: clean distclean

clean:
	rm -rf $(BUILD_DIR)

distclean: clean
	rm -rf $(DIST_DIR)
```

modules/dependency-graph.md

---
parent_skill: pensive:makefile-review
module: dependency-graph
description: Make database inspection and dependency analysis
tags: [dependencies, phony, circular-deps, includes]
---

# Dependency Graph Analysis

## Make Database Inspection

Inspect the complete expanded database:
```bash
make -pn | less
```

This shows:
- All rules (implicit and explicit)
- Variable assignments
- Default values
- Pattern rules

## PHONY Detection

Check for `.PHONY` declarations:
```bash
rg -n "^\.PHONY:" -g'Makefile*'
```

Common PHONY targets that should be declared:
- `all`, `build`, `test`, `clean`, `install`
- `help`, `format`, `lint`, `release`
- `distclean`, `check`, `docs`

## Circular Dependency Checks

Look for circular dependencies:
```bash
make -pn 2>&1 | grep -i "circular"
```

Common patterns:
```makefile
# Bad - circular
A: B
B: A

# Good - linear
A: B
B: C
```

## Include File Patterns

Find include directives:
```bash
rg -n "^include|^-include" -g'Makefile*'
```

Check for:
- Redundant includes
- Missing includes
- Include order issues
- Conditional includes

Validate included files exist:
```bash
# List includes
rg "^include\s+(\S+)" -or '$1' -g'Makefile*'

# Check they exist
for f in $(rg "^include\s+(\S+)" -or '$1' -g'Makefile*'); do
  [ -f "$f" ] || echo "Missing: $f"
done
```
Github ReposUpdated 17h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/athola/skills/nm-pensive-makefile-review",
      "sourceUrl": "https://clawhub.ai/athola/skills/nm-pensive-makefile-review",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:56:38.640Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-makefile-review/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-makefile-review/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:56:38.640Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.5K downloads",
      "href": "https://clawhub.ai/athola/nm-pensive-makefile-review",
      "sourceUrl": "https://clawhub.ai/athola/nm-pensive-makefile-review",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:56:38.640Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.9.19",
      "href": "https://clawhub.ai/athola/nm-pensive-makefile-review",
      "sourceUrl": "https://clawhub.ai/athola/nm-pensive-makefile-review",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-26T13:18:53.332Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-makefile-review/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-athola-nm-pensive-makefile-review/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.9.19",
      "description": "Release v1.9.19",
      "href": "https://clawhub.ai/athola/nm-pensive-makefile-review",
      "sourceUrl": "https://clawhub.ai/athola/nm-pensive-makefile-review",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-26T13:18:53.332Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to makefile-review and adjacent AI workflows.