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 skills/okeefeco/pyeye-mcp/python-explorenpx skills add okeefeco/pyeye-mcp --skill python-exploregit clone --depth 1 https://github.com/okeefeco/pyeye-mcpWhat 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 | $0.00144 | $0.05708 |
| Opus 5 | $0.00072 | $0.02854 |
| Sonnet 5 | $0.00029 | $0.01142 |
| Haiku 4.5 | $0.00014 | $0.00571 |
Grade A, and why
python-explore 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.
How it starts
The opening of the file, as written. The whole thing — 440 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Explore
Build a structural model of Python code with pyeye before reading or changing it — orient cheap, drill on demand.
The Model: Progressive Disclosure
pyeye answers questions in three widening steps. Start at the cheapest that answers your question; only go wider when you need to.
- Orient (cheap):
resolvea name to a canonical handle, theninspectit for structure, oroutlinea module/class for its skeleton. - Drill (on demand):
expandone edge from a handle to see its immediate neighbours (members, callees, importers, subclasses…). - Trace (across hops):
tracefollows edges multiple hops to see structure across a call chain, import closure, or member tree.
Canonical handles are the currency. A handle is Python's own dotted notation —
a.b.c.Name — anchored at the definition site, stable across edits, and the same
no matter which import alias you arrived through. Everything downstream takes a handle.
pyeye returns pointers and structured facts, never source — when you need the actual
code, Read the file:line it points you at.
Skill Type: Mixed Rigid/Flexible
Rigid gates (non-negotiable):
- Your first move on unfamiliar Python is pyeye, not a blind
Read(). - Never re-explore what pyeye already surfaced in this conversation.
Flexible (use judgement):
- How deep to go (a single
inspect, or a multi-hoptrace). - Which primitives and edges to call.
- Whether to write out a mental-model summary — do it when it helps the user, not as ceremony (see Stating Your Mental Model).
Do NOT Trigger When
- User says "show me", "print", "display", "read this file" — respect explicit requests,
use
Read(). - User says "run", "execute" — that is not exploration.
- User asks "what's the syntax for" — a language question, not a codebase question.
- Single-line typo/string fix where the user gives the exact location.
- Adding a new test case only (not modifying the code under test).
- pyeye output for this symbol is already visible in conversation context — skip straight to using it.
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.
- yesterday First seen · 440 lines · 144 tokens per session scan A a48061027389
python-explore is a skill published in the GitHub repository okeefeco/pyeye-mcp (0 stars, last pushed 22d ago), licensed MIT. It adds 144 tokens to every session and 5,708 once invoked, about $0.0007 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-08-31.
Other skills, from other repositories
repomix
Pack and analyze codebases into AI-friendly single files using Repomix. Use when the user wants to explore repositories, analyze code structure, find patterns, check token counts, or prepare codebase context for AI analysis. Supports both local directories and remote GitHub repositories.
knowledge-base
Create and maintain a Markdown knowledge base that any AI agent can read, search, and update. Use when the user wants to start a knowledge base, add or update notes, organize docs/notes for an agent or LLM to consume, build an index of notes, or run a cleanup/maintenance pass on an existing MD knowledge base. Triggers…
obsidian-vault
Organize Obsidian vaults with MOCs, wikilinks, frontmatter/properties, dashboards, orphan-note checks, and cleanup workflows. Use ONLY when the user explicitly refers to Obsidian — by naming "Obsidian", an Obsidian "vault", or an Obsidian-specific feature such as wikilinks ("[[ ]]"), the Dataview or Bases plugins, or…
ix
This skill should be used when answering structural questions about a codebase: understanding what a symbol is, tracing flows, measuring change impact, finding callers/callees/imports, or detecting code smells. It drives the Ix CLI (ix map/explain/trace/impact/search/rank/smells) against a persistent code graph stored…
truecourse-hooks
Install, configure, or remove the TrueCourse pre-commit hook.
cymbal
Tree-sitter indexed code navigator. Use the cymbal CLI — not Read, Grep, Glob, or Bash — for finding where symbols are defined, tracing callers and callees, locating interface implementations, understanding the impact of a change, and mapping imports across an existing codebase. Returns precise, token-efficient…