Skill Master
An intelligent orchestrator that automates the entire skill lifecycle: discovery, creation, execution, and improvement.
Overview
When invoked with a task, this skill:
- Searches for existing skills that can handle the task
- Creates a new skill if none found (after deep research)
- Invokes the skill (using Skill tool) to complete the user's task
- Reviews the execution and improves the skill if needed
When invoked with feedback about a previous output: 5. Fixes the output according to user's request 6. Links feedback to the skill via state tracking 7. Improves the skill based on the feedback
Workflow
Phase 1: Skill Discovery
Goal: Find an existing skill that can handle the user's task.
Step 1.1: Parse the Request
Identify from the user's request:
- Core task: What needs to be accomplished?
- Domain: What area/field does this belong to?
- Keywords: Key terms for searching
Step 1.2: Search for Skills
MUST follow the complete search workflow in references/skill-search.md.
Copy and track overall search progress:
Search Phase Progress:
- [ ] Step 1: Internal skills searched
- [ ] Step 2.1: ALL known GitHub repos searched (anthropics, K-Dense-AI, ComposioHQ)
- [ ] Step 2.2: Known repos enumerated (if 2.1 had no matches)
- [ ] Step 2.3: Broader GitHub search (only after 2.1+2.2 exhausted)
- [ ] Step 3: Web search (only after GitHub exhausted)
CRITICAL: MUST complete ALL searches in each step before proceeding to next step.
Search order - execute in sequence:
- Internal skills: MUST check both
~/.claude/skills/and.claude/skills/ - GitHub known repos: MUST search ALL three repos before broader search:
site:github.com/anthropics/skills SKILL.md <keywords>site:github.com/K-Dense-AI/claude-scientific-skills SKILL.md <keywords>site:github.com/ComposioHQ/awesome-claude-skills SKILL.md <keywords>
- GitHub enumeration: MUST enumerate repo contents if searches return no match
- GitHub broader: Only after known repos exhausted
- Web: Only after GitHub exhausted
See references/known-skill-repos.md for curated skill sources.
Step 1.3: Evaluate Results
Validation gate before concluding search:
- All internal locations checked
- All known GitHub repos searched
- All known repos enumerated (if no WebSearch matches)
- Results documented for each source
If skill found:
- Present the skill to user with description
- Proceed to Phase 2 (Storage Confirmation)
If NO skill found (only after ALL searches complete):
- Inform user: "No existing skill found. I'll research and create one."
- Proceed to Phase 3 (Skill Creation)
Phase 2: Storage Confirmation
Goal: Determine where to store the skill.
Ask user using AskUserQuestion:
Where should this skill be stored?
1. LOCAL (.claude/skills/)
- Project-specific
- Shared with team via git
2. GLOBAL (~/.claude/skills/)
- Personal
- Available across all projects
Remember the choice for later use.
Step 2.1: Source Tracking (External Skills Only)
CRITICAL: When storing a skill found from an external source (GitHub, web), you MUST create a source.md file alongside the SKILL.md to track provenance.
Create source.md in the skill directory with:
# Source
- **Origin**: <GitHub | Web | MCP Marketplace>
- **URL**: <original URL where skill was found>
- **Repository**: <owner/repo if GitHub>
- **Author**: <original author if known>
- **Retrieved**: <date skill was fetched>
- **License**: <license if specified>
## Notes
<Any relevant notes about the source, modifications made, etc.>
Do NOT create source.md for:
- Skills created from scratch (Phase 3)
- Skills already present locally
Phase 3: Skill Creation (if not found)
Goal: Create a new skill through deep research.
Follow the creation workflow in references/skill-create.md.
Steps:
- Research the domain thoroughly using WebSearch
- Identify best practices and common patterns
- Design the skill structure
- Generate SKILL.md following official format
- Save to the location user chose in Phase 2
Phase 4: Skill Execution
Goal: Invoke the skill to complete the user's original task.
CRITICAL: You MUST invoke the found/created skill using the Skill tool. Do NOT manually follow the instructions - the skill must be triggered as an independent execution.
Step 4.1: Invoke the Skill
Use the Skill tool to trigger the skill:
Skill: <skill-name>
args: <user's original request>
Example:
Skill: market-research-reports
args: "Create a market analysis for electric vehicles in Europe"
The Skill tool will:
- Load the skill's SKILL.md
- Execute the skill's workflow
- Complete the user's task
- Return control when finished
Step 4.2: Capture Execution Memory
After the skill completes, the conversation now contains "execution memory" - the full record of what happened during skill execution. This memory is used in Phase 5 for review.
Step 4.3: Verify Completion
Confirm the skill delivered the expected output to the user.
Phase 5: Skill Review
Goal: Determine if the skill needs improvement based on actual execution.
CRITICAL: This must happen in a fresh agent context using Task tool.
Step 5.1: Spawn Fresh Agent
Use Task tool to create a fresh agent for review:
Task: "Review skill execution for improvements"
You are reviewing a skill execution. You have:
1. The SKILL.md content (provided below)
2. The conversation memory of what actually happened (this conversation)
Your job: Compare what the skill SAYS vs what ACTUALLY HAPPENED.
## The Skill
<paste SKILL.md content here>
## Review Questions
1. Did I have to deviate from the skill's instructions? Where?
2. Did I have to improvise something not in the skill? What?
3. Did the user have to clarify something the skill should have covered?
4. Were there errors/retries that better instructions could prevent?
## Output
If NO divergence: "Skill executed perfectly. No improvements needed."
If divergence found: List specific improvements with format:
- Location: <which part of skill>
- Issue: <what happened during execution>
- Suggestion: <concrete change to make>
Step 5.2: Handle Review Results
If no improvements needed:
- Report to user: "Skill worked well, no updates needed."
- Proceed to Phase 6 (Complete)
If improvements suggested:
- Present improvements to user
- Ask: "Would you like me to apply these improvements to the skill?"
- If yes: Proceed to Phase 5.3
- If no: Proceed to Phase 6 (Complete)
Step 5.3: Apply Improvements
Follow the improvement workflow in references/skill-improve.md.
For local/personal skills: Apply changes directly using Edit tool.
For official/external skills:
- Cannot modify directly
- Generate improvement suggestions as a document
- Offer to create a PR description if it's on GitHub
Phase 6: Complete
Report final status:
## Task Complete
- **Task**: <original request>
- **Skill Used**: <skill name>
- **Skill Location**: <path>
- **Improvements Applied**: Yes / No / N/A
<Any relevant notes>
Phase 7: Feedback Handling (User-Triggered)
Trigger: User explicitly invokes skill-master with feedback about a previous output.
Examples:
/skill-master please fix the report, the analysis is too shallowInvoke skill-master to adjust the documentation and add more examples
Step 7.1: Fix the Output First
Address the user's immediate request:
- Identify the output file(s) mentioned
- Make the requested changes/improvements
- Confirm changes with user
Step 7.2: Check for State Tracking
Look for .skill-master-state.json in the working directory