OpenAI Skills
Installing a pinned OpenAI skill: destination safety, fallback and partial batches
Read the deprecated installer before using it: explicit revision and destination, archive versus sparse Git retrieval, existing-directory refusal and non-atomic multi-skill installation.
What you will learn
- Installation is a filesystem change, not service deployment
- Know which retrieval branch can run
- Plan recovery before copying multiple folders
Before you start
- Basic Git, Python and command-line concepts
- An explicit boundary for permitted repository inspection and changes
Explain the chapter’s source behavior and apply its acceptance checklist without confusing a catalog with its host.
Key takeaways
- Use an explicit revision, selected path and review destination.
- Auto fallback covers specific HTTP failures, not every failure.
- Multiple selected skills are not installed atomically.
Installation is a filesystem change, not service deployment
The inspected installer copies a selected skill folder into a destination. Its default derives from CODEX_HOME and otherwise the user’s .codex directory; --dest supplies a separate location. The command below targets a review directory on purpose. Copying there stages material for inspection and does not prove that the current host will discover or activate it.
Pin the full revision and specify the repository path separately. The URL parser treats only the single segment after tree or blob as the ref, so a branch name containing a slash is ambiguous in that input form. Using --repo, --ref and --path avoids that particular URL split. The documented command is a reference, not a claim that this review installed a skill.
Know which retrieval branch can run
Download mode reads a repository archive from codeload into memory and then extracts it into a temporary location. Auto mode attempts this route first; its fallback is specifically triggered by installer errors containing HTTP 401, 403 or 404. An arbitrary timeout or invalid archive is not a general retry signal in that branch, so describing auto as “always recover via Git” would be inaccurate.
The Git branch requests a shallow, filtered sparse checkout and attempts HTTPS before SSH on its handled failure path. These transports rely on the machine’s existing credentials and trust configuration. A failed request should be diagnosed at the actual branch that failed; do not disable certificate or host-key checks merely to make an installation tutorial appear successful.
Plan recovery before copying multiple folders
For each selected path, the installer checks the target name, rejects an existing destination, verifies that the source directory contains SKILL.md and copies the directory. This is not a complete schema, script or dependency audit. It also means --name is applied only when there is one selected path, rather than renaming every entry in a multi-path invocation.
The loop copies entries one by one. If a later destination collides or a later source is invalid, earlier copies are not rolled back by a batch transaction. Temporary repository cleanup is a different concern from installed-folder rollback. Inventory actual destinations after a failure, preserve existing content, and promote a reviewed folder through a deliberate rollout rather than deleting directories until a command stops complaining.
Implementation steps
- 1
Record the source revision and check the selected license.
- 2
Review archive and helper contents in an isolated destination.
- 3
Resolve collisions without overwriting existing skills.
- 4
Verify host discovery and task behavior before rollout.
Copy-ready example
python /path/to/reviewed/install-skill-from-github.py --repo openai/skills --ref 49f948faa9258a0c61caceaf225e179651397431 --path skills/.curated/gh-fix-ci --dest ./skill-review --method downloadFrequently asked questions
Will this command install into my active Codex skill directory?
The example uses ./skill-review instead of the default destination. It stages files for review; host activation is a separate check.
Can a failed batch leave some skills copied?
Yes. The inspected main loop performs individual copies and does not roll back earlier successful entries if a later entry fails.
Sources
- README.mdSource checked 2026-09-08
- skills/.system/skill-installer/SKILL.mdSource checked 2026-09-08
- skills/.system/skill-installer/LICENSE.txtSource checked 2026-09-08
- skills/.system/skill-installer/scripts/install-skill-from-github.pySource checked 2026-09-08
- skills/.system/skill-installer/scripts/github_utils.pySource checked 2026-09-08
- skills/.system/skill-installer/scripts/list-skills.pySource checked 2026-09-08
- skills/.system/skill-creator/scripts/quick_validate.pySource checked 2026-09-08
- skills/.system/skill-creator/references/openai_yaml.mdSource checked 2026-09-08
- skills/.curated/gh-fix-ci/SKILL.mdSource checked 2026-09-08
- skills/.curated/gh-fix-ci/scripts/inspect_pr_checks.pySource checked 2026-09-08
- skills/.curated/gh-fix-ci/agents/openai.yamlSource checked 2026-09-08
- skills/.system/plugin-creator/SKILL.mdSource checked 2026-09-08
- Current official skills guideSource checked 2026-09-08