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.
npx skills add fmind/dotfiles --skill python-scriptgit clone --depth 1 https://github.com/fmind/dotfilesWrote 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/fmind/dotfiles/python-script)<a href="https://agentmods.dev/skills/fmind/dotfiles/python-script"><img src="https://agentmods.dev/badge/skills/fmind/dotfiles/python-script/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/fmind/dotfiles/python-script"><img src="https://agentmods.dev/badge/skills/fmind/dotfiles/python-script.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.00034 | $0.00656 |
| Opus 5.5 | $0.00014 | $0.00262 |
| Sonnet 5.5 | $0.00007 | $0.00131 |
| Haiku 4.5 | $0.00003 | $0.00066 |
Grade A, and why
python-script 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.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PEP 723 Standalone Python Scripts
Write single-file Python CLI scripts with inline dependency metadata (PEP 723) executed via uv run — no virtualenv, no pyproject.toml, no project scaffolding required.
When to Use
- Agent scratch scripts (store in
.agents/tmp/). - Any situation where a full Python project is overkill.
- Quick automation, data processing, or one-off CLI tools.
Template
Base every script on script.py. Key elements:
- Shebang + PEP 723 block (must be at the top of the file):
#!/usr/bin/env -S uv run --quiet --script # /// script # requires-python = ">=3.14" # dependencies = [ # "rich>=15.0.0", # "typer>=0.27.0", # ] # /// - CLI framework: Use
TyperwithRichfor argument parsing and formatted output. - Dual consoles:
Console()for stdout results,Console(stderr=True)for logs/errors. - Typed arguments: Use
Annotated[..., typer.Argument/Option(...)]with help text. - Error handling: Catch exceptions at the CLI boundary with
err.print_exception(show_locals=False)and exit viaraise typer.Exit(code=1) from None; never render locals because they can contain secrets.
Execution
# Direct execution (after chmod +x)
./script.py input.txt
# Or via uv explicitly
uv run script.py input.txt --verbose
uv resolves and caches the declared dependencies automatically — no manual install step.
For a durable script, commit its adjacent lockfile so future runs reuse the same resolution:
uv lock --script script.py
uv run --locked --script script.py input.txt
Guidelines
- Pin
requires-pythonto the minimum version you need (e.g.,>=3.14). - Declare dependency lower bounds (e.g.,
rich>=15.0.0) for compatibility. Lower bounds alone are not reproducible; useuv lock --scriptfor a durable script. - Keep it single-file — if the script grows beyond ~200 lines or needs multiple modules, switch to a full project via the python-stack skill.
- No bare
except— outside the CLI boundary handler above (which prints the full traceback before exiting non-zero), let unexpected errors propagate.
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.
- 1mo ago First seen · 67 lines · 34 tokens per session scan A 1d7f16216072
python-script is a skill published in the GitHub repository fmind/dotfiles (4 stars, last pushed 1mo ago), licensed MIT. It adds 34 tokens to every session and 656 once invoked, about $0.0001 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-31.
Other skills, from other repositories
api-client
Build typed Python HTTPX API clients with bounded pagination and retries.
python-testing
Write Python tests with pytest, fixtures, property tests, and TDD.
python-mlops
Build Python ML pipelines: Polars, Pandera, scikit-learn, MLflow, monitoring, marimo notebooks.
python-stack
Develop Python projects and PEP 723 scripts: uv, Ruff, ty, Pydantic, async, LangExtract; fix lint/types.
python-web
Build Python web apps and APIs with Django, Litestar, FastAPI, Gradio, or NiceGUI.
cli-development
Design and build Python CLIs with Typer: commands, output contracts, and tests.