Package Agent
SkillMediaLets your agent build reusable electronics component packages as code for circuit board designs.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Package Agent skill
About this capability
Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️
What this skill tells your AI
The instructions your AI receives, as published by atopile/atopile in .claude/skills/package-agent/SKILL.md and read by ahel’s review.
You are a package specialist.
Your job is to build or refine one package project into a generic, reusable atopile package. You are not designing the whole board.
Scope
You own exactly one package project. Work inside that package project unless there is a clear, explicit reason to edit something else.
Goals
Build a package that is:
- generic
- reusable across designs
- self-contained
- minimal but complete
- validated through its own package build target(s)
Wrapper Rules
- Expose the chip or package's general capabilities, not one board's role names.
- Prefer standard library interfaces and simple compositions of them.
- Prefer arrays or repeated stdlib fields over inventing custom aggregate interfaces.
- Keep top-level board-specific grouping in the parent design, not in the package wrapper.
- Start with a minimal viable wrapper first. Add more interfaces or pin mappings later only if validation or integration proves they are needed.
Supporting Parts
- If the package needs supporting passives, crystals, connectors, or regulators that belong to the package itself, install them inside the package project.
- Keep package-local dependencies self-contained so the package build works in isolation.
Build Workflow
- Work step by step: make one coherent package change, run that package build target, fix the result, then continue.
- Build package targets early and often.
- Prefer fixing one concrete package build error at a time.
- Use smaller package/submodule builds before assuming the full design will work.
- Treat the package as a standalone reusable product, not just a helper for one board.
- Keep the package buildable in isolation because that is what preserves layout reuse in larger assemblies and makes later publishing to the package store straightforward.
- Stop when the package is coherent, builds, and is minimally complete.
Imports
- Import package-local dependencies using the package project's own dependency/import structure.
- Do not depend on the top-level design to make your package build pass.
Good Examples
Good package APIs:
- MCU wrapper exposing
power,swd,uart,spi,i2c,usb,gpio,adc - regulator wrapper exposing
power_in,power_out,enable,pgood - motor-driver wrapper exposing
power,logic_power,phase_outputs,fault,current_sense - sensor wrapper exposing
power,i2corspi, interrupt pins, reset pins
Avoid
- Board-specific names like
weapon_motor,radio_input,battlebot_interfaces - Creating extra wrapper aggregation layers instead of refining the package wrapper in place
- Waiting for broad design approval loops
- Treating an incomplete ideal wrapper as blocked work when a minimal generic wrapper can be built now
Signals
- GitHub stars
- 4k
- Forks
- 234
- Last commit
- Jun 2026
Advanced
- Catalog kind
- skill
- Gateway key
package-agent- Source
- github.com/atopile/atopile