.claude/skills/cuyamaca-readme/SKILL.md
Write the user-facing README.md for the Cuyamaca Tauri v2 desktop app (natural language Arduino/robotics control). Use this skill whenever the user asks to create, write, draft, or update the README for Cuyamaca, or mentions "readme", "documentation", "project description", "repo docs", or "GitHub page" in the context of Cuyamaca. Also trigger when the user asks about what to put in the README, how to describe the project publicly, installation instructions for end users, or setup guides. This skill produces a polished, user-facing README — not developer docs or architecture specs.
npx skillsauth add yuyanghu06/cuyamaca cuyamaca-readmeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill produces the README.md for the Cuyamaca repository. The audience is someone who just found the repo or downloaded the app — not a contributor or developer. The tone is clear, warm, and confident. The writing style is lowercase prose for public-facing text; no em dashes. Sentences should be direct without being terse.
Read the project's CLAUDE.md before writing. The README must be consistent with the architecture, supported platforms, and design decisions documented there. If anything in CLAUDE.md conflicts with this skill, CLAUDE.md wins — it is the authoritative spec.
Follow this exact section order. Every section is required.
The title is just Cuyamaca. Below it, one sentence explaining what the app does in plain language:
natural language control for arduino-based robotics. define your hardware, generate or upload sketches, and talk to your board through a local llm.
Render this as a blockquote or subtitle, not a heading. Keep it lowercase.
One paragraph (3-5 sentences) covering the core loop:
Emphasize: runs locally by default. No cloud accounts required. External model APIs (OpenAI, Anthropic, etc.) are optional.
Brief architectural overview for curious users. Not a developer doc, but enough to understand the pieces:
SENSOR_ID:VALUE) in generated sketches so sensor data is machine-readable, not debug strings.Keep this section to 4-6 short paragraphs or a brief paragraph followed by a concise description list. Not bullet soup.
What the user needs before installing:
Format as a short paragraph per item, not a raw bullet list.
Two steps:
.dmg for macOS, .exe/.msi for Windows)Then describe what happens on first launch: the app checks for Ollama and arduino-cli, downloads and installs them if missing, and walks you through initial setup. The user never opens a terminal.
Mention where to get the installer (GitHub Releases page, or whatever the distribution channel is). If the distribution channel isn't finalized yet, use [GitHub Releases](link) as a placeholder and note it.
Walk through the first-use flow:
Use numbered steps with brief explanations. Include example prompts in the runtime step.
Explain the two model slots:
Code model: handles sketch generation and modification. Any model works (text-only is fine). Supports Ollama (local) and external APIs (OpenAI, Anthropic, Google, Mistral). Best results come from strong coding models.
Runtime model: controls the board live during the agentic loop. Must be multimodal if you have a camera or spatial sensors, because it receives sensor visualization images and camera frames as context. Supports Ollama multimodal models (LLaVA, Llama 3.2 Vision, Moondream 2) and external multimodal APIs (GPT-4o, Claude Sonnet/Opus, Gemini).
Explain that both slots are configured in Settings, and that API keys for external providers are stored in the OS keychain.
List the component types the app understands, grouped by category. Use a table or compact description list:
Actuators: DC motors, servos, stepper motors, relays, LEDs Distance/proximity: ultrasonic (HC-SR04), IR distance, LIDAR (TF-Mini) Motion/orientation: IMU (MPU-6050), magnetometer, rotary encoders Touch/tactile: bump switches, line sensor arrays, force sensors Environmental: temperature/humidity (DHT22), barometer (BMP280), light (BH1750), gas (MQ series) Vision: ESP32-CAM (WiFi, JPEG streaming)
Note that each component type has a known pin configuration and serial output format. The code model uses this to generate correct setup and reading code.
For users who already have these tools or want to manage them outside the app:
ollama serve, default port (11434), pulling a model (ollama pull llama3.2). macOS vs Windows differences if any.arduino-cli core install arduino:avr), default paths. macOS vs Windows differences.Provide 2-3 brief project sketches (not full tutorials, just "here's what you could build"):
These should be aspirational but achievable. 3-4 sentences each.
Cover the most common issues:
Brief, actionable fixes. 1-2 sentences per issue.
Placeholder for the project's license. Use [LICENSE](LICENSE) link.
# for the project title only. All sections use ##. Subsections use ###.<!-- screenshot: description --> comments)development
Build the Settings view and apply final polish to Cuyamaca — model configuration UI, API key management, process health monitoring, accessibility improvements, responsive refinements, and overall UX tightening. Use this skill whenever the user wants to build the settings view, configure model providers in the UI, add API key entry, polish the app's responsiveness, improve accessibility, refine animations, add keyboard navigation, or references "phase 8", "settings", "settings view", "API key management", "model configuration", "accessibility", "polish", "keyboard navigation", or "responsive refinement". Also trigger when the user asks about WCAG compliance for glass effects, reduce transparency mode, or the settings UI for Cuyamaca. This skill assumes Phase 7 is complete (runtime agent loop, all core functionality working).
tools
Build serial communication, structured output parsing, sensor state management, and sensor visualization rendering for Cuyamaca. Use this skill whenever the user wants to implement serial port reading/writing, parse structured sensor output, build the sensor state panel, render sensor visualization images, manage the serial connection lifecycle, or references "phase 6", "serial communication", "serial port", "sensor parsing", "sensor state", "sensor visualization", "structured output", "serial monitor", or "serial reader". Also trigger when the user asks about the SENSOR_ID:VALUE protocol, concurrent serial read/write, sensor image rendering, or real-time state updates. This skill assumes Phase 5 is complete (arduino-cli integration, compile and flash working).
testing
Scaffold a Tauri v2 desktop app for the Cuyamaca project — an Arduino robotics controller with natural language control. Use this skill whenever the user wants to initialize the Cuyamaca project, set up the Tauri v2 scaffold, create the base layout and warm-white liquid glass UI theme, verify the IPC bridge, or references "phase 1", "scaffold", "project setup", "initialize Cuyamaca", "create the app skeleton", or "base layout". Also trigger when the user asks about Cuyamaca's three-panel layout, the warm-white glass design language, or setting up the Tauri project structure from scratch.
tools
Build the runtime agent loop for Cuyamaca — the agentic control loop where the runtime model reads sensor context, decides tool calls, writes serial commands, and iterates until the user stops it. Use this skill whenever the user wants to implement the runtime window, build the agent loop, assemble multimodal context for the runtime model, implement tool call dispatch via serial, add the kill button, or references "phase 7", "runtime agent", "agent loop", "runtime window", "runtime model", "tool calling", "kill button", "agentic loop", "multimodal context", or "control loop". Also trigger when the user asks about feeding sensor data to a vision model, executing tool calls as serial commands, or the observe-decide-act cycle. This skill assumes Phase 6 is complete (serial communication, sensor parsing, sensor visualization).