Install
$ agentstack add skill-luizporto-ai-vigia-vigia ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
vigia, website auditor (diagnose, never fix)
vigia runs a battery of probes against a URL or a local build directory and returns a prioritized report. Your job as the agent: run it, read the JSON, and act on the findings, vigia itself only diagnoses.
Run it
# Live URL
npx @luizporto/vigia https://example.com --json /tmp/vigia.json
# Local build (serves the dir in a headless browser)
npx @luizporto/vigia ./dist --json /tmp/vigia.json
# CI gate (exit 1 if any critical/high verdict fails)
npx @luizporto/vigia https://example.com --ci
# Scope to cheap probes (no browser needed)
npx @luizporto/vigia https://example.com --only headers,static,dns
Full browser/perf coverage needs Playwright + Lighthouse once: npm i -D playwright lighthouse @axe-core/playwright && npx playwright install. Without them, the render/perf probes skip gracefully (headers/static/dns still run).
Read the JSON
report.findings[], each finding:
| field | meaning | |---|---| | type | verdict = proven fact · hypothesis = can't be proven headless | | confidence | proven · heuristic · needs-device | | status | fail · warn · pass · info | | severity | critical · high · medium · low · info | | evidence | what vigia observed | | remediation | how to fix it | | source | authoritative reference URL |
report.summary, counts + worstSeverity + ciPass (false if any critical/high failed).
How to act on findings (the intelligence)
- Trust verdicts, weigh hypotheses. A
verdict(missing header, horizontal
overflow, asset 404) is a fact, fix it. A hypothesis (static/gpu-blur-risk, dns/private-relay-runbook) is a strong signal that a headless scan cannot prove, present it to the user as "worth checking on a real device," never as a confirmed bug. Do not overstate.
- Order by severity, then by cheapness of fix. Critical/high first. Many
header findings are one line of nginx/CDN config, batch them.
- Translate, don't parrot. Turn
remediationinto a concrete edit for this
codebase (find the CSS rule, the nginx conf, the `` missing dimensions).
- The incident pattern. If the user reports "loads in Chrome, blank in Safari
on iPhone": the render probe + dns/private-relay-runbook finding tell you to read the server access log FIRST (did the request even arrive?) before touching CSS. Zero Safari hits ⇒ the problem is DNS/Private-Relay, not your code.
- Blur/GPU risk.
static/gpu-blur-riskmeans heavyfilter: blur()glows.
Recommend replacing with radial-gradient(closest-side, rgba(...), transparent) , near-identical pixels, a fraction of the GPU cost. It's the #1 cause of "works on desktop, janky/blank on iPhone."
- After fixing, re-run vigia to confirm the verdict flipped to
pass.
Honesty contract
vigia's value is that it won't lie. Headless Linux WebKit ≠ real Safari (no Metal GPU, no CoreText fonts, no Private Relay). Anything vigia can't reproduce it labels needs-device and hands you a runbook instead of a fake pass. Preserve that honesty when you relay results to the user.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: luizporto-ai
- Source: luizporto-ai/vigia
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.