Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/snapsynapse/skill-provenance/validatenpx skills add snapsynapse/skill-provenance --skill validategit clone --depth 1 https://github.com/snapsynapse/skill-provenanceWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00054 | $0.00595 |
| Opus 5 | $0.00027 | $0.00298 |
| Sonnet 5 | $0.00011 | $0.00119 |
| Haiku 4.5 | $0.00005 | $0.00060 |
Grade A, and why
validate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Provenance: Validate
Run the hash and inventory check only. This is a narrow verification command, not the full open-session or close-session protocol.
When to use
Run /skill-provenance:validate when the user wants to know whether the
current bundle matches its MANIFEST.yaml, whether files are missing, or
whether a copy appears to be canonical or derived.
Protocol
- Locate the bundle root. Use the directory containing
MANIFEST.yaml. If no manifest exists, report that the bundle is unversioned and suggest/skill-provenance:bootstrap. - Run
validate.shwhen available. Prefer:
If the script is not present, compute SHA-256 hashes for files listed in./validate.shMANIFEST.yamland compare them manually. - Report validation results only. Include:
- File count checked
- Missing files
- Hash mismatches
- Explicit
hash: nullopt-outs - Structural, unsafe-path, duplicate-path, and symlink errors
- Matching, stale, or malformed
validated_againstrecords when present - Exit code or equivalent pass/fail result
- Identify copy type. Use
MANIFEST.yamland local contents to say whether the copy appears to be:- a canonical source bundle
- a strict-platform install copy
- a registry or
.skillpackage - incomplete or ambiguous A derived copy is valid if its own manifest describes exactly the files present. Do not treat missing development-only files as corruption unless the copy's manifest lists them.
- Do not mutate files. Do not update hashes, bump versions, edit the
changelog, create a handoff note, or run the close protocol. If the user
asks to fix mismatches, recommend
/skill-provenance:closeor an explicitvalidate.sh --updateworkflow.
Output
Keep the response concise:
Bundle: my-skill 1.2.0
Copy type: canonical source bundle
Files: 7 checked, 0 missing, 0 mismatched, 0 explicit opt-outs
Result: pass
If validation fails, name the specific files and explain that a mismatch means the file no longer matches the recorded manifest state. This is an integrity check, not a trust anchor.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 67 lines · 54 tokens per session scan A 2c07c035ac4f
validate is a skill published in the GitHub repository snapsynapse/skill-provenance (7 stars, last pushed 4d ago), licensed MIT. It adds 54 tokens to every session and 595 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
audit-pr
Audit a whole PR against the delivery contract and return MERGE-READY or evidenced blockers with the full URL. Consumes the current review-change REVIEW-PASS receipt instead of re-running review axes; posts a SHA-bound ready comment; never edits or merges. Triggers: "audit-pr", "is this PR ready", "merge gate".
product-audit
Audit the whole product across code, quality, process, docs, roadmap, and tooling. Persist one severity-ranked, F-numbered report with proposals; never fix or file work. Triggers: "product-audit", "audit the product", "full health check", "are we product-ready", "CTO review".
audit-docs
Audit cross-document coherence: docs ↔ roadmap ↔ code ↔ fix index ↔ issues. Finds drift — features in docs/ not in the roadmap (or vice versa), fix-index entries already merged/closed, broken documentation-map links, dependency cycles, artifacts in the wrong language, naming-convention violations — and reports them…
design-feature
Turn a raw idea or existing feature into a designed product SPEC by completing entity, integration, role, and expectation closure. Upserts never destroy recorded decisions. Triggers: "design-feature", "design this feature", "define product scope".
init-workspace
Adapt the workflow scaffold to a new repository or add only missing substrate blocks to an existing install. Every install, hook, and overwrite needs explicit consent. Triggers: "init-workspace", "set up agentic workflow", "upgrade workflow scaffold".
log-session
Append a structured entry to the project's session log (docs/LOGS.md): what was done this session, files touched, decisions taken, and the next step — so the next session (or another person) can pick up the thread without re-reading git history. Run it before /clear, before closing Claude Code, or at any natural…