maclocal-api: Skill for Claude Code

.claude/skills/test-afm-binary/SKILL.md

test-afm-binary is a skill for Claude Code from scouzi1966/maclocal-api. It costs 69 tokens per session (4,085 once invoked), scanned C, original, MIT.

A testing workflow for an already-built AFM program, including safety checks and selectable tests such as unit tests, assertions, analysis, compatibility checks, and performance checks.

In plain words
What is it for?
It is for validating a compiled AFM binary after building it, checking installation behavior, running selected test suites, and profiling GPU use.
Why use it?
It catches problems that could make the program fail after installation, relocation, code changes, or before release.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: names the AskUserQuestion tool; mentions Claude Code; mentions Codex.

This is scouzi1966/maclocal-api's own configuration. It tells Claude Code how to work on maclocal-api itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything maclocal-api configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is MACAFM_MLX_MODEL_CACHE=/Volumes/edata/models/vesta-test-cache ./Scripts/list-models.sh.

Reuse

Borrowing it

Nothing to install: this file belongs to scouzi1966/maclocal-api. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/scouzi1966/maclocal-api/main/.claude/skills/test-afm-binary/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/scouzi1966/maclocal-api

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for test-afm-binary

README.md
[![agentmods](https://agentmods.dev/badge/skills/scouzi1966/maclocal-api/test-afm-binary/github.svg)](https://agentmods.dev/skills/scouzi1966/maclocal-api/test-afm-binary)
Your own site
<a href="https://agentmods.dev/skills/scouzi1966/maclocal-api/test-afm-binary"><img src="https://agentmods.dev/badge/skills/scouzi1966/maclocal-api/test-afm-binary/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for test-afm-binary

Your own site · 80×15
<a href="https://agentmods.dev/skills/scouzi1966/maclocal-api/test-afm-binary"><img src="https://agentmods.dev/badge/skills/scouzi1966/maclocal-api/test-afm-binary.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 69 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,085 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 10 findings, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Rogue Agent · line 103
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 105
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 108
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 109
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 110
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 112
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 113
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 116
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 125
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
  • medium Rogue Agent · line 135
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00069 $0.04085
Opus 5.5 $0.00028 $0.01634
Sonnet 5.5 $0.00014 $0.00817
Haiku 4.5 $0.00007 $0.00409

Measured 1mo ago against content hash 8335e4144277, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade C, and why

test-afm-binary scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

rm -rf "$TMPDIR"
.claude/skills/test-afm-binary/SKILL.md · 295 lines

How it starts

The opening of the file, as written. The whole thing — 295 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Test AFM Binary

Test any pre-built afm binary with a menu of test suites. Validates the binary won't crash when relocated (pip/Homebrew install), then runs the selected tests.

Usage

  • /test-afm-binary — interactive: asks for binary path, model, and test selection
  • /test-afm-binary /path/to/afm — test the binary at the given path
  • /test-afm-binary .build/arm64-apple-macosx/release/afm — test the current build

Instructions

Step 1: Resolve Binary Path

Ask for the binary path if not provided as an argument. Default: .build/arm64-apple-macosx/release/afm.

BIN="${1:-.build/arm64-apple-macosx/release/afm}"
[ -x "$BIN" ] || BIN=".build/release/afm"
BIN_ABS="$(cd "$(dirname "$BIN")" && pwd)/$(basename "$BIN")"
echo "Binary: $BIN_ABS"

If the binary doesn't exist or isn't executable, STOP and tell the user.

Step 2: Pre-Flight Safety Checks (MANDATORY — always run)

These checks run before any test suite. They catch fatal distribution bugs that would crash every pip/Homebrew user. If any check fails, STOP — do not proceed to testing.

Check A: Binary version
REPORTED=$($BIN_ABS --version 2>&1)
echo "Version: $REPORTED"

If the version shows only a base version without a SHA suffix (e.g., v0.9.8 instead of v0.9.8-62395ab), warn the user: this likely means the binary was built with an incremental swift build instead of ./Scripts/build-from-scratch.sh. The SHA injection only happens in the build script. This is a warning, not a blocker — the binary may still be valid for testing.

Check B: Metallib present
BIN_DIR="$(dirname "$BIN_ABS")"

# Check for metallib in either location (SPM bundle or loose file)
if [ -f "$BIN_DIR/AFMKit_AFMKitMLX.bundle/default.metallib" ]; then
  echo "PASS: Metallib in SPM bundle ($(du -h "$BIN_DIR/AFMKit_AFMKitMLX.bundle/default.metallib" | cut -f1))"
elif [ -f "$BIN_DIR/default.metallib" ]; then
  echo "PASS: Loose metallib ($(du -h "$BIN_DIR/default.metallib" | cut -f1))"
else
  echo "FAIL: No metallib found next to binary"
  echo "The binary will crash on first inference without default.metallib"
fi

Read the full file on GitHub · 295 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 295 lines · 69 tokens per session scan C 8335e4144277

Subscribe to this mod's changes

test-afm-binary is a skill published in the GitHub repository scouzi1966/maclocal-api (348 stars, last pushed 12d ago), licensed MIT. It adds 69 tokens to every session and 4,085 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

triage-ticket

Triage an Acme support ticket - set priority, area and next step using Acme's priority matrix.

osaurus-ai/osaurus · 26 tokens

code-review

Review diffs and change sets for bugs, regressions, risks, and missing tests.

HybridAIOne/hybridclaw · 21 tokens

dotty-av-test

Run local black-box voice tests against the physical Dotty robot by playing a TTS prompt through the workstation speakers while the C920 records video and room audio. Use when testing Dotty's wake word, ASR, spoken response, expressions, or end-to-end voice behavior on this bench.

BrettKinny/dotty-stackchan · 64 tokens

load-testing

Use when designing and executing load testing, stress testing, endurance testing, spike testing, and performance testing. Includes test planning, test script creation, result analysis, and performance optimization. Based on CPE certification and performance testing best practices.

Omar-Obando/qwen-orchestrator · 50 tokens

test-automation-architecture

Use when designing test automation frameworks, implementing page object patterns, creating test reporting systems, and managing parallel test execution. Includes test strategy, test data management, and test infrastructure setup. Based on CTFL-TA and ISTQB Advanced Level certifications.

Omar-Obando/qwen-orchestrator · 55 tokens

testing-strategy

Use when designing comprehensive testing strategies, implementing test coverage, setting up CI/CD quality gates, and defining unit, integration, and E2E test approaches. Includes testing pyramid, coverage thresholds, and test automation best practices. Based on software testing certification standards and industry…

Omar-Obando/qwen-orchestrator · 59 tokens