managing-skills
Install, update, list, and remove Claude Code skills. Supports GitHub repositories (user/repo), GitHub subdirectory URLs (github.com/user/repo/tree/branch/path), and .skill zip files. Use when user wants to install, add, download, update, sync, list, remove, uninstall, or delete skills.
What this skill does
<objective> Manage Claude Code skills from multiple source types. This skill handles the full lifecycle of skill management: installation, updates, listing, and removal. </objective> <first_action> When invoked for skill management: 1. Parse the user's request to identify operation type 2. If URL/reference provided, classify the source type 3. If install operation, ask which location (user vs project) 4. Only then proceed to execution </first_action> <classify_request> Before any operation, classify what the user wants: **Operation type:** - INSTALL: User wants to add a new skill - UPDATE: User wants to refresh an existing skill - LIST: User wants to see installed skills - REMOVE: User wants to delete a skill - CHECK: User wants to verify skill source/status **Source type (for INSTALL/UPDATE):** - GITHUB_REPO: `user/repo` or `github.com/user/repo` without path after branch - GITHUB_SUBDIR: URL contains `/tree/<branch>/` followed by a path - SKILL_ZIP: URL ends with `.skill` State both classifications before proceeding. </classify_request> <workflow> ## Phase 1: Understand Request - Classify operation and source type - Identify target skill name - Determine install location (user vs project) **Exit criteria:** Operation type, source type, skill name, and location all known. ## Phase 2: Validate - Check if skill already exists (for install) - Check if skill exists (for update/remove) - Verify URL is accessible (for install/update) **Exit criteria:** Preconditions verified, conflicts identified. ## Phase 3: Execute - Run appropriate commands from reference sections - Handle errors per `<error_handling>` **Exit criteria:** Commands completed without error. ## Phase 4: Verify - Confirm SKILL.md exists in target location - Install dependencies if requirements.txt exists - Report success per `<success_criteria>` **Exit criteria:** Success criteria met, user reminded to restart. </workflow> <install_locations> Skills can be installed in two locations: - **User skills** (`~/.claude/skills/<skill-name>/`) - available in all projects - **Project skills** (`<project>/.claude/skills/<skill-name>/`) - available only in that project <decision_criteria> **Suggest user location when:** - Skill is general-purpose (not project-specific) - User wants skill available across all projects - Default choice if user doesn't specify **Suggest project location when:** - Skill is specific to this project's tech stack - Team needs shared access via version control - Skill contains project-specific customizations </decision_criteria> **Always ask the user which location they want before installing.** </install_locations> <quick_start> **Install from GitHub repo:** ```bash mkdir -p ~/.claude/skills git clone https://github.com/user/repo ~/.claude/skills/repo ``` **List installed skills:** ```bash ls ~/.claude/skills/ ls .claude/skills/ ``` **Remove a skill:** ```bash rm -rf ~/.claude/skills/skill-name ``` After any operation, remind user to restart Claude Code. </quick_start> <skill_reference_types> <type name="github_repository"> A dedicated GitHub repo containing a skill. **How to recognize:** - Shorthand: `user/repo` - Full URL: `https://github.com/user/repo` - May contain `/tree/<branch>` but NO path after the branch **Install (User):** ```bash mkdir -p ~/.claude/skills git clone https://github.com/user/repo ~/.claude/skills/repo ``` **Install (Project - as submodule):** ```bash mkdir -p .claude/skills git submodule add https://github.com/user/repo .claude/skills/repo ``` **Update (User):** ```bash git -C ~/.claude/skills/skill-name pull ``` **Update (Project):** ```bash git -C .claude/skills/skill-name pull git add .claude/skills/skill-name ``` </type> <type name="github_subdirectory"> A skill living as a subdirectory within a larger repository. **How to recognize:** - Contains `/tree/<branch>/` followed by a path within the repo - Example: `https://github.com/org/repo/tree/main/skills/my-skill` - Differs from github_repository: has path AFTER the branch name **Parse the URL:** - Repository: `https://github.com/org/repo` - Subpath: `skills/my-skill` - Skill name: `my-skill` (last path component) **Install (User or Project):** ```bash # Clone to temp directory git clone --depth 1 https://github.com/org/repo /tmp/skill-clone-$$ # Copy subdirectory to target mkdir -p ~/.claude/skills cp -r /tmp/skill-clone-$$/skills/my-skill ~/.claude/skills/my-skill # Create .skill-manager-ref with source URL echo "https://github.com/org/repo/tree/main/skills/my-skill" > ~/.claude/skills/my-skill/.skill-manager-ref # Cleanup rm -rf /tmp/skill-clone-$$ ``` **Update:** ```bash # Read source URL SOURCE_URL=$(cat ~/.claude/skills/my-skill/.skill-manager-ref) # Re-run installation (same steps as above, overwrites existing) ``` </type> <type name="skill_zip"> A `.skill` zip file hosted at any URL. **How to recognize:** - URL ends with `.skill` - Example: `https://example.com/skills/my-skill.skill` **Parse the URL:** - Skill name: filename without `.skill` extension **Install (User or Project):** ```bash # Download to temp curl -L -o /tmp/skill-$$.zip "https://example.com/skills/my-skill.skill" # Create target and extract mkdir -p ~/.claude/skills/my-skill unzip -o /tmp/skill-$$.zip -d ~/.claude/skills/my-skill # If zip contained a single directory, move contents up if [ $(ls -1 ~/.claude/skills/my-skill | wc -l) -eq 1 ] && [ -d ~/.claude/skills/my-skill/* ]; then mv ~/.claude/skills/my-skill/*/* ~/.claude/skills/my-skill/ rmdir ~/.claude/skills/my-skill/*/ fi # Create .skill-manager-ref with source URL echo "https://example.com/skills/my-skill.skill" > ~/.claude/skills/my-skill/.skill-manager-ref # Cleanup rm /tmp/skill-$$.zip ``` **Update:** ```bash # Read source URL SOURCE_URL=$(cat ~/.claude/skills/my-skill/.skill-manager-ref) # Re-run installation (same steps as above, overwrites existing) ``` </type> </skill_reference_types> <remove_skill> **User skill:** ```bash rm -rf ~/.claude/skills/skill-name ``` **Project skill (submodule):** ```bash git submodule deinit -f .claude/skills/skill-name git rm -f .claude/skills/skill-name rm -rf .git/modules/.claude/skills/skill-name ``` **Project skill (not a submodule):** ```bash rm -rf .claude/skills/skill-name ``` </remove_skill> <check_skill_source> **GitHub repo:** ```bash git -C ~/.claude/skills/skill-name remote get-url origin git -C ~/.claude/skills/skill-name rev-parse --short HEAD ``` **Subdirectory or Zip (has .skill-manager-ref):** ```bash cat ~/.claude/skills/skill-name/.skill-manager-ref ``` </check_skill_source> <post_install> After installing any skill, check for and install dependencies: ```bash if [ -f ~/.claude/skills/skill-name/requirements.txt ]; then pip install -r ~/.claude/skills/skill-name/requirements.txt fi ``` </post_install> <error_handling> **Network failure during clone/download:** - Check internet connectivity - Verify URL is accessible - Retry with `--depth 1` for large repos **Permission denied:** - Check write permissions on target directory - Use `sudo` only if installing to system location (not recommended) **Skill already exists:** - Ask user: overwrite, rename, or cancel - For updates, overwrite is expected behavior **Invalid skill structure:** - Verify SKILL.md exists in the skill directory - Check for valid YAML frontmatter </error_handling> <escalation> Stop and ask the user when: - URL format doesn't match any known source type - Skill already exists and operation is install (not update) - Git clone fails after 2 retries - SKILL.md is missing from the installed content - Multiple skills have the same name in different locations - User hasn't specified install location (user vs project) </escalation> <never_do> ## NEVER DO - Never install without asking user for install location first - Never overwrite existing skill without user confirmation - Never skip the restart reminder - Never use `sudo` for skill installation - Never clone to final location di
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.