path-types

Choisir les types Rust pour les chemins de système d'exploitation dans le dépôt Codex. À utiliser lors de la définition de nouveaux types porteurs de chemins ou lors de la migration explicite de types existants.

Qu'est-ce que path-types ?

Ce guide définit les règles pour choisir les types Rust appropriés pour représenter les chemins de système d'exploitation dans le dépôt Codex, notamment les types `LegacyAppPathString`, `PathUri`, `AbsolutePathBuf` et `PathBuf`. Il s'adresse aux développeurs travaillant sur les serveurs d'application et d'exécution, ainsi que sur les dépendances partagées entre eux. L'objectif est de garantir la rétrocompatibilité, la manipulation sécurisée des URI, et une conversion sans perte excessive entre chemins natifs et URI. Le guide couvre également les exigences de migration, comme la préservation des clients existants, la gestion des chemins locaux, et la façon de gérer les erreurs de conversion en fonction du contexte (sécurité ou affichage).

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/openai/codex/tree/main/.codex/skills/path-types

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Types de chemins

Appliquez ces directives lors de la définition de nouveaux types. Ne modifiez le code existant que lorsque cela est explicitement demandé, et limitez les modifications au strict nécessaire. Traitez ces règles comme l'état cible d'une migration en cours ; si la conformité est difficile, demandez à l'utilisateur comment procéder.

  • Dans les types de protocole du serveur d'application, utilisez LegacyAppPathString pour la rétrocompatibilité pendant la migration des URI. À la frontière du protocole, convertissez-le en PathUri et utilisez PathUri en interne. Pour la logique locale à l'hôte, comme certaines valeurs de configuration, utilisez AbsolutePathBuf ou PathBuf à la place.
  • Dans les types de protocole du serveur d'exécution, utilisez PathUri. En interne, utilisez PathUri ou AbsolutePathBuf selon le cas.
  • Dans les dépendances partagées par les deux serveurs, utilisez PathUri ou des API séparées qui découplent leurs cas d'utilisation.
  • Les arguments d'appel d'outil que le modèle est censé générer doivent être désérialisés comme des String normales avec un code de gestion de chemin spécifique à la fonctionnalité.

Exigences de migration

Gardez ces exigences à l'esprit lors de la migration du code pour respecter les directives ci-dessus :

  • les clients existants du serveur d'application continuent d'envoyer et de recevoir des chaînes de chemin natif héritées
  • le serveur d'application peut conserver et manipuler des URI de chemin de plateforme étrangère
  • les API du serveur d'exécution utilisent des URI file://
  • l'opération locale uniquement ne doit pas modifier le texte visible par le modèle
  • les arguments d'outil du modèle peuvent contenir des chemins relatifs ou absolus bruts pour tout système d'exploitation
  • le raisonnement sur les chemins doit fonctionner avant que l'environnement associé ne soit en ligne
  • les URI ne peuvent pas encoder explicitement la convention de chemin ou le système d'exploitation de l'exécuteur
  • les utilisateurs ne doivent pas configurer explicitement le système d'exploitation/la convention de chemin de l'environnement
  • les URI ne doivent pas encore être stockés dans les rollouts, les bases de données ou tout autre stockage persistant
  • erreurs de conversion de chemin : fermé sur échec pour les chemins critiques pour la sécurité, ouvert sur échec pour l'interface utilisateur/les diagnostics
  • préférez les petites méthodes ciblées sur PathUri ou LegacyAppPathString plutôt que des aides locales
  • représentez les valeurs PathUri comme des URI dans les diagnostics

Il est acceptable que la conversion entre chemins et URI soit un peu imparfaite tant qu'elle fera ce qu'il faut pour les utilisateurs réels.

La migration vers les URI ne doit pas ajouter de nouveaux modes d'échec significatifs. Nous devrons faire remonter des erreurs dans certains endroits qui étaient auparavant infaillibles, mais cela doit être limité au strict minimum.

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep watching open PRs so fresh review feedback is surfaced promptly. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.

code-review

Run a final code review on a pull request

code-review-change-size

Change size guidance (800 lines)

code-review-context

Model visible context

code-review-testing

Test authoring guidance

codex-bug

Diagnose GitHub bug reports in openai/codex. Use when given a GitHub issue URL from openai/codex and asked to decide next steps such as verifying against the repo, requesting more info, or explaining why it is not a bug; follow any additional user-provided instructions.

codex-issue-digest

Run a GitHub issue digest for openai/codex by feature-area labels, all areas, and configurable time windows. Use when asked to summarize recent Codex bug reports or enhancement requests, especially for owner-specific labels such as tui, exec, app, or similar areas.

codex-pr-body

Update the title and body of one or more pull requests.

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG/vector/code-native assets, extending an established icon or logo system, or building the visual directly in HTML/CSS/canvas.

openai/babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep watching open PRs so fresh review feedback is surfaced promptly. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.

openai-docs

Use when the user asks how to build with OpenAI products or APIs, asks about Codex itself or choosing Codex surfaces, needs up-to-date official documentation with citations, help choosing the latest model for a use case, or model upgrade and prompt-upgrade guidance; use OpenAI docs MCP tools for non-Codex docs questions, use the Codex manual helper first for broad Codex self-knowledge, and restrict fallback browsing to official OpenAI domains.

openai/test-tui

Guide for testing Codex TUI interactively

plugin-creator

Create and scaffold plugin directories for Codex with a required `.codex-plugin/plugin.json`, optional plugin folders/files, valid manifest defaults, and personal-marketplace entries by default. Use when Codex needs to create a new personal plugin, add optional plugin structure, generate or update marketplace entries for plugin ordering and availability metadata, or update an existing local plugin during development with the CLI-driven cachebuster and reinstall flow.

pushing-ci-changes

Pushing GitHub Actions changes, resolving push rejection, requesting upload exceptions.

remote-tests

Testing against remote executors in integration tests.

skill-creator

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.

skill-installer

Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).

test-tui

Guide for testing Codex TUI interactively

update-v8-version

Update Codex's pinned `v8` / `rusty_v8` versions, validate the release-candidate path, and investigate failed V8 canary or artifact builds. Use when asked to bump V8, update `rusty_v8` artifacts, prepare or validate a V8 release candidate, check `v8-canary`, or diagnose why a V8 version update no longer builds.

Skills associés