Skills Manager

VerifiedCaution

Manages agent skills: list, install, update, and uninstall skills from Git repositories. Helps when you need to add, remove, or upgrade agent capabilities for tools like Copilot or Claude at project or user scope.

Sby Skills Guide Bot
DevelopmentIntermediate
6/2/2026
Claude CodeCopilot
#skills-management#agent-skills#git-integration#claude

Recommended for

Automated summary

Manages AI agent skills by listing, installing, updating, and uninstalling skills from git repositories.

Strengths

  • Centralized cache management for downloaded skills
  • Supports both machine-level and agent-level storage
  • Handles multiple git URL formats including branches
  • Default path handling for Copilot and Claude agents

Limitations

  • Only supports Copilot and Claude agents
  • Requires a git repository URL for installation
  • No built-in search or discovery for available skills
When to use it

When you need to install, update, or manage skills for Claude or Copilot agents from git repositories.

When not to use it

If you need a graphical interface or integration with other AI agents like Cursor or Windsurf.

Security analysis

Caution
Quality score90/100

The skill manages third-party AI skills by downloading from arbitrary git URLs and deploying to agent-specific locations. While it does not itself execute destructive commands, it facilitates installation of untrusted instructions that could later be interpreted by an AI agent, posing a supply chain risk. The use of git clone and file copies is legitimate but warrants caution due to potential for abuse if sources are compromised.

Findings
  • •Downloads content from user-specified git repositories, which could introduce malicious skills.
  • •Writes files to user profile and project directories; a compromised skill could manipulate agent behavior.
  • •Relies on external PowerShell scripts whose implementation is not provided, increasing audit risk.
How this analysis is made

Examples

List installed skills
List all my installed agent skills.
Install skill from git
Install the skill from https://github.com/owner/repo/tree/main/skills/my-skill
Get skill details
Show details of the skill named 'my-skill'.

name: skills-manager description: Get, List, install, update and uninstall agent skills. Use when user wants to Get, list, install, uninstall and upgrade skills. For install, user should provide a git repo URL. metadata: author: concao version: "1.0"

Skills Manager

This skill helps you Get, list, install, uninstall and update agent skills.

Skill Metadata Format

Skills use YAML frontmatter in Skill.md with the following structure:

---
name: skill-name              # Required
description: Brief description # Required
license: Apache-2.0           # Optional
metadata:                     # Optional
  author: example-org
  version: "1.0"
---

If version is not specified, the system uses the file's last modified time as the version identifier.

Skills Storage Locations

Skills can be stored at two levels:

1. Machine-Level Cache (Centralized)

All downloaded skills are cached in: %USERPROFILE%\.skill\{skill-name}\

Cache Structure:

~/.skill/{skill-name}/
├── origin/           # Original files downloaded from remote repo
├── parsed/           # Processed skill files ready for installation
└── metadata.json     # Skill metadata

metadata.json format:

{
  "name": "skill-name",
  "description": "Skill description",
  "version": "1.0",
  "lastUpdated": "2026-01-15T10:30:00Z",
  "source": {
    "repoUrl": "https://github.com/owner/repo",
    "relativePath": "skills/my-skill",
    "branch": "main"
  }
}

2. Agent-Level Storage

Skills are installed to agent-specific paths based on scope:

| Scope | Agent | Path | |-------|-------|------| | Project | Copilot (default) | .github\skills\{skill-name} | | Project | Claude | .claude\skills\{skill-name} | | Personal | Copilot (default) | %USERPROFILE%\.copilot\skills\{skill-name} | | Personal | Claude | %USERPROFILE%\.claude\skills\{skill-name} |

Default behavior:

  • If user doesn't specify agent preference: use Copilot paths (.github/skills or ~/.copilot/skills)
  • If user doesn't specify scope: default to project scope

Instructions

1. List Skills

List all installed skills across all scopes.

Steps:

  1. Scan all skill storage locations (project and personal)
  2. Read the Skill.md file from each skill folder to extract name and description
  3. Display results in a table format

Script: list-skills.ps1


2. Get Skill Details

Get detailed information about a specific skill by name.

Steps:

  1. Search for the skill in all installed locations
  2. Parse the Skill.md file to extract name and full description
  3. Display skill details including path and files

Script: get-skill.ps1 -SkillName "name"


3. Install Skills

Install a skill from a git repository URL.

Steps:

Step 3.1: Parse the Git Repository URL

When the user provides a git repository link, parse it to extract:

  • Repository URL: The base git repo URL (e.g., https://github.com/owner/repo)
  • Relative Path: The path to the skill folder within the repo (e.g., skills/my-skill)
  • Branch (optional): If specified, use it; otherwise default to main or master

Supported URL formats:

  • https://github.com/owner/repo/tree/branch/path/to/skill
  • https://github.com/owner/repo/path/to/skill
  • https://dev.azure.com/org/project/_git/repo?path=/path/to/skill
  • Raw git URL + relative path provided separately

Step 3.2: Download to Machine Cache

  1. Create cache structure: ~/.skill/{skill-name}/origin/ and ~/.skill/{skill-name}/parsed/
  2. Clone/download files to origin/ folder
  3. Validate skill structure (must contain Skill.md or SKILL.md)
  4. Parse skill metadata and copy processed files to parsed/ folder
  5. Create metadata.json with name, description, version (from frontmatter or last modified time), and source info

Script: download-skill.ps1 -SkillName "name" -RepoUrl "url" -RelativePath "path" [-Branch "branch"]

Step 3.3: Ask User for Installation Scope

Prompt the user to choose:

Where would you like to install this skill?

  1. Project scope - Available only in this repository (default)
  2. Personal scope - Available across all your projects

Which scope do you prefer? (1 or 2, default: 1)

Step 3.4: Copy to Agent Path

Based on user's choice, copy from ~/.skill/{skill-name}/parsed/ to the appropriate agent path.

Script: install-skill.ps1 -SkillName "name" -Scope "project|personal" -Agent "copilot|claude"

Step 3.5: Confirm Installation

Success message:

✅ Skill "{skill-name}" installed successfully!

📁 Location: {target-path}
📄 Skill file: {target-path}/Skill.md
📦 Version: {version}

To use this skill, simply ask me about topics related to: {skill-description}

4. Upgrade Skills

Update an existing skill to the latest version from its source repository.

Steps:

Step 4.1: Read Metadata

  1. Read ~/.skill/{skill-name}/metadata.json to get source repo info
  2. If metadata not found, prompt user for repo URL

Step 4.2: Update Origin Files

  1. Pull latest changes to ~/.skill/{skill-name}/origin/
  2. Re-parse skill files to ~/.skill/{skill-name}/parsed/
  3. Update metadata.json with new version info

Step 4.3: Compare and Update Installed Locations

  1. Compare version in cache with installed locations
  2. Copy updated files from parsed/ to all installed locations if newer
  3. Remind user to reopen chat for changes to take effect

Script: upgrade-skill.ps1 -SkillName "name"

Step 4.4: Confirm Upgrade

Success message:

✅ Skill "{skill-name}" upgraded successfully!

📦 New Version: {version}
Updated locations:
  - {location-1}
  - {location-2}

5. Uninstall Skills

Remove an installed skill from a specific scope.

Steps:

Step 5.1: Locate the Skill

  1. Search for the skill in all installed locations
  2. Display where the skill is installed

Step 5.2: Ask User What to Remove

Prompt the user:

The skill "{skill-name}" is installed in the following locations:

  1. .github/skills/{skill-name} (project)
  2. ~/.copilot/skills/{skill-name} (personal)
  3. ~/.skill/{skill-name} (machine cache)

Which would you like to remove? (1/2/3/all)

Step 5.3: Remove the Skill

Script: uninstall-skill.ps1 -SkillName "name"

Step 5.4: Confirm Removal

Success message:

✅ Skill "{skill-name}" uninstalled from {location}.

Example Usage

User request examples:

  • "List all installed skills"
  • "Get details about sfi-handler skill"
  • "Install the skill from https://github.com/myorg/skills/tree/main/sfi-handler"
  • "Install skill from https://github.com/user/repo path: skills/my-skill to personal scope"
  • "Upgrade my sfi-handler skill"
  • "Uninstall the old-skill from my personal skills"

Troubleshooting

Common Issues

  1. Git not installed: Ensure git is available in PATH
  2. Permission denied: Run with appropriate permissions
  3. Invalid skill structure: Skill folder must contain Skill.md or SKILL.md
  4. Network issues: Check internet connectivity and repository access

Validation Checklist

  • [ ] Repository URL is accessible
  • [ ] Skill folder contains Skill.md or SKILL.md
  • [ ] Target directory is writable
  • [ ] No naming conflicts with existing skills

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/skills-manager-mm5t8cdo/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/skills-manager-mm5t8cdo' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/skills-manager-mm5t8cdo/download' --output '.skill-downloads/skills-manager-mm5t8cdo/SKILL.md.part' && mv '.skill-downloads/skills-manager-mm5t8cdo/SKILL.md.part' '.skill-downloads/skills-manager-mm5t8cdo/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/skills-manager-mm5t8cdo/SKILL.md' && test -s '.skill-downloads/skills-manager-mm5t8cdo/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/skills-manager' && cp -R '.skill-downloads/skills-manager-mm5t8cdo' '.claude/skills/skills-manager'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/skills-manager-mm5t8cdo'

openskills read 'skills-manager-mm5t8cdo'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/skills-manager-mm5t8cdo/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills