project-release — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited project-release (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill only for cloakbrowser-mcp release work. Require a confirmed target version such as v1.2.8, and decide whether it is stable or prerelease before preparing, publishing, or recovering a release. If the user has not provided a target version, propose one from the unreleased changes and ask the user through Codex's standard Request User Input tool (request_user_input) to confirm it or choose a different tag before release execution.
Release tags use Semantic Versioning 2.0.0 with the repository's v prefix, for example v1.2.8 or v1.2.8-rc.1. The pinned specification URL is https://semver.org/spec/v2.0.0.html.
request_user_input) forunresolved release choices, following its exposed schema and current host constraints. A separate interview server is not required.
decisions in the release handoff. Explicit user decisions already in the conversation count as confirmation; do not ask them again. An empty, cancelled or unanswered question is not confirmation.
do not infer a reserved release decision. Permission requests follow the host's approval process, not a clarification tool.
GitHub Release creation, npm publication, Docker publication, MCP Registry publication, workflow rerun, and recovery mutations are separate authorization gates.
approval, merged code, or passing checks.
previous release tag:
git fetch origin --tags --prune
git describe --tags --abbrev=0
git log --oneline <previous-tag>..HEAD[Unreleased] in CHANGELOG.md, merged PR titles, andConventional Commit subjects when available.
MAJOR for backward-incompatible public API, CLI, MCP protocol, config, orartifact contract changes;
MINOR for backward-compatible user-facing features;PATCH for backward-compatible fixes, dependency updates, docs, CI, orpackaging-only changes.
or choose another tag through Request User Input (request_user_input). Do not run npm run version:apply until the tag is confirmed and release preparation is explicitly authorized.
main unless the user explicitlygives another base.
https://semver.org/spec/v2.0.0.html, then validate that the requested tag is the v-prefixed form of a SemVer 2.0.0 version.
includes them.
CHANGELOG.md, open and scanhttps://keepachangelog.com/en/1.1.0/.
https://www.conventionalcommits.org/en/v1.0.0/.
Run the release version script with the exact tag:
npm run version:apply -- vX.Y.ZThe script updates:
package.jsonpackage-lock.jsonserver.jsonDocumentation release tags and pinned install examples are rendered at MkDocs build time from package.json through docs_macros.py; do not manually rewrite those values in Markdown sources.
Manual release updates still required:
docs/data/version-compatibility.json;npm run docs:compatibility;README.md, docs/index.md, and docs/version-compatibility.mdchanged as expected;
@playwright/mcp,Playwright MCP Docker base, CloakBrowser dependency, supported transport, and platform;
npm run docs:compatibility:check;[Unreleased] entries in CHANGELOG.md into## [X.Y.Z] - YYYY-MM-DD;
[Unreleased] section above the new release;[Unreleased] comparesvX.Y.Z...HEAD and [X.Y.Z] compares the previous tag to vX.Y.Z;
release instead of a generic example.
Do not bump the package version outside release preparation.
Before opening or merging the release PR, run:
npm run check:ci
npm run package:verify
npm run docker:build
npm run docker:smoke
npm run bridge:compare -- cloakbrowser-mcp:dev --report bridge-parity-report.json
docker run --rm -v "$PWD:/repo" --workdir /repo docker.io/rhysd/actionlint:1.7.12@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667 -color
python3 -m pipx run zizmor --min-severity high .
npm run docs:build
npm run docs:seo:validateRemove bridge-parity-report.json after inspecting it. If a check fails, fix the smallest release-relevant cause and rerun the relevant command.
chore(release): prepare vX.Y.Z.
.agents/skills/project-pull-request/SKILL.md.
main with a concise releasesummary and validation list.
credentials, public image publishing, OIDC, or token behavior.
when the user requests verification; do not wait for completion or poll. Pending jobs leave acceptance open.
for stable releases with:
vX.Y.Z;main;vX.Y.Z;CHANGELOG.md section.latest and Docker latest; prereleases publish npm next and prerelease Docker tags only.
Inspect the unified Release workflow when the user requests verification. If metadata, npm, docker, mcp-registry, docs-build, or docs-deploy is still running, leave verification open; do not wait or poll for completion. docs-deploy must run only after npm, Docker, and MCP Registry publishing have succeeded.
Once the required jobs have completed successfully, verify:
npm view [email protected] version
docker pull swimmwatch/cloakbrowser-mcp:X.Y.Z
docker run --rm swimmwatch/cloakbrowser-mcp:X.Y.Z --help
docker pull ghcr.io/swimmwatch/cloakbrowser-mcp:X.Y.Z
npm run registry:check -- --version X.Y.ZConfirm Docker Hub overview, short description, npm, GHCR, Docker Hub, docs, and the official MCP Registry are current. GitHub /mcp visibility is curated separately and may lag; treat it as a warning unless the user makes it a gate.
Forbidden, theDOCKERHUB_TOKEN secret needs a Docker Hub personal access token with read/write/delete permissions for swimmwatch/cloakbrowser-mcp; rerun failed release jobs after the secret is updated.
delete and retag the same release for code defects. Prepare a follow-up patch release instead.
a fixed external configuration.
artifact state and any warnings.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.