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 agentmods add instructions/andr-ca/agentharness/pythongit clone --depth 1 https://github.com/andr-ca/agentharnessWrote 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/instructions/andr-ca/agentharness/python)<a href="https://agentmods.dev/instructions/andr-ca/agentharness/python"><img src="https://agentmods.dev/badge/instructions/andr-ca/agentharness/python.svg" alt="Measured on agentmods" 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.00843 | $0.00843 |
| Opus 5 | $0.00421 | $0.00421 |
| Sonnet 5 | $0.00169 | $0.00169 |
| Haiku 4.5 | $0.00084 | $0.00084 |
Grade A, and why
agentharness python.instructions.md 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 2d 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 — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generated from languages/python/CONVENTIONS.md by
tools/generate-copilot-instructions.sh
(https://github.com/andr-ca/agentharness) — do not hand-edit; regenerate
instead. Only applied by Copilot when editing a file matching
*.py.
Python Conventions & Best Practices
.claude/skills/python-conventions/SKILL.md has the terse, actionable
version of this doc (naming, imports, type hints, three pitfalls,
testing structure) — load that for day-to-day work. This doc adds: the
handful of choices this repo actually makes among multiple valid
options (most Python style below is just PEP 8/typing convention, not a
decision — see PEP 8 and the
Google Python Style Guide
for everything not listed here), plus two pitfalls the skill doesn't
cover.
Choices this repo makes (not just "the PEP 8 default")
- Line length: 88 characters (Black's default), not PEP 8's
original 79 — check the project's own
pyproject.tomlfirst, since an existing project may have picked something else. - String quotes: double by default (
"like this"); single only to avoid escaping ('It\'s here'reads better than"It's here"when it would otherwise need a backslash). A formatter normalizes this — don't hand-police it in review. - Docstrings: Google style (reference), unless the project's existing code already uses a different one consistently.
Two pitfalls the skill doesn't cover
Global mutable state — module-level dicts/lists accumulating shared state are hard to test and reason about; encapsulate in a class instead:
# Avoid: module-level cache any caller can mutate
_cache = {}
def get_cached(key):
if key not in _cache:
_cache[key] = expensive_operation(key)
return _cache[key]
# Prefer: instance-scoped, explicit lifetime
class Cache:
def __init__(self):
self._cache = {}
def get(self, key):
return self._cache.setdefault(key, expensive_operation(key))
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.
- 2d ago First seen · 91 lines · 843 tokens per session scan A ac766db7f393
agentharness python.instructions.md is an instructions file published in the GitHub repository andr-ca/agentharness (1 stars, last pushed 2d ago), licensed MIT. It adds 843 tokens to every session, about $0.0042 per session on Opus 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-09-03.
Other instructions, from other repositories
vibe-debug CLAUDE.md
Instructions for illscience/vibe-debug: When a Python bug has a reproducible script, test, command, or request, prefer observing live runtime state before proposing a fix.
apm python.instructions.md
Python development guidelines.
technocore-chat AGENTS.md
AGENTS.md instructions for flop-labs/technocore-chat: CI runs exactly these — run them before pushing.
foundry-local python-cffi-pointer-types.instructions.md
Use when working on the Python SDK's native bindings (cffi), especially when defining new Item subclasses, working with flItemQueue, or extending Request/Session methods that pass native handles.
coral CLAUDE.md
Instructions for cdknorow/coral, covering claude.md - coral go, mission, testing, go unit tests and legacy parity tools (historical reference).
pydantic-ai-gepa AGENTS.md
AGENTS.md instructions for indexedlabs/pydantic-ai-gepa, covering repository guidelines, mighty workflow, project structure & module organization, build, test, and development commands and coding style & naming conventions.