Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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).
.claude/skills/deonmenezes-skill-installer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -5% | 0% |
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:
.curated, but you can pass --path skills/.experimental when they ask about experimental skills.Install skills with the helper scripts.
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}:
Which ones would you like installed? """
After installing a skill, tell the user it will be available on their next turn.
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 jsonscripts/list-skills.py --path skills/.experimentalscripts/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>scripts/install-skill-from-github.py --repo openai/skills --path skills/.experimental/<skill-name>$CODEX_HOME/skills/<skill-name> (defaults to ~/.codex/skills).--path values install multiple skills in one run, each named from the path basename unless --name is supplied.--ref <ref> (default main), --dest <path>, --method auto|download|git.https://github.com/openai/skills/tree/main/skills/.curated via the GitHub API. If it is unavailable, explain the error and exit.GITHUB_TOKEN/GH_TOKEN for download.$CODEX_HOME/skills.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→fail | 10,443 | 4,692 | -55% | 1 | 1 | 0% | 1,510 | 1,310 | -13% | 0 | 0 | — |
case-01 | fail→fail | 4,167 | 5,277 | +27% | 1 | 1 | 0% | 513 | 949 | +85% | 0 | 0 | — |
case-02 | fail→fail | 5,384 | 5,849 | +9% | 1 | 1 | 0% | 629 | 967 | +54% | 0 | 0 | — |
case-03 | fail→fail | 3,748 | 2,701 | -28% | 1 | 1 | 0% | 535 | 973 | +82% | 0 | 0 | — |
case-05 | fail→fail | 7,507 | 3,764 | -50% | 1 | 1 | 0% | 1,047 | 1,303 | +24% | 0 | 0 | — |
case-06 | fail→pass | 12,342 | 3,313 | -73% | 1 | 1 | 0% | 1,905 | 1,229 | -35% | 0 | 0 | — |
case-07 | fail→pass | 11,494 | 3,943 | -66% | 1 | 1 | 0% | 1,765 | 1,386 | -21% | 0 | 0 | — |
case-08 | fail→pass | 4,901 | 3,162 | -35% | 1 | 1 | 0% | 629 | 1,165 | +85% | 0 | 0 | — |
case-09 | fail→fail | 3,819 | 7,505 | +97% | 1 | 1 | 0% | 520 | 1,209 | +133% | 0 | 0 | — |
case-10 | pass→pass | 8,635 | 2,327 | -73% | 1 | 1 | 0% | 1,283 | 1,084 | -16% | 0 | 0 | — |
case-11 | fail→pass | 6,329 | 2,177 | -66% | 1 | 1 | 0% | 1,017 | 1,066 | +5% | 0 | 0 | — |
case-12 | fail→pass | 9,705 | 8,769 | -10% | 1 | 1 | 0% | 1,511 | 1,428 | -5% | 0 | 0 | — |
case-22 | pass→fail | 11,516 | 6,125 | -47% | 1 | 1 | 0% | 1,913 | 1,068 | -44% | 0 | 0 | — |
case-13 | fail→pass | 14,856 | 2,178 | -85% | 1 | 1 | 0% | 2,174 | 1,010 | -54% | 0 | 0 | — |
case-14 | pass→pass | 10,370 | 2,667 | -74% | 1 | 1 | 0% | 1,591 | 1,103 | -31% | 0 | 0 | — |
case-15 | pass→pass | 9,910 | 1,928 | -81% | 1 | 1 | 0% | 1,351 | 994 | -26% | 0 | 0 | — |
case-16 | pass→pass | 13,870 | 3,791 | -73% | 1 | 1 | 0% | 2,025 | 1,291 | -36% | 0 | 0 | — |
case-17 | pass→pass | 8,882 | 1,526 | -83% | 1 | 1 | 0% | 1,163 | 885 | -24% | 0 | 0 | — |
case-18 | pass→pass | 7,974 | 1,760 | -78% | 1 | 1 | 0% | 1,188 | 967 | -19% | 0 | 0 | — |
case-19 | pass→fail | 12,855 | 12,000 | -7% | 1 | 1 | 0% | 1,931 | 988 | -49% | 0 | 0 | — |
case-20 | pass→fail | 4,911 | 5,686 | +16% | 1 | 1 | 0% | 858 | 975 | +14% | 0 | 0 | — |
case-21 | fail→fail | 5,855 | 3,795 | -35% | 1 | 1 | 0% | 850 | 1,189 | +40% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +14 percentage points is the difference between those two pass rates over the 17 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/19/2026 | +25% |
Other measured skills in the registry, with their headline benchmark lift.