Monty is a minimal Python interpreter written in Rust that runs AI-generated code in a restricted environment without direct filesystem, environment-variable, or network access. It is for AI agents that need to execute Python and type-checking tasks while allowing developers to control which host functions and objects the code can use, and the catalogue entries integrate it into agent workflows.
Borrowing it
Nothing to install: this file belongs to pydantic/monty. 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/pydantic/monty/main/.agents/skills/writing-style/SKILL.mdgit clone --depth 1 https://github.com/pydantic/montyWrote 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/pydantic/monty/writing-style)<a href="https://agentmods.dev/skills/pydantic/monty/writing-style"><img src="https://agentmods.dev/badge/skills/pydantic/monty/writing-style/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/pydantic/monty/writing-style"><img src="https://agentmods.dev/badge/skills/pydantic/monty/writing-style.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00055 | $0.02914 |
| Opus 5.5 | $0.00022 | $0.01166 |
| Sonnet 5.5 | $0.00011 | $0.00583 |
| Haiku 4.5 | $0.00006 | $0.00291 |
Grade A, and why
writing-style 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 14d 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.
How it starts
The opening of the file, as written. The whole thing — 294 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing style
Applies to prose written in this repo: docstrings, comments, limitations/,
READMEs, commit messages, PR descriptions, and warnings like the one on
MountDir.
The reader is an engineer looking for a fact. Give them the fact. You are not persuading or building to a conclusion: say what happens, when, and what it costs.
Tells to avoid
Significance instead of mechanism
The most common LLM tell. If a sentence would fit unchanged in any other project's docs, it carries no information.
-
✗ "This ensures the sandbox remains secure."
-
✓ "Every operation runs relative to a
Diropened at mount time, so..and symlinks cannot reach outside it." -
✗ "Resource limits provide robust protection against runaway code."
-
✓ "The VM polls allocator usage every 255 instructions; crossing the allocator's hard limit exits the worker with
OOM_EXIT_CODE."
Throat-clearing
Openers that delay the sentence: "It's worth noting that", "It's important to understand", "In essence", "Simply put", "At its core", "Let's take a look at". Delete them; the sentence underneath is the content.
- ✗ "It's worth noting that overlay writes are discarded when the feed ends."
- ✓ "Overlay writes are discarded when the feed ends."
The "not just X, but Y" reveal
Building to a payoff is an essay move. Docs do not need one.
- ✗ "
heap.rsisn't just another module — it's the foundation of the entire safety model." - ✓ "
heap.rscontains theunsafecode thatHeapReadersoundness depends on. Changes need explicit review."
Adjectives doing the work of facts
"Powerful", "seamless", "robust", "elegant", "blazing fast", "significantly", "dramatically". Replace with a number, a mechanism, or nothing.
- ✗ "Overlays are capped at a reasonable size."
- ✓ "
memory_usage_limitcaps retained overlay data atDEFAULT_MEMORY_USAGE_LIMITbytes by default; exceeding it raisesMemoryErrorin the sandbox."
Restating what the reader can see
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 14d ago Changed 1c08a9324fa6
- 1mo ago Changed · +5 lines fe896ec8da2d
- 2mo ago First seen · 289 lines · 55 tokens per session scan A 1c8de597823e
writing-style is a skill published in the GitHub repository pydantic/monty (8,801 stars, last pushed today), licensed MIT. It adds 55 tokens to every session and 2,914 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
polars
High-performance DataFrame library for Python ETL, analytics, and pandas migration. It supports expression-based data manipulation with lazy query optimization, parallel execution, streaming out-of-core processing, Arrow interoperability, and optional GPU execution.
feature-flag-conventions
Cargo features: shared otel/mcp/allocator contract, then Xberg's ORT-free targets, aggregates, PDF backend, parity guard. Use when editing [features].
github-repo-management
Clone, create, fork, configure, and manage GitHub repositories. Manage remotes, secrets, releases, and workflows. Works with gh CLI or falls back to git + GitHub REST API via curl.
llama-cpp
Run LLM inference with llama.cpp on CPU, Apple Silicon, AMD/Intel GPUs, or NVIDIA — plus GGUF model conversion and quantization (2–8 bit with K-quants and imatrix). Covers CLI, Python bindings, OpenAI-compatible server, and Ollama/LM Studio integration. Use for edge deployment, M1/M2/M3/M4 Macs, CUDA-less…
webhook-subscriptions
Create and manage webhook subscriptions for event-driven agent activation. Use when the user wants external services (GitHub, GitLab, Stripe, Linear, PagerDuty, Sentry, or any generic source) to trigger agent runs by POSTing events to a URL.
linear
Manage Linear issues, projects, and teams via the GraphQL API. Create, update, search, and organize issues. Uses API key auth (no OAuth needed). All operations via curl — no dependencies.