Custom skills for Codex.
This option can be either:
- An attribute set defining skills
- A path to a directory containing skill folders
If an attribute set is used, the attribute name becomes the skill directory name, and the value is either:
- Inline content as a string (creates a generated skill directory at <skills-dir>/<name>/)
- A path to a file (creates a generated skill directory at <skills-dir>/<name>/)
- A path to a directory (symlinks <skills-dir>/<name>/ to that directory)
If a path is used, it is expected to contain one folder per skill name, each containing a SKILL.md. Each top-level skill entry is symlinked into <skills-dir>/, leaving <skills-dir>/ itself as a normal directory so unmanaged skills can coexist.
Home Manager manages skills under CODEX_HOME/skills (typically ~/.codex/skills, or ~/.config/codex/skills when home.preferXdgDirectories is enabled).
Declarations
Type
(attribute set of (strings concatenated with "\n" or absolute path)) or absolute pathDefault
{ }Example
{
pdf-processing = ''
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
---
# PDF Processing
## Quick start
Use pdfplumber to extract text from PDFs:
```python
import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
text = pdf.pages[0].extract_text()
```
'';
data-analysis = ./skills/data-analysis;
}