gemini-vision-extract — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited gemini-vision-extract (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when you have an image and need structured fields out of it - line items off a receipt, totals off an invoice, values off a chart - rather than a paragraph of description. The Gemini call is constrained with response_mime_type=application/json plus a Pydantic response_schema, so the output parses into a typed object every time.
User input:
Pull merchant, date, and total out of these receipt photos into JSON.Output:
from vision_extract import Receipt, extract # GEMINI_API_KEY in the environment
data = extract("receipt.png", schema=Receipt)
print(data.model_dump_json(indent=2))
# {"merchant": "Corner Cafe", "date": "2026-06-06", "total": 4.5, "currency": "USD", "items": [...]}response_schema; make absent fields nullable.response_mime_type=application/json so the model returns parseable JSON, not commentary.GEMINI_API_KEY from the environment; never inline it.resp.parsed (already a validated instance); fall back to validating resp.text if the SDK returns none.Reference: assets/vision_extract.py.
Distilled from production use across the author's automation projects. v1.0.0. See also: [[gemini-structured-output]], [[gemini-flash-budget]], [[gemini-cost-tracker]].
→ Build the full runnable bot with Trawlkit.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.