From 71633f8b8f7a6ddd7f5a23f68afa2850b5ad8511 Mon Sep 17 00:00:00 2001 From: "Adam Perry @ OpenAI" Date: Mon, 15 Jun 2026 11:48:31 -0700 Subject: [PATCH] [codex] add path-types skill (#28347) ## Why Codex contributors and agents need repository-scoped guidance for choosing compatible Rust types for operating system paths during the ongoing URI migration. Keeping the guidance in the repository makes the app-server and exec-server rules available consistently without relying on a personal skill installation. ## What - Add the `path-types` skill at `.codex/skills/path-types/SKILL.md`. - Document the intended uses of `ApiPathString`, `PathUri`, `AbsolutePathBuf`, and `PathBuf` across protocol, internal, and shared dependency boundaries. - Keep migrations of existing types limited to explicit requests and proportional edits. ## Validation - Validated the skill structure with skill-creator's `quick_validate.py`. --- .codex/skills/path-types/SKILL.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .codex/skills/path-types/SKILL.md diff --git a/.codex/skills/path-types/SKILL.md b/.codex/skills/path-types/SKILL.md new file mode 100644 index 000000000..e604ce79b --- /dev/null +++ b/.codex/skills/path-types/SKILL.md @@ -0,0 +1,18 @@ +--- +name: path-types +description: Choose Rust types for operating system paths across the Codex repository. Use when defining new path-bearing types or explicitly migrating existing ones. +--- + +# Path Types + +Apply this guidance when defining new types. Change existing code only when explicitly requested, +and keep edits minimal and proportional. Treat these rules as the target state of an ongoing +migration; if compliance is difficult, ask the user how to proceed. + +- In app-server protocol types, use `ApiPathString` for backwards compatibility during the URI + migration. At the protocol boundary, convert it to `PathUri` and use `PathUri` internally. For + host-local logic, such as some config values, use `AbsolutePathBuf` or `PathBuf` instead. +- In exec-server protocol types, use `PathUri`. Internally, use `PathUri` or `AbsolutePathBuf` as + appropriate. +- In dependencies shared by both servers, use `PathUri` or separate APIs that decouple their use + cases.