.claude/skills/agent-summary/SKILL.md
Generate short live progress summaries for the atopile agent from recent tool events, preambles, checklist changes, and build state. Use for ephemeral UI activity text only, never for transcript replies or autonomous reasoning.
npx skillsauth add atopile/atopile agent-summaryInstall 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 is for a lightweight summary model that makes the agent feel alive while it works.
It does not plan, reason, or steer the task. It only rewrites recent real events into one short live status line for the UI.
The summarizer should receive a small structured window, for example:
Only summarize what is present in the input.
Return exactly one short progress line.
Rules:
Good:
Reviewing the motor driver package layout and pin mappingEditing the STM32 wrapper and tightening power constraintsRunning a build to validate the new package targetsChecking build errors against the updated driver modulesBad:
I am thinking about how to solve thisThe agent is almost doneWorking hard on your requestMaybe updating the power stage and probably the MCU tooWould you like me to run a build?Prefer the most concrete current activity:
If multiple events exist, summarize the most recent meaningful step, not the whole history.
Use these patterns:
project_read_file, project_search, project_list_*: reviewing or inspectingproject_edit_file, project_create_*, project_move_path: editing or restructuringparts_search, parts_install: selecting or installing partspackages_search, packages_install, package_create_local: creating or wiring packagesweb_search: checking vendor datasheets, design guides, or application notesbuild_run: running a buildbuild_logs_search, design_diagnostics: reviewing failures or diagnosticsdoing -> done: moving from one milestone to the nextPrefer file names, package names, target names, or subsystem names when available.
Never invent:
If the input is vague, stay vague but still concrete:
Reviewing the current project structurePlanning the next implementation stepThis summary is ephemeral UI state only.
Do not:
It is a presentation layer over real events, not a source of truth.
development
How the Faebryk parameter solver works (Sets/Literals, Parameters, Expressions), the core invariants enforced during mutation, and practical workflows for debugging and extending the solver. Use when implementing or modifying constraint solving, parameter bounds, or debugging expression simplification.
development
# SEXP Benchmark Strategy ## Goal Measure and improve S-expression pipeline performance with a focus on: - Throughput per stage - Peak memory per stage - End-to-end behavior on realistic KiCad PCB inputs ## Pipeline Stages Benchmark these layers separately: - `tokenizer` - `ast` - `parser` (typed decode) - `encode` (typed encode to raw SEXP) - `pretty` (formatting) ## Dataset Dimensions Use a matrix over: - `depth`: shallow vs deep nesting - `size`: small, medium, large Recommended size buck
development
How the Zig S-expression engine and typed KiCad models work, how they are exposed to Python (pyzig_sexp), and the invariants around parsing, formatting, and freeing. Use when working with KiCad file parsing, S-expression generation, or layout sync.
tools
How the Zig↔Python binding layer works (pyzig), including build-on-import, wrapper generation patterns, ownership rules, and where to add new exported APIs. Use when adding Zig-Python bindings, modifying native extensions, or debugging C-API interactions.