# agent-skills-expert > Expert for creating and managing Claude Code Agent Skills. Create skills with git submodule + sparse-checkout for source references, write SKILL.md with proper frontmatter, and follow best practices. Use when creating new skills, adding source references to skills, or managing skill configurations. - Author: straydragon - Repository: StrayDragon/my-claude-skills - Version: 20260122111603 - Stars: 1 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/StrayDragon/my-claude-skills - Web: https://mule.run/skillshub/@@StrayDragon/my-claude-skills~agent-skills-expert:20260122111603 --- --- name: agent-skills-expert description: Expert for creating and managing Claude Code Agent Skills. Create skills with git submodule + sparse-checkout for source references, write SKILL.md with proper frontmatter, and follow best practices. Use when creating new skills, adding source references to skills, or managing skill configurations. --- # Agent Skills Expert Expert for creating and managing Claude Code Agent Skills. Helps create skills that follow official specifications, including using Git Submodule + Sparse Checkout for source code references. ## 📚 Core Concepts ### What is an Agent Skill? Agent Skill is an extensible capability module for Claude Code, containing: - `SKILL.md` - Skill definition file (required) - Supporting files - Documentation, scripts, templates, etc. (optional) - `source/` - Source code reference directory (optional, using git submodule) ### Skill Storage Locations - **Personal Skills**: `~/.claude/skills/skill-name/` - **Project Skills**: `.claude/skills/skill-name/` ## 🔧 Skill Creation Workflow ### 1. Basic Skill Structure ``` skill-name/ ├── SKILL.md # Required: Skill definition ├── examples.md # Optional: Example code ├── quick-reference.md # Optional: Quick reference ├── SOURCE_STRUCTURE.md # Optional: Source structure documentation ├── scripts/ # Optional: Helper scripts └── source/ # Optional: Source code references └── repo-name/ # Git Submodule ``` ### 2. SKILL.md Specification ```yaml --- name: skill-name # Required: lowercase letters, numbers, hyphens, max 64 chars description: Brief description... # Required: Skill description, max 1024 chars allowed-tools: Read, Grep, Glob # Optional: Restrict available tools --- # Skill Name ## Instructions Clear usage instructions... ## Examples Concrete usage examples... ``` **Description Best Practices**: - Explain what the skill does - Explain when to use the skill - Include keywords for Claude to discover ### 3. Adding Source References (Git Submodule + Sparse Checkout) #### Step 1: Add Submodule ```bash cd ~/.claude/skills git submodule add https://github.com/org/repo.git skill-name/source/repo-name ``` #### Step 2: Configure Sparse Checkout ```bash cd skill-name/source/repo-name # Initialize sparse-checkout git sparse-checkout init --no-cone # Set content to keep git sparse-checkout set \ /README.md \ /docs/ \ /src/ \ /examples/ ``` #### Step 3: Create SOURCE_STRUCTURE.md Document the source structure, including: - Sparse checkout configuration - Directory structure explanation - Key file locations - Maintenance guide ## 📋 Sparse Checkout Configuration Guide ### Principles for Selecting Content to Keep 1. **Core source code** - Main API implementation 2. **Documentation** - README, docs directory 3. **Examples** - examples directory 4. **Configuration files** - pyproject.toml, package.json, etc. 5. **Tests** - Test cases showing usage patterns ### Content to Exclude - Large resource files (images, videos) - Build artifacts - CI/CD configuration (usually not needed) - Historical release notes ### Common Sparse Checkout Patterns **Python Projects:** ```bash git sparse-checkout set \ /README.md \ /LICENSE \ /src/ \ /docs/ \ /examples/ \ /tests/ \ /pyproject.toml ``` **JavaScript/TypeScript Projects:** ```bash git sparse-checkout set \ /README.md \ /LICENSE \ /src/ \ /docs/ \ /examples/ \ /package.json \ /tsconfig.json ``` **Rust Projects:** ```bash git sparse-checkout set \ /README.md \ /LICENSE \ /src/ \ /docs/ \ /examples/ \ /Cargo.toml ``` ## 🛠️ Maintenance Operations ### Update Submodule ```bash cd skill-name/source/repo-name git pull origin main ``` ### Modify Sparse Checkout Configuration ```bash cd skill-name/source/repo-name # Add new directory git sparse-checkout add /new-dir/ # Reconfigure git sparse-checkout set /dir1/ /dir2/ /file.md ``` ### View Configuration ```bash cd skill-name/source/repo-name git sparse-checkout list du -sh . # Check size ``` ### Troubleshooting Recovery ```bash # Completely reset submodule cd ~/.claude/skills git submodule deinit -f skill-name/source/repo-name rm -rf .git/modules/skill-name/source/repo-name git submodule update --init skill-name/source/repo-name # Reconfigure sparse-checkout cd skill-name/source/repo-name git sparse-checkout init --no-cone git sparse-checkout set /directories-to-keep/ ``` ## 📝 Template Files ### SKILL.md Template See [templates/SKILL_TEMPLATE.md](templates/SKILL_TEMPLATE.md) ### SOURCE_STRUCTURE.md Template See [templates/SOURCE_STRUCTURE_TEMPLATE.md](templates/SOURCE_STRUCTURE_TEMPLATE.md) ## ✅ Checklist ### Creating New Skill - [ ] Create skill directory `mkdir -p ~/.claude/skills/skill-name` - [ ] Create SKILL.md (with correct frontmatter) - [ ] Write clear description (include trigger keywords) - [ ] Add usage instructions and examples - [ ] Test that skill is correctly discovered ### Adding Source References - [ ] Add git submodule - [ ] Configure sparse-checkout - [ ] Verify reasonable size (typically <100MB) - [ ] Create SOURCE_STRUCTURE.md - [ ] Update source access instructions in SKILL.md - [ ] Commit all changes ### Maintenance - [ ] Regularly update submodule - [ ] Check if sparse-checkout configuration is still appropriate - [ ] Update documentation to reflect latest structure ## 🔗 Related Resources - [GIT_SPARSE_CHECKOUT_TUTORIAL.md](../GIT_SPARSE_CHECKOUT_TUTORIAL.md) - Detailed Sparse Checkout tutorial - [CLAUDE_CODE_SKILL_TUTORIAL.md](../CLAUDE_CODE_SKILL_TUTORIAL.md) - Official skill tutorial - [Agent Skills Official Documentation](https://docs.anthropic.com/en/docs/agents-and-tools/agent-skills/overview) ## 📊 Existing Skills Reference | Skill | Source Reference | Sparse Checkout | |-------|------------------|-----------------| | langgraph-python-expert | ✅ | ✅ (~66MB) | | lib-slint-expert | ✅ | ❌ | | vscode-extension-builder | ✅ | ✅ | | uv-expert | ✅ | ❌ | | rust-cli-tui-developer | ✅ | ❌ | --- *Last updated: 2024-12-23*