Skip to content

feat: fw-4.19.0 + cli-3.16.0 — Codex CLI (OpenAI) skill support#203

Merged
montfort merged 1 commit into
mainfrom
feat/codex-cli-skills
May 25, 2026
Merged

feat: fw-4.19.0 + cli-3.16.0 — Codex CLI (OpenAI) skill support#203
montfort merged 1 commit into
mainfrom
feat/codex-cli-skills

Conversation

@montfort
Copy link
Copy Markdown
Contributor

Summary

  • Framework fw-4.19.0: ships a fourth parallel skill distribution under dist/.codex/skills/ (11 skills) so the OpenAI Codex CLI can discover StrayMark skills. Generated from .claude/skills/ with minimal frontmatter (only name + description); body byte-identical.
  • CLI cli-3.16.0: new subcommand straymark install-skills --agent codex that copies the project's .codex/skills/ into ~/.codex/skills/ (where Codex actually looks); straymark validate --agent codex verifies the install.
  • Motivation: an adopter using Codex CLI for external Charter audits in Sentinel observed Codex doesn't discover skills under .claude/skills/ and rejects the Claude-only allowed-tools frontmatter. Codex also reads skills at user level (~/.codex/skills/), not from the project tree like Claude/Gemini.

What's in the box

Framework (fw-4.19.0)

  • dist/.codex/skills/ — 11 generated skills with Codex-compatible frontmatter.
  • dist/dist-manifest.yml — adds .codex/skills/ to the files: list so straymark init/update materializes it in adopter projects.
  • AGENT-RULES.md (EN/es/zh-CN) — codex-cli-v1.0 added to the agent: examples.

CLI (cli-3.16.0)

  • cli/src/commands/install_skills.rs — new subcommand. Supports --agent codex (copy/symlink to $CODEX_HOME/skills/ or ~/.codex/skills/), --dry-run, --symlink. --agent claude|gemini exits with guidance.
  • cli/src/commands/validate.rs — new --agent codex mode: checks ~/.codex/skills/straymark-* for presence, parseable YAML frontmatter, required name/description, and absence of Claude-only keys (allowed-tools, argument-hint, model).
  • cli/src/bin/gen_codex_skills.rs — generator binary. cargo run --bin gen_codex_skills regenerates dist/.codex/skills/ from dist/.claude/skills/. --check mode for CI drift detection.

Docs

  • CHANGELOG.md — fw-4.19.0 / cli-3.16.0 entry.
  • READMEs (EN/es/zh-CN) — Codex column in skills table, .codex/skills/ in multi-agent diagram, Codex CLI in supported-platforms table.
  • CLI-REFERENCE.md (EN/es/zh-CN) — new sections for install-skills and validate --agent; Skills section mentions the .codex/skills/ variant.
  • Version footers bumped fw-4.18.0 → fw-4.19.0 across governance docs.

Out of scope (follow-ups)

  • Umbrella skill (straymark/SKILL.md) routing to specific flows.
  • agents/openai.yaml per skill.
  • Tool-agnostic refactor of skill bodies.
  • Integration with Codex's native ~/.codex/skills/.system/skill-installer.
  • Soporte análogo para Copilot CLI (mismo patrón aplicable).
  • Blog post — separate seguimiento del usuario.

Test plan

  • cargo build --release — clean.
  • cargo test in cli/ — 217 tests pass (3 new from generator).
  • cargo run --bin gen_codex_skills -- --check — reports in-sync (0 drift).
  • E2E sandbox: install-skills --dry-runinstall-skillsvalidate --agent codex (clean) → corrupt one skill by re-introducing allowed-toolsvalidate --agent codex warns; install-skills --agent claude errors with guidance.
  • Post-merge: tag fw-4.19.0 + cli-3.16.0 and verify the release-framework + release-cli workflows produce the expected artifacts.
  • Post-release: smoke test in a fresh project — straymark init, straymark install-skills --agent codex, open Codex CLI in the project, ask for an AILOG, confirm Codex discovers and runs straymark-ailog.

🤖 Generated with Claude Code

Adds a fourth parallel skill distribution under `dist/.codex/skills/` so the
OpenAI Codex CLI can discover StrayMark skills. Codex rejects Claude-only
frontmatter keys (`allowed-tools`) and only loads skills from
`~/.codex/skills/` (user-level), not from the project tree like Claude and
Gemini do — so the release also ships a new CLI subcommand that installs the
project's `.codex/skills/` into the user's Codex home.

Framework (fw-4.19.0):
- New `dist/.codex/skills/` tree (11 skills) generated from `.claude/skills/`
  with minimal frontmatter (only `name` + `description`); body byte-identical.
- `.codex/skills/` added to `dist/dist-manifest.yml`.
- `codex-cli-v1.0` added to the AGENT-RULES `agent:` examples (EN/es/zh-CN).

CLI (cli-3.16.0):
- `straymark install-skills --agent <codex|claude|gemini> [--path .]
  [--dry-run] [--symlink]`: copies (or symlinks) every `straymark-*` skill
  from `<path>/.codex/skills/` into `$CODEX_HOME/skills/` (or `~/.codex/skills/`).
  `--agent claude|gemini` exits with guidance since those agents read from the
  project tree directly.
- `straymark validate --agent codex`: verifies presence of `SKILL.md`,
  parseable YAML frontmatter, required `name`/`description`, and absence of
  Claude-only keys (`allowed-tools`, `argument-hint`, `model`) — a smell of
  someone copying skills from `.claude/`.
- `cli/src/bin/gen_codex_skills`: generator binary; `--check` mode for CI to
  detect drift between `.claude/skills/` and `.codex/skills/`.

Docs:
- CHANGELOG entry for fw-4.19.0 / cli-3.16.0.
- README + CLI-REFERENCE (EN + es + zh-CN): Codex column in skills table,
  `.codex/skills/` in multi-agent diagram, new sections for `install-skills`
  and `validate --agent`, Codex CLI in supported-platforms table.
- Version footers bumped fw-4.18.0 → fw-4.19.0 across governance docs.

Motivated by an adopter using Codex CLI for external Charter audits in
Sentinel. Out of scope for this PR (tracked as follow-ups): umbrella skill,
`agents/openai.yaml` per skill, tool-agnostic body rewrite, integration with
Codex's `~/.codex/skills/.system/skill-installer`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@montfort montfort merged commit eca2705 into main May 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant