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.

AxisWhat lands here
SecuritySecurity findings in scanned files: injection, exfiltration, persistence or a reverse-shell pattern.
Permission hygienePermission findings in scanned files: broad shell grants, credential access, path traversal or a hardcoded secret.
TransparencyDisclosure 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.

Sharing a report #

A scan you run is unlisted but readable by anyone who has its report URL. The share control creates a stable public link you can copy, and turns it off again. Treat either report URL as sensitive and do not send it to someone who should not read the result.

Sharing is also what a badge reads. A repository whose latest scan is not public has no badge to show.