@timonclaeys/pi-github-skill-installer
A pi extension to install agent skills directly from GitHub repositories.
Package details
Install @timonclaeys/pi-github-skill-installer from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@timonclaeys/pi-github-skill-installer- Package
@timonclaeys/pi-github-skill-installer- Version
1.0.0- Published
- May 21, 2026
- Downloads
- not available
- Author
- timonclaeys
- License
- MIT
- Types
- extension
- Size
- 22.6 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-github-skill-installer
A pi extension that installs agent skills directly from GitHub repositories. Supports both global (~/.pi/agent/skills/) and project-local (.pi/skills/) installations.
Features
- LLM-callable tool — The agent can autonomously install skills from GitHub URLs when asked.
- Interactive command — Use
/install-skill <url>to install skills manually. - Recursive fetching — Downloads all files in a skill directory, including subdirectories.
- Smart name detection — Extracts the skill name from SKILL.md frontmatter, falling back to the directory name.
- Multiple URL formats — Supports blob URLs, tree URLs, raw CDN URLs, and shorthand notation.
- Project-local installation — Use
--projectorproject_local: trueto install in the current project.
Installation
Global (recommended)
pi install git:github.com/TimonClaeys/pi-github-skill-installer
# or from npm once published:
pi install npm:@timonclaeys/pi-github-skill-installer
Or from a local path:
pi install /path/to/pi-github-skill-installer
Temporary (try without installing)
pi -e ./path/to/extensions/install-github-skill.ts
Usage
Via the agent (tool)
Simply ask pi to install a skill from a GitHub URL:
Install the brave-search skill from github.com/badlogic/pi-skills
The agent will automatically invoke the install_github_skill tool.
Via the command
/install-skill https://github.com/user/repo/tree/main/skills/my-skill
For project-local installation:
/install-skill https://github.com/user/repo/tree/main/skills/my-skill --project
Or via the tool with explicit agent instruction:
Install the skill from https://github.com/user/repo/tree/main/skills/my-skill
Make it project-local.
Supported URL Formats
GitHub blob/tree URLs
https://github.com/owner/repo/tree/branch/path/to/skill
https://github.com/owner/repo/blob/branch/path/to/skill/SKILL.md
https://github.com/owner/repo
Raw CDN URLs
https://raw.githubusercontent.com/owner/repo/branch/path/to/skill/SKILL.md
Shorthand
owner/repo/path/to/skill
How It Works
- Parse the GitHub URL to extract owner, repo, branch/ref, and path.
- List all files in the target directory using the GitHub Contents API.
- Fetch each file's content from
raw.githubusercontent.com. - Install the files to the appropriate skill directory:
- Global:
~/.pi/agent/skills/<skill-name>/ - Project-local:
.pi/skills/<skill-name>/
- Global:
- Detect the skill name from SKILL.md frontmatter's
name:field, or use the directory name. - Report the installation result, including any warnings (e.g., missing SKILL.md).
Reloading
After installation, run /reload or restart pi for the new skill to appear in the available skills list.
Package Structure
@timonclaeys/pi-github-skill-installer/
├── package.json # npm package manifest with pi metadata
├── README.md # This file
├── LICENSE # MIT license
├── .gitignore # Git exclusion rules
├── .npmignore # npm publish exclusion rules
└── extensions/
└── install-github-skill.ts # Main extension source (~500 lines)
Publishing
To publish the package to npm:
npm login
npm publish --access public
Note: Scoped packages publish as private by default. The
--access publicflag makes it publicly installable.
License
MIT