# How to Find a Specific Skill in the OpenAI Repository: 4 Discovery Methods

> Discover specific skills in the openai/skills repository using 4 efficient methods. Browse directories, use helper scripts, query the GitHub API, or invoke the CLI to find what you need.

- Repository: [OpenAI/skills](https://github.com/openai/skills)
- Tags: how-to-guide
- Published: 2026-02-16

---

**You can find a specific skill in the OpenAI repository by browsing the `skills/.curated/` or `skills/.experimental/` directories, using the [`list-skills.py`](https://github.com/openai/skills/blob/main/list-skills.py) helper script, querying the GitHub API via [`github_utils.py`](https://github.com/openai/skills/blob/main/github_utils.py), or invoking the `$skill-installer` CLI.**

The OpenAI *skills* repository organizes capabilities into self-contained folders, making it essential to know how to find a specific skill in the OpenAI repository efficiently. Whether you are looking for a stable, vetted tool or an experimental prototype, the repository provides multiple discovery mechanisms ranging from manual browsing to programmatic API access.

## Understanding the OpenAI Skills Repository Structure

Before searching, it helps to understand how the repository organizes code. The OpenAI *skills* repository stores each skill as a self-contained folder under either `skills/.curated/` (stable, vetted skills) or `skills/.experimental/` (in-progress prototypes). The folder name itself serves as the skill’s identifier (e.g., `yeet`).

### Curated vs. Experimental Skills

- **Curated skills** reside in `skills/.curated/` and represent production-ready tools that have been reviewed by OpenAI.
- **Experimental skills** live in `skills/.experimental/` and contain bleeding-edge prototypes that may change without notice.

### The SKILL.md Manifest

Inside each skill folder you will find a [`SKILL.md`](https://github.com/openai/skills/blob/main/SKILL.md) manifest that describes the skill’s purpose, prerequisites, and workflow. Optional subdirectories include `agents/` for Codex configuration, scripts for automation, assets for resources, and a [`LICENSE.txt`](https://github.com/openai/skills/blob/main/LICENSE.txt) for legal terms.

## Method 1: Browse the Repository Tree to Find a Skill

The simplest way to find a specific skill is to open the `skills/.curated/` or `skills/.experimental/` directory directly in the GitHub web interface. Navigate to the folder whose name matches the skill identifier you need. This method requires no local tooling and works best when you know the exact skill name or want to explore available options visually.

## Method 2: Use the list-skills.py Script

For a command-line approach, the repository provides [`list-skills.py`](https://github.com/openai/skills/blob/main/list-skills.py) located at [`skills/.system/skill-installer/scripts/list-skills.py`](https://github.com/openai/skills/blob/main/skills/.system/skill-installer/scripts/list-skills.py). This script queries the GitHub API for the contents of `skills/.curated` (by default) and prints a numbered list of all available skill names. It also flags which skills are already installed locally.

```bash
$ $skill-installer list

# or directly run the helper script

$ python3 /tmp/instagit_akqonmha/skills/.system/skill-installer/scripts/list-skills.py

```

The script contacts the GitHub API endpoint `https://api.github.com/repos/openai/skills/contents/skills/.curated?ref=main` and outputs results such as:

```

1. yeet
2. gh-address-comments
3. imagegen
...

```

## Method 3: Search Programmatically with Python

If you need to integrate skill discovery into your own tooling, reuse the helper functions in [`skills/.system/skill-installer/scripts/github_utils.py`](https://github.com/openai/skills/blob/main/skills/.system/skill-installer/scripts/github_utils.py). This module provides `github_api_contents_url` to build the API URL and `github_request` to execute authenticated calls.

```python
from skills.system.skill-installer.scripts.github_utils import github_api_contents_url, github_request

repo = "openai/skills"
path = "skills/.curated"
ref  = "main"

url = github_api_contents_url(repo, path, ref)
payload = github_request(url, "my-skill-search")
data = json.loads(payload.decode())
skill_names = [item["name"] for item in data if item["type"] == "dir"]
print(skill_names)          # → ['yeet', 'gh-address-comments', ...]

```

This approach allows you to filter skills programmatically, cache results, or build custom search interfaces without hitting the GitHub website repeatedly.

## Method 4: Use the $skill-installer CLI

Inside a Codex environment, you can invoke the `$skill-installer` command followed by the skill name. The installer resolves the name to the appropriate folder under `skills/.curated` automatically. If the skill is not found in the curated list, the installer falls back to treating the argument as a direct GitHub URL.

```bash

# Install the "yeet" skill (auto-installs from .curated)

$ $skill-installer yeet

# Or install from a direct GitHub path

$ $skill-installer install https://github.com/openai/skills/tree/main/skills/.curated/yeet

```

## Verifying a Found Skill

Once you locate a skill, verify its contents by inspecting the [`SKILL.md`](https://github.com/openai/skills/blob/main/SKILL.md) manifest. If you have installed the skill locally, you can read the manifest directly from your Codex skills directory.

```bash
$ cat ~/.codex/skills/yeet/SKILL.md

```

The manifest provides the skill’s description, prerequisites, and workflow details. You can also view the source directly in the repository at paths like [`skills/.curated/yeet/SKILL.md`](https://github.com/openai/skills/blob/main/skills/.curated/yeet/SKILL.md).

## Summary

- **Skills are organized** into `skills/.curated/` (stable) and `skills/.experimental/` (prototypes), with each folder name serving as the skill identifier.
- **Manual discovery** works by browsing the GitHub tree directly for the target folder name.
- **Automated listing** uses [`skills/.system/skill-installer/scripts/list-skills.py`](https://github.com/openai/skills/blob/main/skills/.system/skill-installer/scripts/list-skills.py) to query the GitHub API and display available skills.
- **Programmatic search** leverages [`github_utils.py`](https://github.com/openai/skills/blob/main/github_utils.py) functions (`github_api_contents_url`, `github_request`) to build custom discovery tools.
- **CLI resolution** via `$skill-installer <skill-name>` automatically maps names to curated folders or accepts direct GitHub URLs.

## Frequently Asked Questions

### Where are skills stored in the OpenAI repository?

Skills are stored in the `skills/.curated/` directory for production-ready, vetted tools and `skills/.experimental/` for in-progress prototypes. Each skill occupies a self-contained folder named after the skill identifier (e.g., `yeet`), containing a [`SKILL.md`](https://github.com/openai/skills/blob/main/SKILL.md) manifest, optional `agents/` configuration, and supporting assets.

### What is the difference between curated and experimental skills?

Curated skills located in `skills/.curated/` are stable, reviewed tools suitable for production use. Experimental skills in `skills/.experimental/` represent bleeding-edge prototypes that may change without notice and are intended for testing new capabilities before they graduate to curated status.

### How do I install a skill once I find it?

You can install a skill using the `$skill-installer <skill-name>` CLI command, which automatically resolves the name to the appropriate folder under `skills/.curated`. Alternatively, you can run the [`install-skill-from-github.py`](https://github.com/openai/skills/blob/main/install-skill-from-github.py) script directly or provide a full GitHub URL to the installer for custom or experimental skills.

### Can I search for skills programmatically without browsing GitHub?

Yes, you can use the Python utilities in [`skills/.system/skill-installer/scripts/github_utils.py`](https://github.com/openai/skills/blob/main/skills/.system/skill-installer/scripts/github_utils.py). Import `github_api_contents_url` to build the API endpoint and `github_request` to execute authenticated calls against the GitHub API, allowing you to retrieve skill lists, filter results, and integrate discovery into your own automation tools.