Guide · Agent skill
How to use the agent-supply-chain skill for plugin integrity
Updated · written with AI from the project's own documentation and checked against our catalogue data
The agent-supply-chain skill teaches an AI agent to record a SHA-256 fingerprint of every file in an agent plugin or tool folder, then later re-check the folder and report anything that was changed, removed or added. It is written for people who publish or review plugins, MCP servers and other agent tools. After this guide you will know how to install the skill, ask for a manifest or verification in plain language, and read the results.
Quick start
- 1Download the ZIP. Download the agent-supply-chain skill ZIP from this page.
- 2Install the skill. Unzip it into ~/.claude/skills/ for personal use or .claude/skills/ inside a project, or upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
- 3Check the requirements. Make sure Python 3 is available. The skill uses only standard library modules and does not use the network.
- 4Ask for a manifest. Ask the agent to generate an integrity manifest for your plugin folder. It will create INTEGRITY.json in that folder.
- 5Verify later. After changes or before promotion, ask the agent to verify the folder against INTEGRITY.json.
- 6Read the results. A pass means every recorded file matches. Investigate any MODIFIED, MISSING or UNTRACKED entries before trusting the plugin.
What the skill makes the agent do
The skill focuses on one question: are the files in this plugin the same files that were reviewed or published? The agent creates an INTEGRITY.json file in the plugin folder. It lists each file with its SHA-256 hash, plus a file count and a single manifest hash that summarises all the file hashes.
Later, the agent hashes the files again and compares the results with the manifest. Each problem is reported as MODIFIED, MISSING (recorded but no longer present) or UNTRACKED (present but not in the manifest). The skill can also scan dependency files for loosely pinned versions.
- Generates INTEGRITY.json for a plugin or tool directory
- Verifies current files against an existing manifest
- Flags modified, missing and untracked files
- Audits dependency files for unpinned or loosely pinned versions
How to install the agent-supply-chain skill
Download the skill ZIP from this page. Then choose one of the following options.
For Claude Code, unzip the download into your personal skills folder at ~/.claude/skills/, or into a project's .claude/skills/ folder if you want the skill available only in that project. The skill's folder contains a single file, SKILL.md.
In the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
- Personal install: ~/.claude/skills/ (available across your projects)
- Project install: .claude/skills/ inside the project (available only there)
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
How to trigger the skill with natural requests
You do not need to name the skill. The skill's description lists the kinds of requests that should activate it. Ask in plain language, and say which plugin folder you mean.
The description lists these example phrases: verify plugin integrity, generate manifest, check supply chain, and sign this plugin. The skill creates and checks hash manifests; it does not sign anything, so for the last phrase, expect a manifest rather than a signature.
- Generate an integrity manifest for the plugin in my-plugin/
- Verify that the plugin in my-plugin/ still matches its INTEGRITY.json
- Check the supply chain for this MCP server before I promote it
- Audit the dependency files in this project for unpinned versions
Example: generate a manifest and verify it
The skill's examples use two Python functions. The first, generate_manifest, walks the plugin folder and hashes each file, skipping folders such as .git, node_modules and __pycache__, and the INTEGRITY.json file itself. The second, verify_manifest, compares the folder with the saved manifest. Run the verification like this, with the plugin folder path in place of my-plugin/:
- Verification needs hash_file() and generate_manifest() from the manifest-generation example in the skill.
- A passing check prints VERIFIED: All files match manifest.
- A failing check lists each issue, for example MODIFIED: skills/search/SKILL.md, MISSING: agency.json or UNTRACKED: backdoor.py.
passed, errors = verify_manifest("my-plugin/")What the skill needs and what it checks
The skill needs Python 3 and only standard library modules: hashlib, json, pathlib and datetime. It runs scripts and does not use the network. You do not need to install third-party packages.
The dependency audit checks package.json for caret (^), tilde (~), wildcard (*) and latest version ranges, and checks requirements.txt or pyproject.toml for lower-bound-only constraints such as >= with no upper bound. It reports suggested fixes, such as pinning to an exact version or adding an upper bound.
- Python 3 with standard library only
- Runs local scripts; no network access
- Dependency audit covers package.json, requirements.txt and pyproject.toml
Safety notes before you run it
The skill runs Python scripts on your machine, so read SKILL.md and the scripts before running them on folders you care about. The manifest proves that files are unchanged since it was made. It does not prove that the code is safe, correct or free of bugs.
The skill is a simple custom hash check. If your project already uses npm provenance, Sigstore or SLSA signing, those tools give stronger guarantees and this skill does not replace them.
- A matching manifest means unchanged, not safe
- Generate the manifest from a folder you have reviewed
- Keep INTEGRITY.json in version control so the reference is not overwritten by accident
Tips for getting reliable results
Generate the manifest after review is finished, and regenerate it only after you have reviewed every change. If you regenerate it blindly, it will simply record whatever is in the folder, including unwanted changes.
In CI, run the verification as a step after checkout. The skill's promotion example also checks for README.md and a plugin manifest at .github/plugin/plugin.json or .claude-plugin/plugin.json, and it treats a missing INTEGRITY.json as a failure.
- Regenerate the manifest only after reviewing changes
- Run verification as a CI step to catch edits after review
- If you see UNTRACKED files, check whether they are build output that should be excluded
What people use it for
- A plugin author who wants to prove later that the published files are the ones they wrote.
- A reviewer who checks a third-party MCP server or agent tool before installing or promoting it.
- A team that runs a CI step to confirm that reviewed plugin files have not been modified since review.
- A maintainer auditing dependency files for loose version ranges before a release.
Frequently asked questions
How do I install the agent-supply-chain skill?
Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
What does the agent-supply-chain skill require?
It requires Python 3 and only standard library modules: hashlib, json, pathlib and datetime. It runs scripts locally and does not use the network.
Is the agent-supply-chain skill free to use?
The source lists the licence as MIT. Check the repository's licence file for the full terms before reuse.
Does a passing check mean my plugin is safe?
No. A passing check means the files match the manifest, so they have not changed since it was made. It does not show that the code is safe or free of bugs.
How is this different from npm provenance, Sigstore or SLSA?
Those are signing and provenance systems that give stronger guarantees. This skill is a simpler custom SHA-256 hash check and does not sign anything, so it suits projects that have no signing setup.
Why does verification report UNTRACKED or MODIFIED files?
UNTRACKED means a file exists in the folder but not in INTEGRITY.json, and MODIFIED means a recorded file's hash has changed. Check whether the change was intended, and regenerate the manifest only after reviewing it.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits plugin authors, reviewers and CI pipelines that need evidence files have not changed since review. It is not a security scanner, and teams that already use npm provenance, Sigstore or SLSA signing should rely on those instead. If you only want to use a plugin and need to know whether its code is safe, pick a code review or scanning tool.
Download the skill