# Vetting report: [skill name]

## Provenance

- Source URL:
- Commit or version reviewed:
- Publisher, and how their identity was checked:
- Licence (and whether a team fork is allowed):
- Requested by, and for which job:
- Review date:
- Downloaded to (outside every skills folder):

## File inventory

Paste the scanner's file list. Mark any file the scanner could not read.

- [path], [size], [text or binary], [executable], [symlink target]

## Hosts named in the files

- [host]: expected / not expected, and why it appears

## Scanner findings

Scanner: `node scripts/vet-skill.mjs [folder]`. Totals: [x] critical, [x] high, [x] medium, [x] low.

For each finding:

- [severity] [rule] [file:line]: [what it is]. Judgement: confirmed / false positive, because [reason].

## Judgement checks

- Contract (description against what the files make the agent do):
- Scope (data it reads that the job does not need):
- Data flows (where data can leave the machine):
- MCP connections (each `agents/openai.yaml` dependency of type `mcp`, V23, and the review it needs before adoption):
- Tool grants (`allowed-tools`, hooks, injected commands):
- Persistence (instruction files, memory, settings, schedules, other skills):
- Commercial bias (swap test result):
- Stale vendor facts:
- Licence terms for adapting:

## Verdict

- Verdict: reject / fork-and-fix, then re-scan / adopt with enforcement after a sandbox run / adopt after a human read
- Reason, from the confirmed findings and the thresholds:
- Required changes for a fork (one per confirmed critical or high finding):
- Enforcement required (read-only identity, deny rules):
- Sandbox run result, if medium:

## Pinning

- Pinned commit:
- Package sha256 (from the scanner):
- Install only from the pinned commit; re-vet when: the source moves past the pinned commit, the licence changes, or the team's use changes.

## Reviewer

- Reviewer (name and role):
- Second reviewer for any reject or fork decision:
- Date:
