Skip to content

TimonClaeys/pi-github-skill-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 --project or project_local: true to 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

  1. Parse the GitHub URL to extract owner, repo, branch/ref, and path.
  2. List all files in the target directory using the GitHub Contents API.
  3. Fetch each file's content from raw.githubusercontent.com.
  4. Install the files to the appropriate skill directory:
    • Global: ~/.pi/agent/skills/<skill-name>/
    • Project-local: .pi/skills/<skill-name>/
  5. Detect the skill name from SKILL.md frontmatter's name: field, or use the directory name.
  6. 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 public flag makes it publicly installable.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors