Evolve Skill Library
Turn project experience into validated, versioned capability without polluting stable skills with untested notes.
Locate the workbench
Resolve the central repository in this order:
- an explicit user-provided path;
CODEX_SKILL_WORKBENCH;
%USERPROFILE%/Desktop/codex-skill-workbench on Windows;
~/Desktop/codex-skill-workbench elsewhere.
Confirm the repository contains catalog.yaml, skills/, incubator/, inbox/, evals/, and tooling/ before changing it.
Workflow
- Inspect the completed task, changed files, verification output, failures, and corrections.
- Extract only reusable procedures, deterministic scripts, references, templates, or acceptance checks.
- Capture raw findings in
inbox/ with scripts/capture-finding.py. Do not edit a stable skill merely to record an unverified idea.
- Triage each finding as: update an existing skill, create a new skill, retain as evidence, merge with another finding, or discard.
- For a new skill, run
scripts/bootstrap-candidate.py. For an existing stable skill, run tooling/begin-skill-update.ps1 from the workbench.
- Implement the candidate in
incubator/<skill-name>/. Keep the package self-contained and concise.
- Add or update realistic cases under
evals/<skill-name>/. Test every bundled executable with a representative fixture.
- Run repository validation and evaluation tooling.
- Release the validated candidate with a semantic version, then install the stable copy.
- Commit source, catalog, evaluations, and relevant inbox state together.
Promotion threshold
Promote a finding when at least one condition holds:
- the same procedure was needed more than once;
- a deterministic script replaces repeated fragile code;
- a failure mode is likely to recur and has a clear verification check;
- the pattern materially improves quality, speed, or consistency across workspaces;
- the workflow contains domain knowledge that a fresh agent would not reliably infer.
Keep one-off project facts in project documentation or the inbox rather than a stable skill.
Use bundled resources
- Run
scripts/capture-finding.py to create a structured inbox entry.
- Run
scripts/library-status.py to report released skills, incubator packages, inbox candidates, and Git state.
- Run
scripts/bootstrap-candidate.py to initialize a new candidate through the system skill-creator initializer.
Read references/finding-schema.md when extracting a finding. Read references/promotion-policy.md before creating or releasing a candidate. Read references/cross-workspace-workflow.md when integrating contributions from multiple project directories.
Integrity rules
- Treat the workbench as source of truth and
%USERPROFILE%/.codex/skills as an installed target.
- Never maintain the installed copy by hand.
- Keep evaluation files and generated runs outside installable skill packages.
- Keep frontmatter limited to
name and description; keep versions in catalog.yaml.
- Create new skills with the system
init_skill.py helper.
- Regenerate or verify
agents/openai.yaml after material trigger or scope changes.
- Validate before release, evaluate before stable status, and install only cataloged stable packages.
- Preserve project-specific evidence without copying unrelated project implementation into a general skill.
Completion report
Report:
- findings captured or resolved;
- candidates created or updated;
- validation and evaluation results;
- released name and version;
- installed destination and package hash;
- Git commit or remaining uncommitted work.
1---2name: evolve-skill-library3description: Maintain a central personal Codex skill library across workspaces by capturing reusable project findings, triaging candidates, initializing new skills, preparing updates to stable skills, adding evaluations, releasing versions, installing validated packages, and reporting library health. Use when the user asks to preserve, harvest, distill, accumulate, maintain, improve, version, test, install, or publish reusable skills or lessons from completed work.4---56# Evolve Skill Library78Turn project experience into validated, versioned capability without polluting stable skills with untested notes.910## Locate the workbench1112Resolve the central repository in this order:13141. an explicit user-provided path;152. `CODEX_SKILL_WORKBENCH`;163. `%USERPROFILE%/Desktop/codex-skill-workbench` on Windows;174. `~/Desktop/codex-skill-workbench` elsewhere.1819Confirm the repository contains `catalog.yaml`, `skills/`, `incubator/`, `inbox/`, `evals/`, and `tooling/` before changing it.2021## Workflow22231. Inspect the completed task, changed files, verification output, failures, and corrections.242. Extract only reusable procedures, deterministic scripts, references, templates, or acceptance checks.253. Capture raw findings in `inbox/` with `scripts/capture-finding.py`. Do not edit a stable skill merely to record an unverified idea.264. Triage each finding as: update an existing skill, create a new skill, retain as evidence, merge with another finding, or discard.275. For a new skill, run `scripts/bootstrap-candidate.py`. For an existing stable skill, run `tooling/begin-skill-update.ps1` from the workbench.286. Implement the candidate in `incubator/<skill-name>/`. Keep the package self-contained and concise.297. Add or update realistic cases under `evals/<skill-name>/`. Test every bundled executable with a representative fixture.308. Run repository validation and evaluation tooling.319. Release the validated candidate with a semantic version, then install the stable copy.3210. Commit source, catalog, evaluations, and relevant inbox state together.3334## Promotion threshold3536Promote a finding when at least one condition holds:3738- the same procedure was needed more than once;39- a deterministic script replaces repeated fragile code;40- a failure mode is likely to recur and has a clear verification check;41- the pattern materially improves quality, speed, or consistency across workspaces;42- the workflow contains domain knowledge that a fresh agent would not reliably infer.4344Keep one-off project facts in project documentation or the inbox rather than a stable skill.4546## Use bundled resources4748- Run `scripts/capture-finding.py` to create a structured inbox entry.49- Run `scripts/library-status.py` to report released skills, incubator packages, inbox candidates, and Git state.50- Run `scripts/bootstrap-candidate.py` to initialize a new candidate through the system `skill-creator` initializer.5152Read [references/finding-schema.md](references/finding-schema.md) when extracting a finding. Read [references/promotion-policy.md](references/promotion-policy.md) before creating or releasing a candidate. Read [references/cross-workspace-workflow.md](references/cross-workspace-workflow.md) when integrating contributions from multiple project directories.5354## Integrity rules5556- Treat the workbench as source of truth and `%USERPROFILE%/.codex/skills` as an installed target.57- Never maintain the installed copy by hand.58- Keep evaluation files and generated runs outside installable skill packages.59- Keep frontmatter limited to `name` and `description`; keep versions in `catalog.yaml`.60- Create new skills with the system `init_skill.py` helper.61- Regenerate or verify `agents/openai.yaml` after material trigger or scope changes.62- Validate before release, evaluate before stable status, and install only cataloged stable packages.63- Preserve project-specific evidence without copying unrelated project implementation into a general skill.6465## Completion report6667Report:6869- findings captured or resolved;70- candidates created or updated;71- validation and evaluation results;72- released name and version;73- installed destination and package hash;74- Git commit or remaining uncommitted work.