Agent skill

Library

by atopile in atopile/atopile

How the Faebryk component library is structured, how F.py is generated, and the conventions/invariants for adding new library modules.

MITAuto-check passedFrontend & Design

Install Library

skills CLI
$ npx skills add atopile/atopile --skill library -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install atopile/atopile library --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/atopile/atopile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/library .claude/skills/library && rm -rf skills-src

Use ~/.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/

Facts

Skill name
library
GitHub stars
4k
Token cost
~714 tokens
SKILL.md length
272 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

How the Faebryk component library is structured, how F.py is generated, and the conventions/invariants for adding new library modules.

  • Works in 3 steps: New Component: Create a new file… → Naming Convention: Class names should… → Regenerate _F.py: run python…
  • Modifying library components
  • SKILL.md covers Quick Start, Relevant Files, Dependants (Call Sites) and How to Work With / Develop /…, plus 1 more section
  • Calls python

What it does

Library is an agent skill from atopile/atopile. How the Faebryk component library is structured, how F.py is generated, and the conventions/invariants for adding new library modules. Use when adding or modifying library components, traits, or module definitions.

Its SKILL.md is about 710 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 Frontend & Design, covering Design systems. The repository describes itself as: Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️. The licence is MIT.

When your agent uses it

  • Modifying library components
  • Module definitions

Example prompts

  • “/library”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. New Component: Create a new file MyComponent.py in src/faebryk/library/. Inherit from Node (or a more specific base).
  2. Naming Convention: Class names should match the file basename (usually).
  3. Regenerate _F.py: run python tools/library/gen_F.py and commit the updated src/faebryk/library/_F.py.

What it can do on your machine

Read from SKILL.md and the folder at commit 619eda7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Library loads about 714 tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 272 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~714

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

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.

SKILL.md

The full file from atopile/atopile at commit 619eda7, republished under its MIT licence (© atopile). 272 words, ~714 tokens.

Download SKILL.mdSave it as .claude/skills/library/SKILL.md (or your agent's skills folder).
name
library
description
How the Faebryk component library is structured, how `_F.py` is generated, and the conventions/invariants for adding new library modules. Use when adding or modifying library components, traits, or module definitions.

Library Module

The library module (located in src/faebryk/library/) contains the collection of reusable components, traits, and interfaces that form the "standard library" of the hardware design language.

Quick Start

python
import faebryk.core.faebrykpy as fbrk
import faebryk.core.graph as graph
import faebryk.library._F as F

g = graph.GraphView.create()
tg = fbrk.TypeGraph.create(g=g)

resistor = F.Resistor.bind_typegraph(tg=tg).create_instance(g=g)

Relevant Files

  • Facade (auto-generated): src/faebryk/library/_F.py
    • Eagerly imports and re-exports library modules/types for the import faebryk.library._F as F pattern.
    • This file is generated; do not hand-edit it.
  • Generator: tools/library/gen_F.py
    • Scans src/faebryk/library/*.py, detects whether the file contains a same-named class, and writes _F.py.
    • Orders exports via a topological sort of F.<Name> references to avoid import-order cycles.
  • Components: src/faebryk/library/ contains specific component definitions (e.g. Resistor.py, Capacitor.py, LED.py).
  • Traits/Interfaces: Also contains trait definitions (e.g. can_bridge.py, is_power.py).

Dependants (Call Sites)

  • User Code: atopile projects heavily import from faebryk.library._F (aliased as F).
  • Compiler: The compiler maps ato built-ins to these classes.

How to Work With / Develop / Test

Core Concepts
  • Traits vs Components: Use Traits for behavior (what it can do like can_bridge) and Components for physical things (what it is like Resistor).
  • Export model: _F.py is a generated “barrel” module; importing it is intentionally convenient but can be heavyweight.
Development Workflow
  1. New Component: Create a new file MyComponent.py in src/faebryk/library/. Inherit from Node (or a more specific base).
  2. Naming Convention: Class names should match the file basename (usually).
  3. Regenerate _F.py: run python tools/library/gen_F.py and commit the updated src/faebryk/library/_F.py.
Testing
  • Library tests live under test/library/ (including test/library/nodes/).
  • A good smoke test for new modules is:
    • ato dev test --llm test/library/test_instance_library_modules.py -q

Best Practices

  • Atomic Parts: Mark leaf components (specifically verified part numbers) with the is_atomic_part trait.
  • Parameters: Use F.Parameters to define physical properties like resistance, capacitance, etc.
  • Documentation: Add docstrings to components explaining their ports and parameters.

© atopile, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/library of atopile/atopile.

Open the folder on GitHubat commit 619eda7

Compare with similar skills

Library 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.

Library compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Library this skillatopile/atopile4k—~714Automated safety check: PassMIT
Impeccablebestofjs/bestofjs3.1k27 repos~2.6kAutomated safety check: PassMIT
Figma Design System Builderwarpdotdev/warp65k2 repos~4.4kAutomated safety check: PassAGPL-3.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
UI StylingOhh-889/skyroc79513 repos~2.5kAutomated safety check: PassMIT
Shadcnsupabase/evals14342 repos~4.5kAutomated safety check: PassApache-2.0

Similar skills

  • Impeccable

    bestofjs/bestofjs

    A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…

    3.1k GitHub starsUsed in 27 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • UI Styling

    Ohh-889/skyroc

    Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.

    795 GitHub starsUsed in 13 repos~2.5k tokens
    Frontend & DesignAuto-check passed
  • Shadcn

    supabase/evals

    Official

    Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI.

    143 GitHub starsUsed in 42 repos~4.5k tokens
    Frontend & DesignAuto-check passed
  • Design System

    Ohh-889/skyroc

    Token architecture, component specifications, and slide generation.

    795 GitHub starsUsed in 11 repos~1.7k tokens
    Frontend & DesignAuto-check passed

More from atopile/atopile

All 19 skills in this repo
  • Ato Language

    atopile/atopile

    Reference for the .ato declarative DSL: type system, connection semantics, constraint model, and standard library.

    4k GitHub stars~3.5k tokensUpdated 3 mo ago
    Auto-check passed
  • Compiler

    atopile/atopile

    How the atopile compiler builds and links TypeGraphs from .ato (ANTLR front-end → AST → TypeGraph → Linker → DeferredExecutor), plus the key invariants and test entrypoints.

    4k GitHub stars~1k tokensUpdated 3 mo ago
    Auto-check passed
  • Domain Layer

    atopile/atopile

    Instructions for electronics-specific logic and build processes: netlists, PCBs, build steps, and exporters.

    4k GitHub stars~791 tokensUpdated 3 mo ago
    Auto-check passed
  • Fabll

    atopile/atopile

    How FabLL (faebryk.core.node) maps Python node/trait declarations into the TypeGraph + instance graph, including field/trait invariants and instantiation patterns.

    4k GitHub stars~1.1k tokensUpdated 3 mo ago
    Auto-check passed
  • Faebryk

    atopile/atopile

    How Faebryk's TypeGraph works (GraphView + Zig edges), how to traverse/resolve references, and how FabLL types/traits map onto edge types.

    4k GitHub stars~861 tokensUpdated 3 mo ago
    Auto-check passed
  • Graph

    atopile/atopile

    How the Zig-backed instance graph works (GraphView/NodeReference/EdgeReference), the real Python API surface, and the invariants around allocation, attributes, and cleanup.

    4k GitHub stars~952 tokensUpdated 3 mo ago
    Auto-check passed

Questions about Library

What does Library do?

How the Faebryk component library is structured, how F.py is generated, and the conventions/invariants for adding new library modules. Library is an agent skill from atopile/atopile.py is generated, and the conventions/invariants for adding new library modules.

When should I use Library?

Library fits situations like: modifying library components; module definitions.

How do I install Library in Claude Code?

Run `npx skills add atopile/atopile --skill library -a claude-code`. Or copy the skill folder (.claude/skills/library in atopile/atopile) into .claude/skills/library in your project. Claude Code loads it when a task matches its description.

How do I install Library in Codex?

Run `npx skills add atopile/atopile --skill library -a codex`. Or copy the skill folder (.claude/skills/library in atopile/atopile) into .agents/skills/library in your project. Codex loads it when a task matches its description.

Can I use Library in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add atopile/atopile --skill library -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/library, .gemini/skills/library, .github/skills/library and .opencode/skills/library in your project.

What does Library need to run?

Going by SKILL.md and its folder, Library needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Library access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Library safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Library use?

Library is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Library use?

About 714 tokens (SKILL.md is roughly 2.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Library?

Skills that share tags, products or a category with Library: Impeccable (bestofjs/bestofjs, 3.1k stars), Figma Design System Builder (warpdotdev/warp, 65k stars), Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars) and UI Styling (Ohh-889/skyroc, 795 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Library?

atopile (a GitHub organization) maintains it in atopile/atopile, which has 3,976 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on June 13, 2026.

Source: atopile/atopile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.