Claude-skill-registry Creating Expert
Create new domain expert with expertise file and workflows. Use when adding new technology or domain area.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/creating-expert" ~/.claude/skills/majiayu000-claude-skill-registry-creating-expert && rm -rf "$T"
skills/data/creating-expert/SKILL.mdSkill: Creating Expert
Generate complete expert structure for a new domain. This is a meta-skill - a tool that builds tools.
When to Use
- Adding new tech to stack (e.g., "postgres-expert" for Postgres database)
- Creating domain specialist (e.g., "auth-expert" for authentication patterns)
- Splitting existing expert into sub-domains
- Expanding beyond the 4 core experts (convex, nextjs, shadcn, vercel)
Workflow
1. Interview User
Ask clarifying questions:
- Expert name: What domain? (kebab-case, e.g., "postgres-expert")
- Domain description: One-line summary
- Initial knowledge sources: Docs? Agent files? Existing code?
- Related existing agents: Build on existing agents?
2. Create Directory Structure
mkdir -p .claude/experts/{expert-name}-expert
Create three files:
- Mental model (initially low confidence)expertise.yaml
- Question workflowquestion.md
- Self-improvement workflowself-improve.md
3. Generate Expertise File
Use template from
.claude/experts/_shared/expertise-schema.yaml:
--- expert: "{name}-expert" domain: "{Domain Description}" last_updated: "{current-date}" version: "0.1.0" confidence: "low" --- {domain}_patterns: - pattern: "{initial pattern from docs/agent}" context: "{when this applies}" evidence: "{source}" learned_from: "Initial setup" importance: "medium" confidence: "low" common_issues: [] # To be discovered key_files: primary: "{main config/entry file}" common_patterns: [] codebase_conventions: [] # To be discovered evolution_log: - date: "{current-date}" change: "Expert created" confidence_before: "none" confidence_after: "low" trigger: "manual creation" metadata: created: "{current-date}" self_improve_runs: 0 last_self_improve: "never" questions_answered: 0
Fill with initial patterns from:
- Existing agent documentation (if exists)
- Official tech docs
- Common best practices
- User-provided knowledge
4. Generate Question Prompt
Adapt from existing experts (use convex-expert/question.md as template):
--- name: Question {Name} Expert description: Ask questions about {domain} patterns argument-hint: [Your question about {domain}] tools: Read, Grep, Glob model: inherit --- # Question: {Name} Expert Answer questions using accumulated expertise validated against codebase. ## Workflow ### 1. Read Expertise
Read: .claude/experts/{name}-expert/expertise.yaml
### 2. Validate Against Codebase ```bash # Domain-specific search patterns Glob: {domain-files}/* Grep: {domain-keywords} Read: {key-files}
3. Provide Structured Answer
- Direct answer
- Evidence from codebase (file:line)
- Related patterns from expertise
- Confidence level
- Recommendations
**Customize:** - Search patterns for domain (Glob/Grep targets) - Key files to check - Domain-specific validation steps ### 5. Generate Self-Improve Prompt Adapt from convex-expert/self-improve.md: ```markdown --- name: Self-Improve {Name} Expert description: Sync {domain} expertise with current codebase tools: Read, Grep, Glob, Edit model: inherit --- # Self-Improve: {Name} Expert ## Workflow ### 1. Read Current Expertise
Read: .claude/experts/{name}-expert/expertise.yaml
### 2. Explore Codebase ```bash Glob: {domain-files}/**/* Read: {key-files} Grep: {domain-patterns}
3. Validate Patterns
- Count occurrences (3+ = add/keep)
- Update confidence levels
- Discover new patterns
- Remove obsolete patterns
4. Update Expertise
Edit expertise.yaml:
- Add new patterns found
- Update confidence based on validation
- Update file locations
- Add codebase conventions discovered
- Increment version
- Add evolution log entry
**Customize:** - File patterns to explore - Keywords to search for - Pattern detection criteria ### 6. Update Dispatcher Add new expert to `.claude/commands/ask-expert.md`: ```markdown ### {name} **Domain:** {Domain Description} **Expertise:** {key areas} **Use for:** {when to use this expert}
Also update
expertMap in implementation section.
7. Run Initial Self-Improvement
Execute the self-improve prompt to populate initial expertise:
# This will explore codebase and populate expertise.yaml # with real patterns discovered
8. Create Agent Reference (Optional)
If there's a corresponding agent, enhance it:
--- expertise_file: .claude/experts/{name}-expert/expertise.yaml --- ## Before Starting Any Task 1. Read expertise file 2. Apply patterns 3. Validate & extend
Success Criteria
New expert should have:
- Directory:
.claude/experts/{name}-expert/ - File:
with initial patternsexpertise.yaml - File:
with domain-specific workflowquestion.md - File:
with exploration logicself-improve.md - Updated:
dispatcherask-expert.md - Tested: Can answer basic questions
- Populated: Initial self-improve run completed
Example: Creating "testing-expert"
# User request: "Create expert for testing patterns" # 1. Interview Expert name: testing-expert Domain: Test automation and quality assurance Sources: Existing test files, Jest/Vitest docs Related: Quality checks, CI/CD # 2. Create structure mkdir -p .claude/experts/testing-expert # 3. Generate expertise.yaml testing_patterns: - pattern: "Use describe/it for test structure" confidence: "low" - pattern: "Mock external dependencies" confidence: "low" key_files: config: "vitest.config.ts" test_utils: "test/utils.ts" # 4. Generate question.md # Customize for test file patterns (Glob: **/*.test.ts) # 5. Generate self-improve.md # Customize for test discovery (Grep: "describe(", "test(") # 6. Update ask-expert.md Add "testing" to expert map # 7. Run self-improvement Execute: testing-expert/self-improve.md Result: Discovers actual test patterns in codebase # 8. Test /ask-expert testing "How should I structure unit tests?" Returns: Answer based on discovered patterns
Tips
Start Simple:
- Begin with 3-5 initial patterns
- Low confidence initially
- Let self-improvement discover rest
Use Templates:
- Copy structure from similar expert
- Customize domain-specific parts
- Keep workflow patterns consistent
Test Early:
- Run self-improve immediately after creation
- Ask test question to verify it works
- Iterate on search patterns if needed
Documentation:
- Add expert to project documentation
- Update CLAUDE.md if significant
- Note what domain it covers
Common Issues
Expert doesn't find patterns:
- Check Glob/Grep patterns in self-improve
- Verify file paths are correct
- Adjust pattern detection thresholds
Questions return low confidence:
- Normal for new experts
- Improve with self-improvement runs
- Add more initial patterns if needed
Duplicate coverage with existing expert:
- Consider if new expert needed
- Or enhance existing expert instead
- Or split existing expert's domain
Output Template
After creating expert, provide summary:
## Created: {Name} Expert **Domain:** {description} **Location:** `.claude/experts/{name}-expert/` **Files Created:** - expertise.yaml (version 0.1.0, {N} initial patterns) - question.md (customized for {domain}) - self-improve.md (explores {file-patterns}) **Initial Self-Improvement:** - Explored {N} files - Discovered {M} patterns - Confidence: low → {updated} **Usage:** - Ask questions: `/ask-expert {name} "your question"` - Update expertise: `/sync-expertise {name}` **Next Steps:** - Test with sample questions - Run self-improvement after domain changes - Enhance patterns as they're validated