Repository navigation
Development
The repository's rules are in AGENTS.md. In short:
-
fetchwright.pystays one standard-library file. - No request may carry Google Search.
- The key is never printed or written.
- Every change has a test on invented responses.
| path | what it is |
|---|---|
skills/fetchwright/ |
the reader skill: SKILL.md, references/route.md, scripts/fetchwright.py
|
skills/fetchwright-setup/ |
the key and tier advisor: SKILL.md, references/gemini-api.md
|
tests/test_fetchwright.py |
offline tests |
tests/smoke_live.py |
one live read, skipped without a key |
scripts/budget.py |
the size budget |
evals/ |
trigger, decoy and action cases for claude plugin eval
|
ai-docs/ |
handoff, decisions, solutions, the log |
Each skill also carries its evergreen files (RESEARCH, CHANGELOG, LEARNINGS, TESTS, MAINTENANCE, evergreen.json), which keep its research on models, prices and terms current.
python tests/test_fetchwright.py.....................................
----------------------------------------------------------------------
Ran 37 tests in <seconds>s
OK
The tests replace the network call with responses built in the shape the API returned on 2026-10-15, with invented text. They need no key and no network. The run time, shown as <seconds>, is under a second.
python tests/smoke_live.pyThis reads one public Wikipedia article for real, with your key. It skips when no key is set, which is how it runs in CI, and passed on 2026-10-15.
python scripts/budget.pylongest skill description, characters (always loaded; cut at 1,536) 873 green<=1000 yellow<=1300 green fetchwright-setup
both skill descriptions, characters 1734 green<=1800 yellow<=2400 green
largest SKILL.md, tokens (loaded on every use) 1590 green<=2500 yellow<=3500 green fetchwright
largest reference file, tokens (loaded on demand) 1292 green<=2000 yellow<=3000 green fetchwright-setup/gemini-api.md
fetchwright.py, lines 510 green<=600 yellow<=900 green
installed skills folder, KB 92 green<=150 yellow<=400 green
tracked repository, KB 523 green<=1024 yellow<=3072 green
budget: GREEN
That is 0.2.0. CI fails at red. The skill descriptions are loaded in every session of every user who installs the plugin, which is why they have the tightest limits.
.github/workflows/tests.yml runs on every push and pull request:
- the offline tests and the skipped smoke test, on Windows, macOS and Linux with Python 3.10 and 3.14;
-
check --no-callfrom a clean checkout; - the budget.
CI has no Gemini key, and none should be added: it would spend the owner's quota on every push.
A release bumps the version in .claude-plugin/plugin.json, plugin.json, VERSION in fetchwright.py, metadata.version in both SKILL.md files and version in both evergreen.json files. It adds a CHANGELOG section, tags vX.Y.Z and publishes a GitHub Release with that section as notes.
This wiki describes fetchwright 0.2.0 and was last updated on 2026-10-16. fetchwright is MIT licensed. Report problems in the issues. Releases: GitHub releases.
Using it
The releases
Contributing
Elsewhere