Agent skill

Rust Path Types

by openinterpreter in openinterpreter/openinterpreter

Rules for choosing Rust types for filesystem paths in new Codex code, covering protocol types, internal use and model tool arguments.

Apache-2.0Auto-check passedDevelopment

Install Rust Path Types

skills CLI
$ npx skills add openinterpreter/openinterpreter --skill path-types -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openinterpreter/openinterpreter path-types --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openinterpreter/openinterpreter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/path-types .claude/skills/path-types && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
path-types
GitHub stars
69k
Used in
2 other repos
Token cost
~605 tokens
SKILL.md length
318 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Rules for choosing Rust types for filesystem paths in new Codex code, covering protocol types, internal use and model tool arguments.

  • Defining a new Rust struct that carries a filesystem path in the Codex codebase
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Deciding between PathUri, AbsolutePathBuf and PathBuf for a field
  • Reviewing a change that adds path types to a protocol definition

What it does

The guidance applies when you define new path-carrying types and treats the rules as the target of an ongoing migration to URIs. Changes to existing code should be made only on request and kept small; if compliance is hard, the agent should ask how to proceed. App-server protocol types use LegacyAppPathString for backward compatibility, convert to PathUri at the boundary and use PathUri inside; host-local logic such as some config values uses AbsolutePathBuf or PathBuf.

Exec-server protocol types use PathUri, with PathUri or AbsolutePathBuf internally, and dependencies shared by both servers use PathUri or separate APIs. Paths a model generates in tool-call arguments stay plain strings handled by feature-specific code. The migration requirements include keeping legacy clients working, not changing model-visible text for local-only operation, failing closed on security-relevant conversion errors, and not yet storing URIs in persistent storage.

When your agent uses it

  • Defining a new Rust struct that carries a filesystem path in the Codex codebase
  • Deciding between PathUri, AbsolutePathBuf and PathBuf for a field
  • Reviewing a change that adds path types to a protocol definition
  • Handling path arguments generated by a model in a tool call

Example prompts

  • “I'm adding a cwd field to an exec-server request type; which path type should it use?”
  • “Review this protocol struct and tell me whether its path fields follow the migration rules.”
  • “What type should a config value for a local log directory use?”

What it can do on your machine

Read from SKILL.md and the folder at commit cc054cf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rust Path Types loads about 605 tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 318 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~605

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from openinterpreter/openinterpreter at commit cc054cf, republished under its Apache-2.0 licence (© openinterpreter). 318 words, ~605 tokens.

Download SKILL.mdSave it as .claude/skills/path-types/SKILL.md (or your agent's skills folder).
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 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.

© openinterpreter, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .codex/skills/path-types of openinterpreter/openinterpreter.

Open the folder on GitHubat commit cc054cf

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in openinterpreter/openinterpreter, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Rust Path Types next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rust Path Types compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rust Path Types this skillopeninterpreter/openinterpreter69k2 repos~605Automated safety check: PassApache-2.0
Migrate Core Code to Submodulestinyhumansai/openhuman41k—~2.6kAutomated safety check: PassGPL-3.0
RTK Rust Design Patternsrtk-ai/rtk83k—~1.9kAutomated safety check: PassApache-2.0
Convert Internal Package to TypeScriptTryGhost/Ghost55k—~1.2kAutomated safety check: PassMIT
jscpd Code Migration Trackerkucherenko/jscpd6.3k—~5kAutomated safety check: PassMIT
RustPython Stdlib UpgradeRustPython/RustPython22k—~876Automated safety check: PassMIT

Similar skills

  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    41k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Describes seven Rust design patterns for the RTK CLI filter modules, with when to use each, RTK examples, and notes on when a pattern is overkill.

    83k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.

    55k GitHub stars~1.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.

    6.3k GitHub stars~5k tokensUpdated today
    DevelopmentAuto-check passed
  • RustPython Stdlib Upgrade

    RustPython/RustPython

    Upgrades a Python standard library module from CPython into RustPython with update_lib, then triages and marks the tests that still fail.

    22k GitHub stars~876 tokensUpdated today
    DevelopmentAuto-check passed
  • Rust Ffi

    ariebovenberg/whenever

    Instructions for using whenever's internal Rust FFI abstractions

    2.4k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from openinterpreter/openinterpreter

All 10 skills in this repo
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    Auto-check passed
  • Update V8 Version

    openinterpreter/openinterpreter

    Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.

    69k GitHub starsUsed in 2 repos~845 tokens
    Auto-check passed
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    Auto-check passed
  • Remote Executor Integration Tests

    openinterpreter/openinterpreter

    Explains how to run agent integration tests against remote executors, using Docker for Linux or Wine for Windows, and how to opt tests in or skip them.

    69k GitHub starsUsed in 2 repos~842 tokens
    Auto-check passed
  • Codex TUI Testing

    openinterpreter/openinterpreter

    Guide for testing Codex TUI interactively

    69k GitHub starsUsed in 2 repos~133 tokens
    Auto-check passed

Works with

Categories

Questions about Rust Path Types

What does Rust Path Types do?

Rules for choosing Rust types for filesystem paths in new Codex code, covering protocol types, internal use and model tool arguments. The guidance applies when you define new path-carrying types and treats the rules as the target of an ongoing migration to URIs. Changes to existing code should be made only on request and kept small; if compliance is hard, the agent should ask how to proceed.

When should I use Rust Path Types?

Rust Path Types fits situations like: defining a new Rust struct that carries a filesystem path in the Codex codebase; deciding between PathUri, AbsolutePathBuf and PathBuf for a field; reviewing a change that adds path types to a protocol definition; handling path arguments generated by a model in a tool call.

How do I install Rust Path Types in Claude Code?

Run `npx skills add openinterpreter/openinterpreter --skill path-types -a claude-code`. Or copy the skill folder (.codex/skills/path-types in openinterpreter/openinterpreter) into .claude/skills/path-types in your project. Claude Code loads it when a task matches its description.

How do I install Rust Path Types in Codex?

Run `npx skills add openinterpreter/openinterpreter --skill path-types -a codex`. Or copy the skill folder (.codex/skills/path-types in openinterpreter/openinterpreter) into .agents/skills/path-types in your project. Codex loads it when a task matches its description.

Can I use Rust Path Types in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openinterpreter/openinterpreter --skill path-types -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/path-types, .gemini/skills/path-types, .github/skills/path-types and .opencode/skills/path-types in your project.

What does Rust Path Types need to run?

SKILL.md names no scripts, command-line tools or credentials: Rust Path Types is instructions for the agent only.

Does Rust Path Types access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Rust Path Types safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rust Path Types use?

Rust Path Types is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rust Path Types use?

About 605 tokens (SKILL.md is roughly 2.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rust Path Types?

Skills that share tags, products or a category with Rust Path Types: Migrate Core Code to Submodules (tinyhumansai/openhuman, 41k stars), RTK Rust Design Patterns (rtk-ai/rtk, 83k stars), Convert Internal Package to TypeScript (TryGhost/Ghost, 55k stars) and jscpd Code Migration Tracker (kucherenko/jscpd, 6.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rust Path Types?

openinterpreter (a GitHub organization) maintains it in openinterpreter/openinterpreter, which has 68,517 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

Source: openinterpreter/openinterpreter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.