How to write and maintain `.claude/skills/*/SKILL.md` files: source-of-truth-first process, verification steps, and conventions.
cd ~/.claude/skills
git clone https://github.com/atopile/atopile.git atopile mkdir -p ~/.claude/skills/atopile-skills
curl -fsSL https://raw.githubusercontent.com/atopile/atopile/HEAD/.claude/skills/atopile-skills/SKILL.md \
-o ~/.claude/skills/atopile-skills/SKILL.md 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).
When updating any skill:
## Quick Start that actually runs in this repo.A good skill doc is:
rg over memory: look for imports, entrypoints, and key classes/functions.Use this hierarchy:
Examples:
src/faebryk/core/solver/README.md + src/faebryk/core/solver/symbolic/invariants.pysrc/faebryk/core/zig/src/graph/graph.zig + src/faebryk/core/zig/src/python/graph/graph_py.zig + generated stubstools/library/gen_F.py is the source-of-truth for _F.pyCommon failure modes in skill docs:
atopile/src/... vs src/...)lsp_server.py vs imaginary server.py)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.
## Quick StartQuick Start should be:
src/.../something.zigGood patterns:
ato build, ato dev test --llm)GraphView.create() / TypeGraph.create(...))name and description.src/, tools/, and test/ path exists (exclude generated build outputs).rg check).Prefer this ordering:
## 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.
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Replace with description of the skill and when Claude should use it.
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.
Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.