home / skills / openai / skills / skill-installer

skill-installer skill

/skills/.system/skill-installer

This skill installs Codex skills from curated or custom GitHub sources into $CODEX_HOME/skills, streamlining access to new capabilities.

npx playbooks add skill openai/skills --skill skill-installer

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
3.3 KB
---
name: skill-installer
description: Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
metadata:
  short-description: Install curated skills from openai/skills or other repos
---

# Skill Installer

Helps install skills. By default these are from https://github.com/openai/skills/tree/main/skills/.curated, but users can also provide other locations. Experimental skills live in https://github.com/openai/skills/tree/main/skills/.experimental and can be installed the same way.

Use the helper scripts based on the task:
- List skills when the user asks what is available, or if the user uses this skill without specifying what to do. Default listing is `.curated`, but you can pass `--path skills/.experimental` when they ask about experimental skills.
- Install from the curated list when the user provides a skill name.
- Install from another repo when the user provides a GitHub repo/path (including private repos).

Install skills with the helper scripts.

## Communication

When listing skills, output approximately as follows, depending on the context of the user's request. If they ask about experimental skills, list from `.experimental` instead of `.curated` and label the source accordingly:
"""
Skills from {repo}:
1. skill-1
2. skill-2 (already installed)
3. ...
Which ones would you like installed?
"""

After installing a skill, tell the user: "Restart Codex to pick up new skills."

## Scripts

All of these scripts use network, so when running in the sandbox, request escalation when running them.

- `scripts/list-skills.py` (prints skills list with installed annotations)
- `scripts/list-skills.py --format json`
- Example (experimental list): `scripts/list-skills.py --path skills/.experimental`
- `scripts/install-skill-from-github.py --repo <owner>/<repo> --path <path/to/skill> [<path/to/skill> ...]`
- `scripts/install-skill-from-github.py --url https://github.com/<owner>/<repo>/tree/<ref>/<path>`
- Example (experimental skill): `scripts/install-skill-from-github.py --repo openai/skills --path skills/.experimental/<skill-name>`

## Behavior and Options

- Defaults to direct download for public GitHub repos.
- If download fails with auth/permission errors, falls back to git sparse checkout.
- Aborts if the destination skill directory already exists.
- Installs into `$CODEX_HOME/skills/<skill-name>` (defaults to `~/.codex/skills`).
- Multiple `--path` values install multiple skills in one run, each named from the path basename unless `--name` is supplied.
- Options: `--ref <ref>` (default `main`), `--dest <path>`, `--method auto|download|git`.

## Notes

- Curated listing is fetched from `https://github.com/openai/skills/tree/main/skills/.curated` via the GitHub API. If it is unavailable, explain the error and exit.
- Private GitHub repos can be accessed via existing git credentials or optional `GITHUB_TOKEN`/`GH_TOKEN` for download.
- Git fallback tries HTTPS first, then SSH.
- The skills at https://github.com/openai/skills/tree/main/skills/.system are preinstalled, so no need to help users install those. If they ask, just explain this. If they insist, you can download and overwrite.
- Installed annotations come from `$CODEX_HOME/skills`.

Overview

This skill installs Codex skills into $CODEX_HOME/skills from a curated catalog or a specified GitHub repo/path. It supports installing curated and experimental skills, as well as pulling from public or private repositories. Use it to list available skills and to add one or more skills into your local Codex skills directory.

How this skill works

It lists available skills by querying the curated directory (default) or the experimental path when requested, annotating which are already installed. Installation runs helper scripts that attempt a direct download from GitHub and fall back to a git sparse checkout on permission errors. Multiple paths can be installed in one run, and installs go to $CODEX_HOME/skills/<skill-name> by default.

When to use it

  • User asks what skills are available (default curated list).
  • User requests installation of a curated skill by name.
  • User supplies a GitHub repo/path (public or private) to install a skill from another repo.
  • User wants to install experimental skills from the .experimental path.
  • User needs multiple skills installed in one command.

Best practices

  • List available skills first to confirm names and installation state; use --path skills/.experimental for experimental items.
  • For private repos, provide GITHUB_TOKEN or GH_TOKEN, or rely on existing git credentials for fallback.
  • Avoid name collisions: the installer aborts if the destination directory already exists; remove or rename existing skill before reinstalling.
  • Use --ref to pin a specific branch or tag and --method to force download or git behavior if needed.
  • After successful installation, restart Codex to pick up new skills.

Example use cases

  • List curated skills and ask which ones to install; then install a selected skill by name.
  • Install an experimental skill using --path skills/.experimental/<skill-name> from the official repo.
  • Install multiple skills from another repository in one operation by passing multiple --path values.
  • Install a private repo skill by supplying a GITHUB_TOKEN or relying on configured git SSH keys.

FAQ

Can I install skills from private GitHub repositories?

Yes. The installer will attempt a direct download using GITHUB_TOKEN or GH_TOKEN if provided, and falls back to git sparse checkout using existing credentials or SSH.

How do I get a list of experimental skills?

List skills with the helper using --path skills/.experimental to fetch and display experimental entries instead of the default curated list.