AI Agent Skills
Capsem uses a shared skills/ directory that Claude Code, Gemini CLI, Codex,
and Cursor discover via symlinks. One set of files, every agent client, zero
duplication.
Directory structure
Section titled “Directory structure”skills/ <skill-name>/ SKILL.md The skill (required) references/ Large docs loaded on demand (optional) scripts/ Executable helpers (optional)
.claude/skills -> ../skills Claude Code symlink.agents/skills -> ../skills Gemini CLI compatibility symlink.gemini/skills -> ../skills Gemini CLI project symlink.codex/skills -> ../skills Codex project symlink.cursor/skills -> ../skills Cursor project symlinkbootstrap.sh creates or repairs those symlinks during developer setup. If a
path already exists and is not a symlink, bootstrap leaves it alone and prints a
skip message instead of deleting local agent state.
Skills are flat (one level). Nested directories are not discovered. Use prefix-based naming for categories.
SKILL.md format
Section titled “SKILL.md format”---name: skill-namedescription: When to trigger and what it does.---
# Skill Title
Instructions the agent follows when triggered.The description field is the trigger mechanism. Claude sees it in the skill list and decides whether to load the full body. Be specific and slightly pushy — Claude undertriggers by default.
Naming conventions
Section titled “Naming conventions”Prefix-based grouping:
| Prefix | Category |
|---|---|
meta-* | Skills about skills (find, create, organize) |
dev-* | Development (toolchain, testing, debugging, patterns) |
build-* | VM image building |
release-* | Release process, CI, docs |
site-* | Architecture, documentation site |
frontend-* | Frontend design system |
Current skills
Section titled “Current skills”meta-find-skills— discover community skills vianpx skillsmeta-organize-skills— skill directory conventionsmeta-skill-creation— create and iterate on skills
Development
Section titled “Development”dev-capsem— project overview and skill navigation mapdev-just— just recipe reference and dependency chainsdev-testing— testing policy (TDD, adversarial, 3 tiers)dev-testing-vm— capsem-doctor, session inspection, test fixturesdev-testing-hypervisor— KVM, Apple VZ, VirtioFS testingdev-testing-frontend— vitest, visual verificationdev-debugging— reproduce, diagnose, fix methodologydev-capsem-doctor— in-VM diagnostic suite referencedev-session-debug— session DB schema, telemetry debuggingdev-setup— new developer onboardingdev-sprint— sprint planning and workflowdev-rust-patterns— async/tokio, cross-compile, error handlingdev-mitm-proxy— MITM proxy pipeline, SSE parsing, provider wire formatsdev-mcp— Guest MCP endpoint, JSON-RPC, tool routingdev-skills— how skills work (for building Capsem’s own skills system)
build-images— capsem-builder CLI, guest configbuild-initrd— guest binary repack, fast iteration
Release
Section titled “Release”release-process— release, CI, Apple signing, docs, changelog
site-architecture— system architecture, key files, Tauri referencesite-infra— Astro Starlight docs site conventions
Frontend
Section titled “Frontend”frontend-design— design system, Preline, color scheme, Svelte 5 rune patterns
Progressive disclosure
Section titled “Progressive disclosure”Skills load in three tiers:
- Metadata (~100 words) — name + description, always in context
- SKILL.md body (<500 lines) — loaded when skill triggers
- Bundled resources (unlimited) —
references/files, loaded on demand
Keep SKILL.md lean. Put wire formats, API docs, and community references in references/.
Adding a skill
Section titled “Adding a skill”mkdir skills/<prefix-name># Write skills/<prefix-name>/SKILL.md with frontmatter# Available immediately (live reload, no restart)Run bootstrap after adding project-wide agent clients or from a fresh checkout:
sh bootstrap.sh --yesCommunity skills
Section titled “Community skills”Search with npx skills find <query>. Place community skills as references, not top-level:
curl -sL https://raw.githubusercontent.com/<owner>/<repo>/main/<path>/SKILL.md \ -o skills/<name>/references/<topic>.mdGlobal skills
Section titled “Global skills”Skills in ~/.claude/skills/ are available across all projects. We install meta skills globally:
meta-find-skillsmeta-organize-skillsmeta-skill-creation