Skills Skill (Maintaining Skill Docs)
SkillFiles & storageLets your agent write and keep skill documentation files accurate by checking every claim against the actual code.
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 Skills Skill (Maintaining Skill Docs) skill
About this capability
How to write and maintain `.claude/skills/*/SKILL.md` files: source-of-truth-first process, verification steps, and conventions.
What this skill tells your AI
The instructions your AI receives, as published by atopile/atopile in .claude/skills/atopile-skills/SKILL.md and read by ahel’s review.
This skill describes the process for maintaining the skill documentation under .claude/skills/*/SKILL.md.
The goal is that future LLM edits stay accurate, actionable, and grounded in the repo (not vibes).
Quick Start
When updating any skill:
- Find the module’s “source-of-truth” docs (README/design notes).
- Verify claims directly in code (entrypoints + invariant-enforcing files).
- Fix incorrect paths/APIs/tests by searching the repo.
- Add/update a small
## Quick Startthat actually runs in this repo. - Validate frontmatter + referenced paths.
What “Good” Looks Like
A good skill doc is:
- Specific: points at exact files and the real entrypoints.
- Invariant-driven: documents the correctness rules enforced by the code (not aspirational design).
- Runnable: Quick Start snippets compile/import (or at least match the current API surface).
- Traceable: any non-obvious claim can be traced to a file path in the repo.
Standard Workflow (Source-of-Truth First)
1) Inventory the skill’s scope
- Identify the module boundary (directories, packages) and key consumers (“call sites”).
- Prefer using
rgover memory: look for imports, entrypoints, and key classes/functions.
2) Read the docs, then the code that enforces invariants
Use this hierarchy:
- A module README/design doc (if present)
- The runtime entrypoint(s) used by the rest of the repo
- The files that enforce invariants (the places that must remain correct)
- Tests that codify behavior
Examples:
- Solver:
src/faebryk/core/solver/README.md+src/faebryk/core/solver/symbolic/invariants.py - Graph:
src/faebryk/core/zig/src/graph/graph.zig+src/faebryk/core/zig/src/python/graph/graph_py.zig+ generated stubs - Library:
tools/library/gen_F.pyis the source-of-truth for_F.py
3) Fix wrong statements (don’t preserve broken history)
Common failure modes in skill docs:
- stale file paths (
atopile/src/...vssrc/...) - renamed entrypoints (
lsp_server.pyvs imaginaryserver.py) - test paths that no longer exist
- claims about behavior that conflict with the actual API surface (especially Zig bindings)
Rule: if you can’t prove it from the repo, either remove it or label it as a hypothesis with a pointer to where to verify.
4) Add a minimal, correct ## Quick Start
Quick Start should be:
- 5–20 lines
- uses the public API surface as used elsewhere in the repo
- avoids placeholders like
src/.../something.zig
Good patterns:
- CLI snippet for user-facing flows (
ato build,ato dev test --llm) - Python snippet for core APIs (
GraphView.create()/TypeGraph.create(...))
5) Validation checklist (required)
- Frontmatter YAML parses and contains
nameanddescription. - Every referenced
src/,tools/, andtest/path exists (exclude generated build outputs). - Any code identifiers mentioned (classes/functions) exist (
rgcheck). - Quick Start uses correct import paths and function signatures.
Style/Structure Conventions
Prefer this ordering:
- One-paragraph summary
## Quick Start## Relevant Files## Dependants (Call Sites)## How to Work With / Develop / Test## Best Practices/## Invariants(when applicable)
Keep the doc concise and “repo-local”: avoid external links unless they’re stable standards docs.
Signals
- GitHub stars
- 4k
- Forks
- 234
- Last commit
- Jun 2026
Advanced
- Catalog kind
- skill
- Gateway key
atopile-skills- Source
- github.com/atopile/atopile