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.
A skill your agent uses when user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scouzi1966/maclocal-api afm-release-wheel --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "afm-release-wheel" agent skill from https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheel into .claude/skills/afm-release-wheel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "afm-release-wheel", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheelType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scouzi1966/maclocal-api afm-release-wheel --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scouzi1966/maclocal-api.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/afm-release-wheel .agents/skills/afm-release-wheel && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "afm-release-wheel" agent skill from https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheel into .agents/skills/afm-release-wheel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "afm-release-wheel", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scouzi1966/maclocal-api afm-release-wheel --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scouzi1966/maclocal-api.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/afm-release-wheel .cursor/skills/afm-release-wheel && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "afm-release-wheel" agent skill from https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheel into .cursor/skills/afm-release-wheel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "afm-release-wheel", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scouzi1966/maclocal-api.git --path .claude/skills/afm-release-wheel--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scouzi1966/maclocal-api afm-release-wheel --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scouzi1966/maclocal-api.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/afm-release-wheel .gemini/skills/afm-release-wheel && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "afm-release-wheel" agent skill from https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheel into .gemini/skills/afm-release-wheel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "afm-release-wheel", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scouzi1966/maclocal-api afm-release-wheelInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scouzi1966/maclocal-api.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/afm-release-wheel .github/skills/afm-release-wheel && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "afm-release-wheel" agent skill from https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheel into .github/skills/afm-release-wheel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "afm-release-wheel", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scouzi1966/maclocal-api --skill afm-release-wheel -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scouzi1966/maclocal-api afm-release-wheel --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scouzi1966/maclocal-api.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/afm-release-wheel .opencode/skills/afm-release-wheel && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "afm-release-wheel" agent skill from https://github.com/scouzi1966/maclocal-api/tree/main/.claude/skills/afm-release-wheel into .opencode/skills/afm-release-wheel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "afm-release-wheel", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
afm-release-wheelA 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. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 138ca5d. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
uvpipgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
test.pypi.orgAlso links to:
pypi.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
UV_PUBLISH_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check found patterns that need a careful read before installing.
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.
The full file from scouzi1966/maclocal-api at commit 138ca5d, republished under its MIT licence (© scouzi1966). 463 words, ~1,528 tokens.
.claude/skills/afm-release-wheel/SKILL.md (or your agent's skills folder).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.
/afm-release-wheel — build wheel from existing release binary/afm-release-wheel 0.9.7 — build wheel and set versionThe 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:
Save the choice for Step 5.
If version was provided as argument, use it. Otherwise read current version:
grep '^version = ' pyproject.toml
grep '^__version__' macafm/__init__.pyUse 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:
sed -i '' 's/^version = ".*"/version = "NEW_VERSION"/' pyproject.toml
sed -i '' 's/^__version__ = ".*"/__version__ = "NEW_VERSION"/' macafm/__init__.pyBIN=".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:
# 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"
fiIf 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).
Stage compiled artifacts into macafm/ for wheel bundling, build, then clean:
# 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/shareVerify the wheel was created and has real content (not an empty 9KB wheel):
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:
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.
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==VERSIONFor PyPI Production:
uv publish --token <YOUR_PYPI_TOKEN> dist/macafm-VERSION*After publishing, tell user to verify:
pip install macafm==VERSIONReport to the user:
Remind the user:
--index-url https://test.pypi.org/simple/pip install macafm will get this version.git add pyproject.toml macafm/__init__.py
git commit -m "Bump version to VERSION"/build-afmuv build fails: Check that uv is installed (pip install uv), check pyproject.toml syntaxpyproject.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
Just SKILL.md in .claude/skills/afm-release-wheel of scouzi1966/maclocal-api.
Open the folder on GitHubat commit 138ca5d
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Afm Release Wheel this skillscouzi1966/maclocal-api | 346 | — | ~1.5k | Automated safety check: Warn | MIT | |
| AgentSquad for Swift2FastLabs/agent-squad | 7.8k | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Perfupraullenchai/Rapid-MLX | 4k | — | ~1.6k | Automated safety check: Notes | Custom licence | |
| Mlx Serveddalcu/mlx-serve | 1.8k | — | ~1k | Automated safety check: Pass | Custom licence | |
| Edge Bringupexeex/edge-cores | 110 | — | ~1.7k | Automated safety check: Notes | Apache-2.0 | |
| Murmurxiaopengde/murmur | 109 | — | ~2.9k | Automated safety check: Notes | MIT |
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.
raullenchai/Rapid-MLX
Autonomous performance optimization: research, PoC, benchmark, implement, review, PR
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.
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…
xiaopengde/murmur
把一段中文(或任意 Whisper 支持语言)的会议/面试录音用本地 Whisper large-v3 转成文本,再清洗成带说话人标签、修过 ASR 错字、分好章节的 markdown 文档(可选再转成 docx)。跨平台(macOS Apple Silicon 用 mlx-whisper,Windows/Linux/Intel Mac 用…
LMIXR/CV_Deployment_skill
基于 helpfile 工程经验,协助 agent 配置 CV 主机和边缘设备环境、编译视觉与推理依赖、接入摄像头视频并打包部署服务。适用于 Ubuntu、CentOS、Windows、macOS、Jetson、树莓派和 RK3399 的 CV 工程实施与故障排查,以及相关移动端配套工具;模型训练和纯算法设计不属于本技能主线。
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.
scouzi1966/maclocal-api
Build AFM from scratch — submodules, patches, webui, and Swift build.
scouzi1966/maclocal-api
Run and review the Promptfoo-based AFM agentic evaluation suite.
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…
scouzi1966/maclocal-api
Run the maclocal-api (AFM/MLX) test suite — automated assertions and smart analysis.
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…
Works with
Categories
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.
Afm Release Wheel fits situations like: user wants to build a PyPI wheel from an existing compiled afm binary and publish to PyPI.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.