Read a report
What a scan asserts, what each grade is derived from, and the one result that looks like a pass and is not.
Two checks, one report #
There are two things you can check, and they produce the same report. Checking a repository reads supported skill files, project instructions, settings and permissions, hooks, and MCP configuration. Checking one skill reads only a pasted SKILL.md or supported files in one skill ZIP.
Same axes, same rules, same grades. What differs is how much was read, which is worth knowing before you read a grade: a skill check cannot report on supported repository settings outside that skill, while a repository check can.
If a repository is just one skill, either check works. Pasted text is checked and then deleted, and the report names that scan "Pasted SKILL.md" — there is no URL to name it by.
The axes #
Every finding is tagged with exactly one axis, and every axis carries its own grade. There is no single overall score being hidden from you: scanned files can have no findings on two axes and an F on the third, and that is the honest shape of the result.
| Axis | What lands here |
|---|---|
| Security | Security findings in scanned files: injection, exfiltration, persistence or a reverse-shell pattern. |
| Permission hygiene | Permission findings in scanned files: broad shell grants, credential access, path traversal or a hardcoded secret. |
| Transparency | Disclosure findings in scanned files, such as a documented endpoint or configured package fetch-and-execute. |
How a grade is reached #
Worst-finding-wins. An axis grade is set by the most severe finding on that axis, not by an average and not by a count — ten low findings do not add up to one high one.
An axis with no findings grades A. Every grade carries a one-line rationale and the rule identifiers behind it, so a grade you disagree with is a conversation about a specific rule.
A rule identifier always names the same check. Its explanation can vary with the context found in that scan — for example, whether another finding corroborates a possible threat — so compare the rule and evidence together.
The full rule list, with the false positive each rule knowingly accepts, is on the methodology page.
The raw scan JSON carries a fourth axis, quality, that this page and the report itself do not show: no rule assigns it, so a grade there would describe nothing.
No supported files means nothing was checked #
When a scan finds no supported skill or coding-agent configuration files, the report shows no grade. Nothing was checked, so this is not a pass, clean result or safety claim.
This is worth a branch in your own automation: a repository that has not yet adopted any agent configuration and a repository whose configuration moved somewhere we do not read look identical from the outside, and neither has been checked.