openai-codex-rust-patterns

star 162

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.

pproenca By pproenca schedule Updated 5/27/2026

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
Install via CLI
npx skills add https://github.com/pproenca/dot-skills --skill openai-codex-rust-patterns
Repository Details
star Stars 162
call_split Forks 12
navigation Branch main
article Path SKILL.md
More from Creator