From claude-reachy-mini
Scaffold a new Reachy Mini app via the official Pollen CLI (`reachy-mini-app-assistant create`), then add provenance markers and a `plan.md` user-approval gate. Activate on phrasings like "scaffold a new Reachy Mini app", "create reachy mini app", "scaffold a new Reachy behavior", "start a new dance app for Reachy", "new app skeleton for Reachy Mini". Do not activate when the user only edits an existing app, only publishes one to Hugging Face, or asks about motion logic itself — those have their own skills/agents.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-reachy-mini:app-scaffoldThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Spec: <https://github.com/nolte/claude-reachy-mini/blob/develop/spec/claude/app-scaffold/de.md> (DE canonical) / [`en.md`](https://github.com/nolte/claude-reachy-mini/blob/develop/spec/claude/app-scaffold/en.md).
Spec: https://github.com/nolte/claude-reachy-mini/blob/develop/spec/claude/app-scaffold/de.md (DE canonical) / en.md.
Use this skill when the user wants to:
reachy-mini-sdk knowledgereachy-app-publish-hf (planned), or reachy-mini-app-assistant publish directlyreachy-mini-sdkreachy-mini-on-devicereachy-mini-app-assistant create. Pollen's docs are explicit about this — manual creation drifts on entry-points, HF tags, and package structure in subtle ways. If the CLI is missing or fails, abort with instructions; do not reconstruct the skeleton by hand.--publish is the default. Pollen's convention: always publish unless the user explicitly requests local-only. On publish=true, verify hf auth whoami upfront — never silently fall back to local-only when HF auth is missing.plan.md gate before any code. After scaffolding, write a plan.md stub (Understanding / Approach / Open questions / Approval gate) and wait for explicit user approval before any further code commit. This is Pollen's AGENTS.md convention.<pkg>/static/.| Field | Required | Default | Notes |
|---|---|---|---|
name | yes | — | ASCII kebab-case (reachy-mini-show); CLI normalises to snake_case for the Python package |
target_dir | yes | — | parent directory; CLI creates <target_dir>/<name>/ |
description | yes | — | 1–3 sentences for pyproject.toml / README.md |
template | no | default | default for plain apps; conversation for LLM / speech / audio apps |
publish | no | true | when true, creates HF Space + git remote; requires hf auth login |
If the user is silent on template or publish, use the defaults but state them in the response.
reachy-mini-app-assistant --help available on PATH? If not: uv tool install reachy-mini (or in the active venv: uv pip install reachy-mini).publish=true: hf auth whoami returns a valid identity? If not: uv pip install --upgrade huggingface_hub && hf auth login (token with Write permission).<target_dir>/<name>/ does not yet exist? On collision, abort and quote the path. Never overwrite.# 1) scaffold via the official CLI
reachy-mini-app-assistant create <name> <target_dir> \
--template <default|conversation> \
$( [ "$publish" = "true" ] && echo --publish )
# 2) verify Pollen's structural contract
reachy-mini-app-assistant check <target_dir>/<name>/
After step 2, post-process (these are the only files the skill itself writes):
pyproject.toml — append a [project.urls] block:
Plugin = "https://github.com/nolte/claude-reachy-mini"SDK = "https://github.com/pollen-robotics/reachy_mini"Specs = "https://github.com/nolte/claude-reachy-mini/tree/develop/spec/reachy-mini/"CLAUDE.md — at the app repo root, point to this plugin and name the relevant skills (reachy-mini-sdk, app-scaffold, agent reachy-mini-on-device).README.md — inject a provenance block immediately after the HF frontmatter, linking back to the plugin and the motion catalogue. Include a platform applicability table — Wireless / Lite / Simulation — naming for each which SDK surface works (Wireless: full; Lite: no IMU, no audio backend; Simulation: no real motors, no audio playback, GStreamer optional via --mockup-sim --no-media --headless).plan.md — at the app repo root, literally following the binding plan-template skeleton from reachy-mini/app-development-workflow § Phase 3. That spec is the canonical source of the plan.md schema and is a superset of Pollen's AGENTS.md plan requirements (Understanding ⊂ Scope, Approach ⊂ Motion-Inventar + IPC + Test-Strategie, Open questions ⊂ Open Questions, Approval gate ⊂ Abnahme); Pollen's AGENTS.md stays satisfied by following the workflow template.tests/test_smoke.py — runs against ReachyMini(spawn_daemon=True, use_sim=True), gated by GStreamer availability (skip if missing).plan.md and get user approval — before any code commit. This is the gate.reachy_mini SDK pin in pyproject.toml matches the consuming app's expectations.ReachyMiniShowApp.run() with the real logic. Idiomatic SDK use: defer to the reachy-mini-sdk skill.pytest tests/ to confirm the smoke test stays green.reachy-mini-on-device agent for a live test.reachy-mini-sdkhome-assistant-bridgeaudio-beat-tracking (planned)reachy-mini-app-assistant publish does → reachy-app-publish-hf (planned)reachy-mini-on-deviceProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
npx claudepluginhub nolte/claude-reachy-mini --plugin claude-reachy-mini