Borrowing it
Nothing to install: this file belongs to okeefeco/pyeye-mcp. 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/okeefeco/pyeye-mcp/main/.claude/skills/pyeye-scenarios/SKILL.mdgit clone --depth 1 https://github.com/okeefeco/pyeye-mcpWrote 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/okeefeco/pyeye-mcp/pyeye-scenarios)<a href="https://agentmods.dev/skills/okeefeco/pyeye-mcp/pyeye-scenarios"><img src="https://agentmods.dev/badge/skills/okeefeco/pyeye-mcp/pyeye-scenarios/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/okeefeco/pyeye-mcp/pyeye-scenarios"><img src="https://agentmods.dev/badge/skills/okeefeco/pyeye-mcp/pyeye-scenarios.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.00130 | $0.02864 |
| Opus 5 | $0.00065 | $0.01432 |
| Sonnet 5 | $0.00026 | $0.00573 |
| Haiku 4.5 | $0.00013 | $0.00286 |
Grade A, and why
pyeye-scenarios 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 11d 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 — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pyeye Scenarios
The catalog of real-world codebases we provision to dogfood and verify pyeye, each
pinned to a commit so its recorded baseline stays meaningful. This skill is the data:
which repos, at which commits, how they're laid out, the .pyeye.json that wires them,
the probe suite, and the expected baseline. The procedure that runs the probes and
judges the results lives in [[pyeye-verify]].
Announce at start: "Using the pyeye-scenarios skill to provision <scenario>."
Why scenarios exist
Different codebase shapes stress different pyeye capabilities. One target (a single tree) can't exercise cross-repo resolution, namespace stitching, or the namespace cold-start path. The catalog is the axis of variation:
| Scenario | Shape | Stresses | Provision |
|---|---|---|---|
django |
single tree | depth, scale, canonical-handle collapse, imported_by/superclasses, static-surface ceiling, honest-limit refusal |
clone (heavy — use --reference) |
namespace-jaraco |
3 repos, PEP 420 namespace | namespace stitching via .pyeye.json, cross-repo resolve/trace, #444 cold-start |
clone 3 small repos |
zope (planned) |
2 repos, PEP 420 namespace | deep inheritance + dense cross-import graphs | — |
google-cloud (planned) |
monorepo, many dists | scale + 3-segment namespaces | — |
Conventions (apply to every scenario)
- Target dir is an in-repo, gitignored dir — never a machine-global path. The default
is
<current-worktree-root>/.scenario-repos/, resolved withgit rev-parse --show-toplevelso it follows you into a worktree automatically (each worktree gets its own isolated clones, removed when the worktree is). Overridable withPYEYE_SCENARIO_DIR. The.pyeye.jsonpaths are relative, so the scenario's siblings just need this common parent. (.scenario-repos/is in the repo's.gitignore; do NOT hardcode a personal path like~/GitHub/test— it isn't portable and shared external clones collide across worktrees.) - Pin commits. A recorded baseline is only meaningful against fixed source. Each scenario lists exact SHAs.
- Full clone, not
--depth 1. A shallow clone cannot check out an arbitrary pinned SHA. The jaraco repos are ~350 KB each (free), so a per-worktree clone is trivial. django is ~366 MB — to avoid re-downloading it per worktree, clone with--reference <shared-django>(borrows objects from an existing local clone; the per-worktree copy is tiny on disk yet can still check out the pinned SHA), or pointPYEYE_SCENARIO_DIRat a shared cache for that scenario. - Idempotent. Skip a repo that already exists; never re-clone over local work.
- Never vendor. Third-party code is cloned on demand and never committed — a gitignored in-repo dir is never in git history, so "in the worktree" ≠ "vendored." The convention is about git history, not disk presence.
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.
- 11d ago First seen · 170 lines · 130 tokens per session scan A f29ee1af1d1d
pyeye-scenarios is a skill published in the GitHub repository okeefeco/pyeye-mcp (0 stars, last pushed 10d ago), licensed MIT. It adds 130 tokens to every session and 2,864 once invoked, about $0.0006 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
flutter-mcp-toolkit-control
Drive a running Flutter app — tap, scroll, type, fill forms, hot-reload, navigate. Use when you need to interact with the UI.
harness-engineering-lifecycle
Design, implement, and integrate generalized validation harnesses across a producer-consumer boundary after a local harness contract exists. Use when refactoring custom validation CLIs/MCPs for large polyrepos, extending Steward across sibling repos, or deploying a local tool to a consumer project for dogfooding and…
flutter-mcp-toolkit-dogfood-iterations
Runs and records fluttertestapp dogfood iterations (toolqualityrubric, rundogfoodeval.sh, dogfoodwebeval.yaml). Use when scoring MCP/intentcall quality, appending iteration N, comparing regressions, or CI static/weekly eval gates.
coding-agents-hooks-authoring
To author, register, and test Rosetta hooks, add a SemanticKind, or debug a hook that won't fire.
qa-knowledge
To run QA engineering — requirements/gap analysis, scenario & spec design, test implementation, failure triage — over the QA knowledge base.
frontmcp-testing
Use for anything about testing FrontMCP servers: writing or running unit, integration, and E2E tests and reaching the 95%+ coverage bar. Covers Jest setup and coverage gating; unit-testing a ToolContext execute() with mock context, inputs, and Zod schema validation; testing resources and prompts; in-memory testing via…