Borrowing it
Nothing to install: this file belongs to deonmenezes/mantishack. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/deonmenezes/mantishack/main/.codex/skills/path-types/SKILL.mdgit clone --depth 1 https://github.com/deonmenezes/mantishackWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/deonmenezes/mantishack/path-types)<a href="https://agentmods.dev/skills/deonmenezes/mantishack/path-types"><img src="https://agentmods.dev/badge/skills/deonmenezes/mantishack/path-types/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/deonmenezes/mantishack/path-types"><img src="https://agentmods.dev/badge/skills/deonmenezes/mantishack/path-types.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00029 | $0.00507 |
| Opus 5.5 | $0.00012 | $0.00203 |
| Sonnet 5.5 | $0.00006 | $0.00101 |
| Haiku 4.5 | $0.00003 | $0.00051 |
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 1mo ago.
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.
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.
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
LegacyAppPathStringfor backwards compatibility during the URI migration. At the protocol boundary, convert it toPathUriand usePathUriinternally. For host-local logic, such as some config values, useAbsolutePathBuforPathBufinstead. - In exec-server protocol types, use
PathUri. Internally, usePathUriorAbsolutePathBufas appropriate. - In dependencies shared by both servers, use
PathUrior 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
PathUriorLegacyAppPathStringover local helpers - represent
PathUrivalues 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.
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.
- 1mo ago First seen · 44 lines · 29 tokens per session scan A 890145a2ee66
path-types is a skill published in the GitHub repository deonmenezes/mantishack (504 stars, last pushed 18d ago), licensed Apache-2.0. It adds 29 tokens to every session and 507 once invoked, about $0.0001 per session on Opus 5.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.
Other skills, from other repositories
bevy-ecs-patterns
Use when writing Bevy (Rust ECS) game code - pin and respect the repo's minor version, plugins/systems/queries/resources, schedules with FixedUpdate and Time, states and run conditions, messages vs observers across versions, required components, testing systems with App::update and a manual time strategy, compile-time…
rust-axum-service
Use when building or extending a Rust service - axum on tokio (or the repository's actix-web / rocket), typed errors with IntoResponse, serde at the boundary, sqlx queries and migrations, never blocking the runtime, tracing, clippy.
rust-development
CIEL's framework for idiomatic Rust, zero-cost abstractions, and robust error handling.
rust-conventions
Use when a ticket adds or changes Rust code and it must follow the repo's Rust conventions — ownership and borrowing done right, explicit error handling with Result and typed errors, no needless unsafe or clones, idiomatic traits and iterators per the Rust API Guidelines, async/tokio used without blocking or…
Rust Standards
Complete Rust coding, linting, testing, architecture, and layer boundary standards for systemprompt.io development.
rust
Enforces default Rust coding standards for agents writing or refactoring Rust: ownership, error handling, types, testing, async, and API design. Use before editing Rust unless the repo provides stricter local rules.