Skip to content
cccskills
FreePublished on GitHub

path-types

Choose Rust types for operating system paths in Codex server protocols and internal code. Guides new definitions and explicitly requested migrations while preserving client compatibility and handling paths from different operating systems.

OriginalShow the original description

Choose Rust types for operating system paths across the Codex repository. Use when defining new path-bearing types or explicitly migrating existing ones.

See how to install

Good for

  • Choose a path type for a new Rust data structure
  • Migrate server path handling to URI representations
  • Review compatibility when handling paths from different operating systems

Files included (1)

  • SKILL.md2.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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 LegacyAppPathString 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.
  • Tool call arguments that the model is expected to generate should be deserialized as regular Strings with feature-specific path handling code.

Migration requirements

Keep these requirements in mind while migrating code to conform with the above guidelines:

  • existing app-server clients keep sending and receiving legacy native-path strings
  • app-server can retain and manipulate foreign-platform path URIs
  • exec-server APIs use file:// URIs
  • local-only operation must not change model-visible text
  • model tool arguments may contain raw relative or absolute paths for any OS
  • path reasoning must work before the related environment has come online
  • URIs cannot explicitly encode the executor’s path convention or operating system
  • users must not configure the environment’s OS/path convention explicitly
  • URIs should not yet be stored in rollouts, databases, or other persistent storage
  • path conversion errors: fail-closed for security-relevant paths, fail-open for UI/diagnostics
  • prefer small focused methods on PathUri or LegacyAppPathString over local helpers
  • represent PathUri values as URIs in diagnostics

It is OK if the conversion between paths and URIs is somewhat lossy as long as it will do the right thing for real users.

Migrating to URIs should not add significant new failure modes. We will need to surface errors in some places that were previously infallible but it should be kept to a minimum.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

babysit-pr

FreeSummary

Monitor a GitHub pull request for review feedback, automated check failures, and merge readiness. Diagnose failures, fix problems caused by the branch, and retry likely temporary failures while continuing to watch for updates.

  • Monitor automated checks after opening a pull request
  • Address actionable review feedback
  • Distinguish code failures from temporary service problems
openinterpreter/openinterpreter68.6KUpdated Oct 11, 2026

Review external integration points for breaking changes that could disrupt existing use. Examine app-server APIs, command-line parameters, configuration loading, and session resumption from saved records, continuing beyond the first issue to cover possible failure paths.

  • Check app-server API compatibility
  • Review changes to command-line parameters
  • Check compatibility of configuration loading
openinterpreter/openinterpreter68.6KUpdated Oct 11, 2026

code-review

FreeSummary

Run a final pull request review using separate agents for each available review skill. Collect all reported issues into a numbered Markdown list, with a specific file path and line number for every finding.

  • Run a final review of a pull request
  • Combine findings from multiple review skills
  • Locate issues by file path and line number
openinterpreter/openinterpreter68.6KUpdated Oct 11, 2026

Assess whether a code change is small enough to review using line-count guidance. For larger changes, examine the actual differences, dependencies, and calling code to suggest reviewable stages and the smallest coherent first step.

  • Check the size of a change before requesting review
  • Assess the scope of a complex logic change
  • Plan reviewable stages for a large change
openinterpreter/openinterpreter68.6KUpdated Oct 11, 2026

Review code that manages the conversation history and extra information sent to Codex models. Apply rules for incremental history, size limits, cache stability, manual review of large additions, and required implementation structures.

  • Review changes to conversation history handling
  • Check size limits on information sent to the model
  • Identify large additions requiring manual review
openinterpreter/openinterpreter68.6KUpdated Oct 11, 2026

Plan and write tests for changes to agent behavior, favoring integration tests that check components together. Identify key logic changes and user-visible behavior to cover, reuse existing helpers, and keep unit tests in dedicated files.

  • Identify test coverage for changes to agent logic
  • Add integration tests for user-visible behavior
  • Organize unit tests in dedicated files
openinterpreter/openinterpreter68.6KUpdated Oct 11, 2026

See all skills by openinterpreter

Report a problem with this skill