| name | skill-install |
| description | Fetch and install skills from GitHub, URLs, or skill ecosystems. Use when asked to install, add, fetch, or ingest a skill. |
Skill Install
GitHub: Single Skill
mkdir -p ~/.pi/agent/skills/NAME
curl -s "https://raw.githubusercontent.com/USER/REPO/main/skills/NAME/SKILL.md" -o ~/.pi/agent/skills/NAME/SKILL.md
GitHub: Full Repo
curl -s "https://api.github.com/repos/USER/REPO/contents/skills" | jq -r '.[].download_url' | while read url; do
NAME=$(echo "$url" | sed -n 's|.*/skills/\([^/]*\)/SKILL\.md.*|\1|p')
[ -n "$NAME" ] && mkdir -p ~/.pi/agent/skills/$NAME && curl -s "$url" -o ~/.pi/agent/skills/$NAME/SKILL.md
done
Raw URL
curl -s "https://..." -o ~/.pi/agent/skills/NAME/SKILL.md
npm (if package)
npx skills add USER/REPO
Verify
- File exists:
ls ~/.pi/agent/skills/NAME/SKILL.md
- Frontmatter valid:
head -3 has name: and description:
- Name matches dir: frontmatter
name: X == directory X
Common Sources
| Source | URL |
|---|
| Superpowers | obra/superpowers |
| pi-skills | badlogic/pi-skills |
| Raw GitHub | https://raw.githubusercontent.com/USER/REPO/main/... |
Adapting Imported Skills
When installing from elsewhere, always adapt to your style:
- If the source is a skills.sh page, resolve it to the underlying GitHub raw
skills/<name>/SKILL.md first.
- Trim verbose sections (diagrams, long checklists, 500-line guides)
- Keep: trigger conditions, core rules, essential commands
- Your style: concise, rules-based, under ~50 lines
- For very large upstream skills, prefer a curated local version over a verbatim copy.
- Example: if imported skill has a 50-line flowchart → condense to 3 bullet rules
Update
curl -s "https://raw.githubusercontent.com/USER/REPO/main/skills/NAME/SKILL.md" -o ~/.pi/agent/skills/NAME/SKILL.md