path-types

Guidance for choosing Rust types that represent operating-system paths in the Codex codebase. It distinguishes paths used in network protocols from paths used only on the local computer.

In plain words
What is it for?
Use it when adding or migrating path-bearing Rust types, especially in app-server or exec-server protocols and shared dependencies.
Why use it?
It prevents path values from being represented inconsistently across servers and protocol boundaries. It also preserves compatibility for existing app-server clients during a URI migration.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/kbediako/codex-termux-pocket/path-types
Any agent
npx skills add Kbediako/codex-termux-pocket --skill path-types
Clone the repo
git clone --depth 1 https://github.com/Kbediako/codex-termux-pocket

Made for: Claude Code, Codex.

Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 507 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00029 $0.00507
Opus 5 $0.00015 $0.00253
Sonnet 5 $0.00006 $0.00101
Haiku 4.5 $0.00003 $0.00051

Measured yesterday against content hash 890145a2ee66, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

path-types scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to path-types — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.codex/skills/path-types/SKILL.md · 44 lines

How it starts

The opening of the file, as written. The whole thing — 44 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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.

Read the full file on GitHub · 44 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 44 lines · 29 tokens per session scan A 890145a2ee66

Subscribe to this mod's changes

path-types is a skill published in the GitHub repository Kbediako/codex-termux-pocket (12 stars, last pushed yesterday), licensed Apache-2.0. It adds 29 tokens to every session and 507 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to path-types, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

android-adb-control

Direct control of Android physical devices and Termux environments via Android Debug Bridge (ADB).

AbdullahMalik17/malikclaw · 22 tokens

manage-usage-sidebar

Install, check, repair, or uninstall the native Codex Usage Sidebar companion. Use when the user asks about the Codex usage header indicator, says it disappeared after a Codex update, requests repair, status, installation, or removal, or invokes @codex-usage-sidebar.

JaceHwang/codex-usage-sidebar · 62 tokens

android-phone-control

Control an Android phone from a local Termux/Linux host using a deterministic ADB toolkit: device checks, wake/unlock/session mode, screenshots, UI dumps, taps, text input, key events, app launch, and safe app smoke tests.

patrickdass93/android-phone-control-skill · 53 tokens

seiro-mcp-visionos-build-operator

Build and diagnose visionOS projects with Seiro MCP. Use inspectxcodeschemes (if needed) -> validatesandboxpolicy -> buildvisionosapp -> inspectbuilddiagnostics (on failure) -> fetchbuildoutput (on success), and avoid direct xcodebuild or swiftc unless the user explicitly asks for shell-level execution or MCP cannot…

karad/seiro-mcp · 86 tokens

apk-smb-sync

Build a simple post-update Android APK delivery flow that reads the app version and copies a dated findeck APK into the LAN SMB share. Use when the user mentions APK update sync, Android release handoff, SMB share upload, 局域网共享, or asks to archive the latest APK by version date.

fainaltn/findeck · 67 tokens

find-release

A skill to find the lowest Dart and Flutter release containing a given commit. Use this skill whenever users ask about when a commit landed in Flutter or Dart releases, inquire about release versions for specific SHAs, or want to know if a commit is included in stable, beta, or dev channels for Flutter/Dart projects.

flutter/flutter · 67 tokens