Agent Skills: OpenAI Codex Rust Best Practices

OpenAI Codex Rust coding patterns distilled from the codex-rs workspace. Use this skill whenever writing, reviewing, or refactoring Rust code — especially for async agents, CLI tools, sandboxing, secret handling, Ratatui TUIs, JSON-RPC protocols, tokio-based services, or any codebase that needs defensive panic discipline. Trigger even when the user does not explicitly mention Codex, because the patterns generalize to any production Rust workspace. Covers async cancellation, error enum design, process sandboxing, DNS-rebinding defense, credential hardening (zeroize/mlock/ctor), Cargo workspace architecture, wiremock-based fakes, insta snapshot testing, OpenTelemetry tracing, and Ratatui rendering.

UncategorizedID: pproenca/dot-skills/openai-codex-rust-patterns

Install this agent skill to your local

pnpm dlx add-skill https://github.com/pproenca/dot-skills/tree/HEAD/skills/.experimental/openai-codex-rust-patterns

Skill Files

Browse the full folder contents for openai-codex-rust-patterns.

Download Skill

Loading file tree…

skills/.experimental/openai-codex-rust-patterns/SKILL.md

Skill Metadata

Name
openai-codex-rust-patterns
Description
OpenAI Codex Rust coding patterns distilled from the codex-rs workspace. Use this skill whenever writing, reviewing, or refactoring Rust code — especially for async agents, CLI tools, sandboxing, secret handling, Ratatui TUIs, JSON-RPC protocols, tokio-based services, or any codebase that needs defensive panic discipline. Trigger even when the user does not explicitly mention Codex, because the patterns generalize to any production Rust workspace. Covers async cancellation, error enum design, process sandboxing, DNS-rebinding defense, credential hardening (zeroize/mlock/ctor), Cargo workspace architecture, wiremock-based fakes, insta snapshot testing, OpenTelemetry tracing, and Ratatui rendering.

OpenAI Codex Rust Best Practices

Distilled from openai/codex codex-rs/ — a 119-crate, 2,008-file Rust workspace that ships the Codex CLI coding agent. Contains 63 rules across 11 categories, each citing the exact file in codex-rs where the pattern lives, so you can write Rust the way its top contributors (Michael Bolin, jif-oai, Ahmed Ibrahim, Eric Traut, Pavel Krymets) actually ship it. Citations were refreshed against main at commit 8a94430 (2026-05-25).

When to Apply

Reference these guidelines when:

  • Writing or reviewing async Rust code that spawns tokio tasks, owns cancellation tokens, or manages long-lived background workers.
  • Designing error enums, Result flows, retry loops, or layer boundaries in a library or service.
  • Building a CLI tool that spawns subprocesses, enforces sandboxing, or runs LLM-generated code safely.
  • Architecting a Cargo workspace with more than ~5 crates, deciding what to split out, and how to manage shared dependencies.
  • Adding tests to a Rust codebase where existing tests are inline mod tests { ... } blocks and scaling is becoming painful.
  • Implementing a JSON-RPC or custom wire protocol with serde — especially one that must evolve without breaking clients.
  • Reading API keys or other secrets into memory, or hardening a binary that handles credentials against core dumps, debugger attach, and LD_PRELOAD.
  • Enforcing a network egress allowlist that must survive DNS rebinding, or loading untrusted plugins/extensions.
  • Wiring OpenTelemetry traces, logs, or metrics into a service that has privacy constraints around PII.
  • Building a Ratatui-based TUI that streams LLM output, handles paste bursts, or manages raw-mode terminal state.
  • Any time you find yourself reaching for .unwrap(), .lock().unwrap(), anyhow::Result<()>, or #[cfg(feature = "test")] — this skill explains what codex does instead.

Rule Categories by Priority

| Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Defensive Coding & Panic Discipline | CRITICAL | defensive- | | 2 | Error Handling & Result Discipline | CRITICAL | errors- | | 3 | Async, Concurrency & Cancellation | HIGH | async- | | 4 | Sandboxing & Process Isolation | HIGH | sandbox- | | 5 | Secrets & Process Hardening | HIGH | secrets- | | 6 | Type Design & Invariants | HIGH | types- | | 7 | Testing Architecture | MEDIUM-HIGH | testing- | | 8 | Protocol & Serde Design | MEDIUM-HIGH | proto- | | 9 | Workspace & Crate Organization | MEDIUM | workspace- | | 10 | Observability & Tracing | MEDIUM | otel- | | 11 | TUI (Ratatui) Rendering | MEDIUM | tui- |

Quick Reference

1. Defensive Coding & Panic Discipline (CRITICAL)

2. Error Handling & Result Discipline (CRITICAL)

3. Async, Concurrency & Cancellation (HIGH)

4. Sandboxing & Process Isolation (HIGH)

5. Secrets & Process Hardening (HIGH)

6. Type Design & Invariants (HIGH)

7. Testing Architecture (MEDIUM-HIGH)

8. Protocol & Serde Design (MEDIUM-HIGH)

9. Workspace & Crate Organization (MEDIUM)

10. Observability & Tracing (MEDIUM)

11. TUI (Ratatui) Rendering (MEDIUM)

How to Use

Read individual reference files for detailed explanations and code examples cited from codex-rs/:

  • Section definitions — Category structure, impact levels, and prefixes
  • AGENTS.md — Auto-generated navigation document compiling every rule

Each rule file contains:

  • Imperative title matching its frontmatter
  • 2–4 sentence explanation of the WHY
  • Incorrect example showing the naive approach
  • Correct example from codex-rs with the file path cited

Reference Files

| File | Description | |------|-------------| | AGENTS.md | Auto-built TOC document compiling every rule | | README.md | Skill repository docs — contribution, structure, commands | | references/_sections.md | Category definitions and ordering | | gotchas.md | Failure points discovered while applying these rules | | metadata.json | Version, discipline, references to codex-rs |