Install agent skills from various sources including local paths, GitHub URLs, or the dot-agents repository. Use when adding new skills to a project or user environment.
Install agent skills from local paths, GitHub repositories, or the dot-agents library.
Use install-skill when you need to:
Determine where the skill is located:
Shorthand (from dot-agents repository):
skills/meta/skill-creatorskills/meta/skill-testerskills/meta/skill-evaluatorskills/examples/get-weatherskills/examples/simple-taskLocal Path:
/path/to/skill-directory../skills/my-skill~/custom-skills/my-skillGitHub URL:
https://github.com/user/repo/tree/main/path/to/skillThe installation script automatically discovers the skills directory by searching for existing SKILL.md files.
Discovery Priority:
.agents/skills/ (project-level, agent-agnostic) - preferred.claude/skills/ (project-level, Claude-specific)~/.agents/skills/ (global, agent-agnostic)~/.claude/skills/ (global, Claude-specific)If no existing skills are found, the script will prompt you to choose a location.
Manual Override: You can specify the target directory as a second argument:
bash scripts/install.sh <skill-source> <target-directory>
Check available options:
bash scripts/install.sh --help
Install a skill:
bash scripts/install.sh <skill-source>
Check that the skill was installed correctly:
ls -la <target-directory>
cat <target-directory>/<skill-name>/SKILL.md
Validate the installed skill:
python /path/to/skill-tester/scripts/test_skill.py <target-directory>/<skill-name>
Show Help:
bash scripts/install.sh --help
Show Version:
bash scripts/install.sh --version
Install from Shorthand:
bash scripts/install.sh skills/meta/skill-creator
bash scripts/install.sh skills/examples/get-weather
Install from Local Path:
bash scripts/install.sh /path/to/custom-skill
bash scripts/install.sh ../skills/my-skill
bash scripts/install.sh ~/custom-skills/my-skill
Install from GitHub:
bash scripts/install.sh https://github.com/user/repo/tree/main/skills/my-skill
Specify Target Directory:
bash scripts/install.sh skills/meta/skill-creator ~/.agents/skills
bash scripts/install.sh skills/examples/get-weather ./.agents/skills
Scenario: Setting up skills in a new project
Steps:
Create skills directory:
mkdir -p .agents/skills
Install skill-creator:
bash scripts/install.sh skills/meta/skill-creator
Verify installation:
ls -la .agents/skills/skill-creator
Expected Output:
ℹ Discovering skills installation directory...
⚠ Found empty skills directory: ./.agents/skills
ℹ Target directory: ./.agents/skills
ℹ Found skill locally: /Users/user/dot-agents/worktrees/main/skills/meta/skill-creator
ℹ Installing skill-creator from /Users/user/dot-agents/worktrees/main/skills/meta/skill-creator
✓ Installed skill: skill-creator → ./.agents/skills/skill-creator
Scenario: Installing several skills from the dot-agents repository
Steps:
bash scripts/install.sh skills/meta/skill-creator
bash scripts/install.sh skills/meta/skill-tester
bash scripts/install.sh skills/meta/skill-evaluator
bash scripts/install.sh skills/examples/get-weather
Result: All skills installed to the same auto-detected directory
Scenario: Installing a skill you developed locally
Steps:
Develop skill at ~/my-skills/custom-analyzer/
Ensure it has SKILL.md with proper frontmatter
Install:
bash scripts/install.sh ~/my-skills/custom-analyzer
Expected Output:
ℹ Discovering skills installation directory...
ℹ Found skills in: ./.agents/skills
ℹ Target directory: ./.agents/skills
ℹ Installing custom-analyzer from /Users/user/my-skills/custom-analyzer
✓ Installed skill: custom-analyzer → ./.agents/skills/custom-analyzer
Scenario: Installing a community skill from GitHub
Steps:
bash scripts/install.sh https://github.com/user/repo/tree/main/skills/awesome-skill
Process:
Scenario: Updating a skill that's already installed
Steps:
bash scripts/install.sh skills/meta/skill-creator
Interactive Prompt:
⚠ Skill already exists: ./.agents/skills/skill-creator
Overwrite? [y/N]:
Choose y to update, N to cancel.
The script searches for existing SKILL.md files in common locations to infer where skills should be installed.
Search Process:
./.agents/skills/*/SKILL.md./.claude/skills/*/SKILL.md~/.agents/skills/*/SKILL.md~/.claude/skills/*/SKILL.mdDecision Logic:
.agents/skills/ → use that.claude/skills/ → use thatThe script extracts the skill name from the SKILL.md YAML frontmatter:
---
name: skill-name
description: ...
---
The skill is installed using this name, not the source directory name. This ensures consistency.
.agents/skills/ for projects: Agent-agnostic, future-proof~/.agents/skills/ for global skills: Available across all projects.agents/skills/ to git for team sharingname field, not directory nameSource Not Found:
✗ Source directory does not exist: /path/to/skill
Check path spelling and existence.
SKILL.md Missing:
✗ SKILL.md not found in: /path/to/skill
Source must be a valid skill directory.
Clone Failed:
✗ Failed to clone repository: https://github.com/user/repo
Check URL and network connection.
Name Extraction Failed:
✗ Could not extract skill name from SKILL.md
SKILL.md must have valid YAML frontmatter with name: field.
bash (version 4.0+)git (for GitHub and dot-agents repository installations)awk (for YAML parsing)find (for directory discovery)Standard utilities available on macOS and Linux.
After Installation:
Validate with skill-tester:
python skill-tester/scripts/test_skill.py .agents/skills/new-skill
Evaluate with skill-evaluator: Load skill-evaluator and assess the installed skill's quality.
Use skill-creator for new skills: Install skill-creator first, then use it to scaffold new skills.
A: Install from GitHub URL or clone the repository locally first.
A: Manually specify target directory as second argument or create .agents/skills/ first.
A: This is expected. The script uses the name field from SKILL.md YAML frontmatter.
A: Check write permissions on target directory or use a different location.
scripts/install.sh