Agent skill

Afm Release Wheel

by scouzi1966 in scouzi1966/maclocal-api

A skill your agent uses when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI.

MITAuto-check: warningsAI & LLM Engineering

Install Afm Release Wheel

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a claude-code

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

GitHub CLI
$ gh skill install scouzi1966/maclocal-api afm-release-wheel --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/scouzi1966/maclocal-api.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/afm-release-wheel .claude/skills/afm-release-wheel && 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
afm-release-wheel
GitHub stars
346
Token cost
~1.5k tokens
SKILL.md length
463 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI.

  • Works in 6 steps: Ask Target Registry → Determine Version → Locate and Validate Binary → …
  • User wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI
  • SKILL.md covers Usage and Instructions
  • Calls uv, pip and git; reaches test.pypi.org; needs UV_PUBLISH_TOKEN

What it does

Afm Release Wheel is an agent skill from scouzi1966/maclocal-api. Use when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI. Covers staging assets, building the wheel, and providing the uv publish command. Only for official stable releases, not nightly builds.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering. It works with macOS. The repository describes itself as: 'afm' command cli: macOS server and single prompt mode that exposes Apple's Foundation and MLX Models and other APIs running on your Mac through a single aggregated…. The licence is MIT.

When your agent uses it

  • User wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI

Example prompts

  • “/afm-release-wheel”

Requirements

  • Python 3
  • A credential in UV_PUBLISH_TOKEN
  • A credential in YOUR_TEST_PYPI_TOKEN

Workflow steps

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

  1. Ask Target Registry
  2. Determine Version
  3. Locate and Validate Binary
  4. Stage Assets and Build Wheel
  5. Provide Publish Command
  6. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 138ca5d. 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

    Shell commands in SKILL.md call:

    • uv
    • pip
    • git

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • test.pypi.org

    Also links to:

    • pypi.org

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • UV_PUBLISH_TOKEN

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

Context cost

Afm Release Wheel loads about 1.5k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 463 words of instructions outside code blocks.

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

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: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:22
    e (`--token`, `UV_PUBLISH_TOKEN`, or `~/.pypirc`); don't assume it's hardcoded anywhere.

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from scouzi1966/maclocal-api at commit 138ca5d, republished under its MIT licence (© scouzi1966). 463 words, ~1,528 tokens.

Download SKILL.mdSave it as .claude/skills/afm-release-wheel/SKILL.md (or your agent's skills folder).
name
afm-release-wheel
description
Use when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI. Covers staging assets, building the wheel, and providing the uv publish command. Only for official stable releases, not nightly builds.
user_invocable
true

AFM Release Wheel

Build a PyPI-distributable wheel from an existing compiled afm binary and provide the publish command.

Only official stable releases can be published to PyPI. Nightly builds are NOT distributed via pip.

Usage

  • /afm-release-wheel — build wheel from existing release binary
  • /afm-release-wheel 0.9.7 — build wheel and set version

Instructions

Step 1: Ask Target Registry

The maintainer has a TestPyPI account set up (separate login from production PyPI, 2FA + API token). So TestPyPI validation is always available — default to recommending it for any first upload of a new version before production. The token is supplied at publish time (--token, UV_PUBLISH_TOKEN, or ~/.pypirc); don't assume it's hardcoded anywhere.

Use AskUserQuestion:

Question: "Which PyPI registry should this wheel target?"

Options:

  1. "TestPyPI (Recommended for first-time validation)" — publish to https://test.pypi.org
  2. "PyPI Production" — publish to https://pypi.org (official release)

Save the choice for Step 5.

Step 2: Determine Version

If version was provided as argument, use it. Otherwise read current version:

bash
grep '^version = ' pyproject.toml
grep '^__version__' macafm/__init__.py

Use AskUserQuestion to confirm: "Current version is X.Y.Z. Use this version or specify a new one?"

Both files must agree. If they differ, update both before proceeding:

bash
sed -i '' 's/^version = ".*"/version = "NEW_VERSION"/' pyproject.toml
sed -i '' 's/^__version__ = ".*"/__version__ = "NEW_VERSION"/' macafm/__init__.py
Step 3: Locate and Validate Binary
bash
BIN=".build/arm64-apple-macosx/release/afm"
[ -x "$BIN" ] || BIN=".build/release/afm"

if [ ! -x "$BIN" ]; then
  echo "ERROR: No compiled binary found. Run /build-afm first."
  exit 1
fi

echo "Binary: $(cd "$(dirname "$BIN")" && pwd)/$(basename "$BIN")"
$BIN --version
ls -lh "$BIN"

Also locate required assets:

bash
# Metallib
METALLIB="$(dirname "$BIN")/AFMKit_AFMKitMLX.bundle/default.metallib"
test -f "$METALLIB" && echo "Metallib: OK ($(ls -lh "$METALLIB" | awk '{print $5}'))" || echo "WARNING: No metallib found"

# WebUI (MANDATORY)
test -f Resources/webui/index.html.gz && echo "WebUI: OK" || echo "FATAL: WebUI MISSING — run /build-afm first"

# Info.plist embedded with NSSpeechRecognitionUsageDescription (MANDATORY for macOS 26)
# Wheel users get a crash on `afm speech` / POST /v1/audio/transcriptions / chat input_audio
# if the binary doesn't have this key embedded. See Sources/AFMCLI/Info.plist +
# Package.swift -Xlinker -sectcreate flags.
if otool -l "$BIN" | grep -q '__info_plist' && strings "$BIN" | grep -q 'NSSpeechRecognitionUsageDescription'; then
  echo "Info.plist: OK (NSSpeechRecognitionUsageDescription embedded)"
else
  echo "FATAL: Info.plist missing or NSSpeechRecognitionUsageDescription not embedded — run /build-afm to rebuild"
fi

If binary is missing, STOP and tell user to run /build-afm first. If WebUI is missing, STOP — the -w flag won't work without it. Run /build-afm to rebuild with webui. If Info.plist check fails, STOP — shipping a wheel without the embedded Info.plist means every pip user that calls Speech Recognition gets a SIGABRT on macOS 26. Run /build-afm (which now enforces this).

Show full SKILL.md (218 more words)Show less
Step 4: Stage Assets and Build Wheel

Stage compiled artifacts into macafm/ for wheel bundling, build, then clean:

bash
# Stage binary + metallib
mkdir -p macafm/bin
cp "$BIN" macafm/bin/
if [ -f "$METALLIB" ]; then
  cp "$METALLIB" macafm/bin/
fi

# Stage webui (MANDATORY — verified in Step 3)
mkdir -p macafm/share/webui
cp Resources/webui/index.html.gz macafm/share/webui/

# Build wheel + sdist
uv build

# Clean staged assets (never commit binaries to git)
rm -rf macafm/bin macafm/share

Verify the wheel was created and has real content (not an empty 9KB wheel):

bash
ls -lh dist/macafm-*.whl dist/macafm-*.tar.gz
# Wheel should be ~15-25 MB (contains binary + metallib)

If wheel is under 1 MB, STOP — assets were not staged correctly.

MANDATORY: Verify wheel contains webui:

bash
unzip -l dist/macafm-*.whl | grep "index.html.gz" && echo "WebUI in wheel: OK" || echo "FATAL: WebUI missing from wheel!"

If WebUI is missing from the wheel, STOP.

Step 5: Provide Publish Command

Based on the registry choice from Step 1, provide the exact command with the wheel path.

For TestPyPI:

uv publish --publish-url https://test.pypi.org/legacy/ --token <YOUR_TEST_PYPI_TOKEN> dist/macafm-VERSION*

After publishing, tell user to verify:

pip install --index-url https://test.pypi.org/simple/ macafm==VERSION

For PyPI Production:

uv publish --token <YOUR_PYPI_TOKEN> dist/macafm-VERSION*

After publishing, tell user to verify:

pip install macafm==VERSION
Step 6: Report

Report to the user:

  • Version published
  • Registry (TestPyPI or Production)
  • Wheel file path and size
  • The exact publish command to run (with actual paths, only token placeholder)
  • The verification install command

Remind the user:

  • TestPyPI: Good for validation. Install with --index-url https://test.pypi.org/simple/
  • Production: This is the real release. pip install macafm will get this version.
  • After publishing to production, commit the version bump if not already done:
    git add pyproject.toml macafm/__init__.py
    git commit -m "Bump version to VERSION"
Error Handling
  • No binary found: Direct user to /build-afm
  • uv build fails: Check that uv is installed (pip install uv), check pyproject.toml syntax
  • Wheel too small (<1 MB): Assets not staged — re-run Step 4
  • Version conflict: Both pyproject.toml and macafm/__init__.py must match

© scouzi1966, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/afm-release-wheel of scouzi1966/maclocal-api.

Open the folder on GitHubat commit 138ca5d

Compare with similar skills

Afm Release Wheel 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.

Afm Release Wheel compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Afm Release Wheel this skillscouzi1966/maclocal-api346—~1.5kAutomated safety check: WarnMIT
AgentSquad for Swift2FastLabs/agent-squad7.8k—~3.5kAutomated safety check: PassApache-2.0
Perfupraullenchai/Rapid-MLX4k—~1.6kAutomated safety check: NotesCustom licence
Mlx Serveddalcu/mlx-serve1.8k—~1kAutomated safety check: PassCustom licence
Edge Bringupexeex/edge-cores110—~1.7kAutomated safety check: NotesApache-2.0
Murmurxiaopengde/murmur109—~2.9kAutomated safety check: NotesMIT

Similar skills

  • AgentSquad for Swift

    2FastLabs/agent-squad

    Guides building on-device multi-agent apps in Swift with the AgentSquad framework: which agent, orchestrator, classifier, storage or voice type fits each situation.

    7.8k GitHub stars~3.5k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Perfup

    raullenchai/Rapid-MLX

    Autonomous performance optimization: research, PoC, benchmark, implement, review, PR

    4k GitHub stars~1.6k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • Mlx Serve

    ddalcu/mlx-serve

    Hook an app, game or script up to the local mlx-serve server for LLM chat, embeddings, image, speech, music, sound effect, video and 3D generation, and Laya/Kev/Clef typed decisions.

    1.8k GitHub stars~1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Edge Bringup

    exeex/edge-cores

    Prepare a macOS or Ubuntu machine for edge-e3 development, diagnose missing Verilator/LLVM/Python dependencies, initialize the public repository, and answer or act on the example prompts in the root…

    110 GitHub stars~1.7k tokensUpdated 15 days ago
    AI & LLM EngineeringAuto-check: notes
  • Murmur

    xiaopengde/murmur

    把一段中文(或任意 Whisper 支持语言)的会议/面试录音用本地 Whisper large-v3 转成文本,再清洗成带说话人标签、修过 ASR 错字、分好章节的 markdown 文档(可选再转成 docx)。跨平台(macOS Apple Silicon 用 mlx-whisper,Windows/Linux/Intel Mac 用…

    109 GitHub stars~2.9k tokensUpdated 4 mo ago
    AI & LLM EngineeringAuto-check: notes
  • Cv Deploy

    LMIXR/CV_Deployment_skill

    基于 helpfile 工程经验,协助 agent 配置 CV 主机和边缘设备环境、编译视觉与推理依赖、接入摄像头视频并打包部署服务。适用于 Ubuntu、CentOS、Windows、macOS、Jetson、树莓派和 RK3399 的 CV 工程实施与故障排查,以及相关移动端配套工具;模型训练和纯算法设计不属于本技能主线。

    188 GitHub stars~547 tokensUpdated 12 days ago
    AI & LLM EngineeringAuto-check passed

More from scouzi1966/maclocal-api

All 12 skills in this repo
  • Afm

    scouzi1966/maclocal-api

    Maintain and extend AFM (maclocal-api), a Swift OpenAI-compatible local LLM server and CLI for Apple Foundation Models, MLX models, API gateway proxying, and Vision OCR.

    346 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Build Afm

    scouzi1966/maclocal-api

    Build AFM from scratch — submodules, patches, webui, and Swift build.

    346 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check: notes
  • Codex Promptfoo Agentic Eval

    scouzi1966/maclocal-api

    Run and review the Promptfoo-based AFM agentic evaluation suite.

    346 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Test Afm Binary

    scouzi1966/maclocal-api

    Test a pre-built afm binary at any path — runs pre-flight safety checks, then any combination of unit tests, assertions, smart analysis, promptfoo evals, batch validation, OpenAI compat, GPU…

    346 GitHub stars~3.8k tokensUpdated yesterday
    Auto-check passed
  • Test Macafm

    scouzi1966/maclocal-api

    Run the maclocal-api (AFM/MLX) test suite — automated assertions and smart analysis.

    346 GitHub stars~7k tokensUpdated yesterday
    Auto-check passed
  • Test Opencode Tooling

    scouzi1966/maclocal-api

    A skill your agent uses when testing tool call reliability between OpenCode and afm — captures streaming XML tool call errors, classifies them as afm translation bugs vs model generation errors, and…

    346 GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Afm Release Wheel

What does Afm Release Wheel do?

A skill your agent uses when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI. Afm Release Wheel is an agent skill from scouzi1966/maclocal-api. Use when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI.

When should I use Afm Release Wheel?

Afm Release Wheel fits situations like: user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI.

How do I install Afm Release Wheel in Claude Code?

Run `npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a claude-code`. Or copy the skill folder (.claude/skills/afm-release-wheel in scouzi1966/maclocal-api) into .claude/skills/afm-release-wheel in your project. Claude Code loads it when a task matches its description.

How do I install Afm Release Wheel in Codex?

Run `npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a codex`. Or copy the skill folder (.claude/skills/afm-release-wheel in scouzi1966/maclocal-api) into .agents/skills/afm-release-wheel in your project. Codex loads it when a task matches its description.

Can I use Afm Release Wheel 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 scouzi1966/maclocal-api --skill afm-release-wheel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/afm-release-wheel, .gemini/skills/afm-release-wheel, .github/skills/afm-release-wheel and .opencode/skills/afm-release-wheel in your project.

What does Afm Release Wheel need to run?

Going by SKILL.md and its folder, Afm Release Wheel needs the command-line tools its instructions call (uv, pip and git) and credentials named UV_PUBLISH_TOKEN. Our summary lists: Python 3; A credential in UV_PUBLISH_TOKEN; A credential in YOUR_TEST_PYPI_TOKEN.

Does Afm Release Wheel access the network?

SKILL.md names 2 domains. In commands or code: test.pypi.org; the agent is likely to contact it when it follows the instructions. As links in the text: pypi.org. This is read from the text; nothing was executed.

Is Afm Release Wheel safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Afm Release Wheel use?

Afm Release Wheel is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Afm Release Wheel use?

About 1.5k tokens (SKILL.md is roughly 6.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 Afm Release Wheel?

Skills that share tags, products or a category with Afm Release Wheel: AgentSquad for Swift (2FastLabs/agent-squad, 7.8k stars), Perfup (raullenchai/Rapid-MLX, 4k stars), Mlx Serve (ddalcu/mlx-serve, 1.8k stars) and Edge Bringup (exeex/edge-cores, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Afm Release Wheel?

scouzi1966 (a GitHub user) maintains it in scouzi1966/maclocal-api, which has 346 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.

Source: scouzi1966/maclocal-api on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.