skill-creator quick_validate.py still fails without undeclared PyYAML dependency

Open 💬 2 comments Opened Jul 14, 2026 by ruonanzh

Summary

skill-creator/scripts/quick_validate.py still fails in a clean Python environment because it imports yaml at module load time, while the bundled skill-creator does not include a requirements.txt, pyproject.toml, or another dependency bootstrap mechanism.

This is related to #11990, but the fix in #12080 only lazy-loaded PyYAML in generate_openai_yaml.py so that init_skill.py can run without PyYAML. It did not update quick_validate.py.

Reproduction

  1. Use a Python environment without PyYAML installed.
  2. Run:
python3 ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py /path/to/a/skill
  1. The script exits before validating the skill:
Traceback (most recent call last):
  ...
ModuleNotFoundError: No module named 'yaml'

Expected

The bundled Skill validator should either:

  • run without undeclared third-party dependencies, or
  • provide and document a deterministic way to install/run its Python dependencies.

Actual

quick_validate.py imports yaml unconditionally:

import yaml

The bundled skill-creator directory does not include a Python dependency manifest, so the validation step documented by the Skill fails on a clean Python installation.

Current source

The same unconditional import is present on main:

codex-rs/skills/src/assets/samples/skill-creator/scripts/quick_validate.py

Environment

  • Codex CLI: 0.135.0
  • OS: macOS Apple Silicon
  • Python environment: clean environment without PyYAML

Suggested fixes

Any of the following would resolve the issue:

  1. Make the validator self-contained.
  2. Bundle a dependency manifest and invoke it through a managed environment.
  3. Add a PEP 723 inline dependency declaration and a documented runner.
  4. At minimum, catch the missing dependency and print an actionable installation command instead of a traceback.

A local workaround is to run the validator in an isolated environment, for example:

uv run --isolated --no-project --with PyYAML python \
  ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py \
  /path/to/a/skill

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗