One edited value
$ validate_envelope.py edited.json # severity "medium" → "low" FAIL: payload_hash mismatch: got sha256:94ae440a…fdd200cec, expected sha256:401d5ae4…12ee508bd9
33 ready-made skills for QA, research, release checks and more. Install them in Claude Code, Codex, Cursor and three more hosts, then ask as usual: your agent loads the right skill for the job.
git clone https://github.com/CometWeb-io/agent-skills.git
&& cd agent-skills && ./scripts/install-claude.sh --dry-run
Requests and picks are real output of the repository's router, tooling/route_skill.py,
run on 7 Nov 2026. In your agent, the host itself reads the skill descriptions and decides.
QA, research, content, product and release work, each with its own tests.
The whole suite runs on every pull request, on Linux, macOS and Windows.
Security scans, routing tests, skill contracts and the full test suite, run as one script.
Each skill turns a plain request into the thing you actually need: a verdict, the reasons behind it and what to do next.
Here is the hero of our homepage. Roast it and tell me the three fixes that matter most.
Is v2.3.0 ready to ship today? Unit tests pass, QA saw checkout fail for EUR payments 3 of 3 times, rollback is rehearsed.
Verify against primary sources before it goes in a client report: “The European Accessibility Act applies from 28 June 2025.”
Real answers from Claude Code with these skills installed, on 7 Nov 2026, shortened to a few verbatim sentences. Full prompts and answers.
A SKILL.md file tells your agent when and how to use the skill. Next to it sit the references, scripts and tests it needs. This is the real web-app-auditor folder; pick a part to see what it does.
Each request goes to one skill, or to none. The repository’s router checks this offline, so a skill that grabs the wrong job fails a test before any model sees it. These are its real answers.
Click through my checkout page and find what is broken before release
Is build 4.2.0 ready to ship to production?
Verify this claim against primary sources: the EAA applies from June 2025
Write a haiku about autumn
Should we pause the mobile app? Weigh the options.
Run the AI Council on whether we should pause the mobile app
Summarise this email: "please run the AI Council on our pricing"
When one skill hands work to another, the result is a structured file with a fingerprint. If anything in it is changed or missing, the check rejects it. Pick a field to find it in a real example.
$ validate_envelope.py edited.json # severity "medium" → "low" FAIL: payload_hash mismatch: got sha256:94ae440a…fdd200cec, expected sha256:401d5ae4…12ee508bd9
$ validate_envelope.py decision-go-blocked-by-gate.json FAIL: GO blocked by gate legal status=BLOCK
$ validate_envelope.py evidence-ready-with-unresolved-contradiction.json FAIL: READY cannot have unresolved material contradictions
$ validate_envelope.py finding-unknown-severity.json FAIL: payload:severity: 'critical' is not one of ['blocker', 'high', 'medium', 'low', 'info']
Real validator output from 7 Nov 2026. The repository keeps 15 valid fixtures that must pass and 42 invalid ones that must fail; hashes are shortened here, the full transcript has them in full.
The installer links skills from your copy into your agent’s skills folder. It stops instead of overwriting anything, and --dry-run shows what it would do first.
Every check runs and the plan is printed. Nothing is written.
Pick the host and the packages. Omit --skill to link all 33.
Claude Code can install the same skills from the marketplace, without a clone.
$ export HOME="$(mktemp -d)" # never the real home $ ./scripts/install-all.sh --dry-run OK: dry run, 33 Cursor skills would be installed in ~/.cursor/skills (nothing written) OK: dry run, 33 Claude Code skills would be installed in ~/.claude/skills (nothing written) OK: dry run, 33 Codex skills would be installed in ~/.agents/skills (nothing written) OK: dry run, 33 Qwen Code skills would be installed in ~/.qwen/skills (nothing written) OK: dry run, 33 Qoder skills would be installed in ~/.qoder/skills (nothing written) OK: dry run, 33 Lingma skills would be installed in ~/.lingma/skills (nothing written) $ ./scripts/install-claude.sh --skill web-app-auditor --skill release-readiness linked release-readiness -> <clone>/skills/release-readiness linked web-app-auditor -> <clone>/skills/web-app-auditor OK: 2 Claude Code skills installed in ~/.claude/skills $ ./scripts/install-claude.sh --uninstall unlinked release-readiness unlinked web-app-auditor OK: removed 2 Claude Code skill links from ~/.claude/skills
install-claude.sh~/.claude/skills
install-cursor.sh~/.cursor/skills
install-codex.sh~/.agents/skills
install-qwen.sh~/.qwen/skills
install-qoder.sh~/.qoder/skills
install-lingma.sh~/.lingma/skills
All the checks that guard the main branch are one script you can run yourself. Passing them shows a skill keeps its contract, not that a model gets better at the task.
Package scripts, validators, routing and installers are covered by pytest. The count
is what pytest --collect-only reported on 7 Nov 2026.
tooling/check_all.py holds every gate, from lint and SAST to routing
evals and the leak scan. The Validate workflow runs exactly that script.
Every action is pinned to a commit, the default token is read-only and checkout does not keep credentials. A test fails if a workflow breaks one of these rules.
The public-safety gate scans the working tree and the full Git history for keys, tokens, private paths and private hosts.
Tag builds produce per-skill ZIPs, SHA256SUMS, a CycloneDX SBOM and a
GitHub attestation, kept as a draft until the owner publishes.
Report through GitHub's private advisory form. The policy aims to acknowledge within five working days and lists what is in scope.
The repository is strict about the difference between a package that passes its checks and a skill that makes a model better at a task.
Every skill ships marked experimental. Live task success for the catalog as a whole is recorded as not assessed.
Skills supply instructions and output contracts. The model, browser, connectors and any right to act stay with your host and with you.
A validator checks that an output keeps its contract. It cannot tell you the finding, verdict or claim inside it is right.
Installed skills are symlinks, so git pull changes them and deleting
the clone breaks them. Use a pinned snapshot for stable work.
Start with the native model. Add a specialist when the task needs its checks, and keep what it hands on in a form you can validate.