Skill & Agent Catalog
Browse and manage the available skills and agents library. Check GitHub for new additions.
Goal
Give the user full visibility and control over their skill/agent library — install, remove, update, or customize capabilities. Success = user ends up with exactly the skills/agents they want, correctly placed, without accidental deletions or overwrites.
Dependencies
Tools: Read, Write, Bash, Grep, Glob, WebFetch (all declared in frontmatter)
CLI tools: None required
Connectors: GitHub (https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/) for update, restore, and install-from-remote flows — requires internet access
Context
- Skills live in
.claude/skills/<name>/SKILL.md; agents live in.claude/agents/<name>.md - Available (not-yet-installed) libraries are at project root:
available-skills/andavailable-agents/ - Core skills must never be uninstalled (list enforced in the uninstall command below)
- Customized skills/agents have
(Customized)appended to theirdescription:field
Commands
/skill-store list
Show two sections: Installed and Available (Not Installed).
Installed: List everything in .claude/skills/ and .claude/agents/ with one-line descriptions.
Available: Fetch the full list from GitHub by querying BOTH locations:
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/available-skills"
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/available-agents"
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/.claude/skills"
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/.claude/agents"
Combine all results into ONE alphabetically sorted list. Exclude anything already installed locally. Mark each as (skill) or (agent). Do NOT split into separate "available-skills" and ".claude/skills" sections: the user doesn't care where it lives on GitHub, just what's available.
/skill-store install <name>
Install a skill or agent. Auto-detects type.
Step 1: Find it. Check locally first (available-skills/, available-agents/). If not found locally, check GitHub:
# Try all four locations
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/available-skills/<name>"
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/.claude/skills/<name>"
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/available-agents/<name>.md"
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/.claude/agents/<name>.md"
Step 2: Download ALL files. Skills are directories that may contain subdirectories (references/, scripts/, assets/). You MUST download every file in the skill directory, not just SKILL.md:
# List the directory contents first
curl -s "https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/<path-to-skill>"
# This returns a JSON array. For each item:
# - If type is "file": download it with curl -s <download_url> -o <local_path>
# - If type is "dir": recurse into it and list+download its contents too
Create the local directory structure to match: .claude/skills/<name>/, .claude/skills/<name>/references/, .claude/skills/<name>/scripts/, etc.
Step 3: Verify. List all downloaded files to confirm nothing was missed.
Step 4: Confirm. Report what was installed and how many files.
For agents (single .md file): download to .claude/agents/<name>.md.
To install into a DIFFERENT project (works for both):
- Ask for the target project path
- Copy to
<target>/.claude/skills/<name>/or<target>/.claude/agents/<name>.md - Create
<target>/.claude/directories if needed
/skill-store uninstall <name>
- Check if
<name>is in active.claude/skills/or.claude/agents/ - Do NOT uninstall core skills (project-init, wizard, tdd, code-review, refactor, context-doctor, skill-creator, grill-me, git-workflow, plan-and-spec, progress-tracker, voice-style, voice-creator, skill-store, research, existing-project, new-project)
CHECKPOINT: Ask: "Are you sure you want to uninstall <name>? It will be moved back to the available library." Do NOT remove the file until the user confirms.
- Move back to
available-skills/oravailable-agents/ - Confirm removal to the user
/skill-store restore <name>
Restore a customized skill or agent back to its original version.
- Check if the skill/agent's
description:field ends with(Customized) - If not customized, report: "This skill hasn't been customized — nothing to restore."
- If customized, fetch the original from GitHub:
- Skills:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/.claude/skills/<name>/SKILL.md - If not found there, try:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/available-skills/<name>/SKILL.md - Agents:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/.claude/agents/<name>.md - If not found there, try:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/available-agents/<name>.md
- Skills:
- Show the user a diff between their customized version and the original
CHECKPOINT: Present the diff and ask: "This will replace your customized version with the original. Proceed?" Do NOT overwrite until the user confirms.
- If they confirm, replace with the original
- If the fetch fails, report: "Couldn't reach GitHub to get the original. Check your connection."
/skill-store restore all
Scan all skills and agents for descriptions ending in (Customized). List them and offer to restore each one individually or all at once.
/skill-store customize <name>
Customize a specific skill or agent for the current project.
- Read the skill's SKILL.md or agent's .md file
- Read the project's CLAUDE.md, package.json/pyproject.toml, and README to understand the tech stack and conventions
- Rewrite the skill's description and instructions to reference the project's specific:
- Test runner and test commands
- Build system and commands
- Linter/formatter
- Framework conventions
- Branch naming and PR conventions
- Add project-specific examples where applicable
- Append
(Customized)to thedescription:field if not already present
CHECKPOINT: Show the user the proposed changes before writing. Ask: "Here are the customizations I'll apply. Save them?" Do NOT write until confirmed.
- Save on confirmation
/skill-store customize
No name specified — interactive mode:
- List ALL installed skills and agents with numbers:
Installed Skills: 1. wizard - 8-phase production implementation 2. tdd - Strict red-green-refactor TDD 3. code-review - Isolated code review (Customized) ... Installed Agents: 14. code-reviewer - Reviews changes by severity 15. debugger - Root cause analysis ... - Skills already marked
(Customized)show that tag so the user knows - Ask: "Enter the numbers of skills/agents to customize (e.g.
1, 2, 5orall):" - For each selected, run the customize process above
- Read the project context ONCE at the start, then apply to all selected — don't re-read for each
/skill-store customize all
Customize every installed skill and agent for the current project. Same as selecting all numbers above.
/skill-store update
Check GitHub for new or updated skills and agents.
Process:
Fetch the latest INDEX files from GitHub:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/available-skills/INDEX.md WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/available-agents/INDEX.mdCompare with local INDEX files — identify:
- New entries: skills/agents on GitHub that don't exist locally
- Updated entries: descriptions that differ (indicates the skill was improved)
For each new/updated item, show the user:
- Name and description
- Whether it's new or updated
- Ask if they want to download it
For items the user wants:
Skills: Fetch the SKILL.md:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/available-skills/<name>/SKILL.mdSave to
available-skills/<name>/SKILL.mdAlso check for supporting files (references/, scripts/) by fetching:WebFetch https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/available-skills/<name>This returns a directory listing. Download any files found.
Agents: Fetch the agent file:
WebFetch https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/available-agents/<name>.mdSave to
available-agents/<name>.md
Update local INDEX.md files with any new entries
Also check for new reference guides:
WebFetch https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/referenceCompare with local
reference/— offer to download any new guides.Report what was found and what was downloaded.
If the fetch fails (no internet, repo not found, etc.):
- Don't error out — just report "Couldn't reach GitHub. Your local library is still available."
- Show the local catalog as normal.
/skill-store setup
Interactive project setup:
- Ask what kind of project (web, Python, API, content, etc.)
- Recommend relevant skills and agents from the library
- Install selected ones to the target project
- Optionally run
/project-initto create CLAUDE.md
GitHub Repository
- Repo:
https://github.com/reedmayhew18/claude-code-expert - Raw content base:
https://raw.githubusercontent.com/reedmayhew18/claude-code-expert/main/ - API base:
https://api.github.com/repos/reedmayhew18/claude-code-expert/contents/
New skills and agents are added to the GitHub repo regularly. Run /skill-store update to check for additions.
Notes
- Installing a skill/agent here makes it active for the current project
- For other projects, specify the target path
- Core skills cannot be uninstalled (they're the Claude Code expertise foundation)
- Available libraries are at project root:
available-skills/andavailable-agents/ - GitHub updates are additive only — they never modify or remove your existing local files
Output
- list: Inline display of installed and available skills/agents with one-line descriptions
- install: File copied to
.claude/skills/<name>/or.claude/agents/<name>.md; confirmation message shown - uninstall: File moved back to
available-skills/oravailable-agents/; confirmation message shown - restore: Original file written back to active location after user diff-review and confirmation
- customize: Updated SKILL.md or agent file with project-specific instructions and
(Customized)tag - update: Summary of new/updated items found on GitHub; downloaded files placed in
available-skills/oravailable-agents/ - setup: Selected skills/agents installed; optional CLAUDE.md created via
/project-init