no-mistakes is a local Git proxy that validates changes in an isolated worktree before forwarding a push to the real remote and opening a pull request. It is for developers and coding agents that want automated checks, safe fixes, CI repair, and human review before changes are published.
Borrowing it
Nothing to install: this file belongs to kunchenguid/no-mistakes. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/.agents/skills/pr-publication-safety/SKILL.mdgit clone --depth 1 https://github.com/kunchenguid/no-mistakesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kunchenguid/no-mistakes/pr-publication-safety)<a href="https://agentmods.dev/skills/kunchenguid/no-mistakes/pr-publication-safety"><img src="https://agentmods.dev/badge/skills/kunchenguid/no-mistakes/pr-publication-safety/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kunchenguid/no-mistakes/pr-publication-safety"><img src="https://agentmods.dev/badge/skills/kunchenguid/no-mistakes/pr-publication-safety.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What 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.1 | $0.00028 | $0.01013 |
| Opus 5 | $0.00014 | $0.00507 |
| Sonnet 5 | $0.00006 | $0.00203 |
| Haiku 4.5 | $0.00003 | $0.00101 |
Grade A, and why
pr-publication-safety 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 11d 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 — 19 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Home-Path Redaction in Published PR Content (security)
internal/safepathis the one owner of home-directory redaction, the path analogue ofinternal/safeurl.RedactTextrewrites the process's own home plus/home/<user>,/Users/<user>, andC:\Users\<user>to~, unconditionally and for every occurrence. Add new shapes there rather than scrubbing paths at a call site. Candidate resolution must stay free offilepath.IsAbs/VolumeNameand of any reliance onfilepath.Clean's separator normalisation: those answer for the build platform, and on WindowsIsAbsdiscards the POSIX-rootedHOMEthat Git Bash, MSYS2, and Cygwin set - silently disabling redaction instead of failing. Regression:TestUsableHomeCandidate_AcceptsBothPlatformSpellings,TestHomeCandidates_AreSeparatorSpellingIndependent.PRStep.buildPRContentis the single render boundary: it drafts throughdraftPRContentand returnsredactPRContent(content), andExecutepublishes exactly that. Every source that can reach a PR body - agent prose, extracted intent, findings, fix summaries, step errors, artifactpath, artifact captions, and captured output embedded from evidence files - is covered there, so a new rendering path cannot reintroduce the leak. Redaction runs after every length cap, which is only safe because the placeholder is never longer than the path it replaces.- The
artifacts[].pathdescription intestFindingsSchema(common.go) must not solicit absolute paths, and must not forbid them either. The renderer's allowlist is the worktree or the run's evidence directory and a path under neither is dropped, while the evidence directory defaults under the operator's home - so soliciting more just re-supplies what the boundary has to strip, and a blanket "never report a home directory path" clause makes an obedient agent drop its own evidence. Publication safety is thepr.goboundary's job; the schema only stops soliciting paths from elsewhere on the machine. Regressions:TestTestFindingsSchema_DoesNotSolicitAbsolutePaths,TestTestFindingsSchema_KeepsEvidenceDirectoryPathsReportable. - Two other public surfaces deliberately do NOT share this rendering and are not covered: agent-authored commit subjects (
commitAgentFixes->Commit.RenderFixMessage), which reach the remote through Push, and the opt-in evidence branch (test.evidence.store_in_repo), which copies artifact files verbatim. Keep theinternal/safepathpackage doc honest about that scope. - The PR body must contain exactly ONE live pipeline-attestation marker, the run's own.
require-no-mistakes(.github/actions/require-no-mistakes/verify.py) binds the FIRST marker in the RAW body to the PR head, so a foreign copy placed earlier fails a PR the pipeline did produce - and a code fence is no defense, because that scan is raw text. Step agents embed foreign markers routinely, by capturing a generated PR body as evidence. - A CI repair that publishes a new head rewrites only that live marker's
head_shain the current PR body (restampPublishedAttestation) and does not send a title. It never inserts a marker that was not already there. Hosts without a PR content reader skip the restamp instead of failing the push. Regressions:TestCIStep_PublishRepairRebindsAttestationAcrossRepairPushes,TestCIStep_PublishRepairDoesNotMintAttestation,TestCIStep_PublishRepairSkipsRestampWithoutReader,TestRestampPRAttestation_PreservesContentEditedWhilePreparingRewrite,TestUpdatePROmitsTitleWhenEmpty. - Neutralize at the assembly choke point (
appendGeneratedSectionsToCleanBodyWithinLimitplus the two intent paths), never per render path.pipelineMDalone carries the real marker and is left intact;BuildPipelineSummaryForneutralizes its own step-detail blocks, which quote agent text. A first attempt put this inescapePipelineFoldMarkers- per-render-path - and shipped three live foreign markers to #831 anyway. Regressions:TestPRStep_ForeignAttestationsInEveryComponentDoNotShadowTheRealOne(all components at once), plus the per-component guards inpr_test.go. - Regressions:
internal/safepath/redact_test.go,internal/pipeline/steps/pr_homepath_test.go.
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.
- 11d ago First seen · 19 lines · 28 tokens per session scan A 2f7d37f63b13
pr-publication-safety is a skill published in the GitHub repository kunchenguid/no-mistakes (8,390 stars, last pushed today), licensed MIT. It adds 28 tokens to every session and 1,013 once invoked, about $0.0001 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-30.
Other skills, from other repositories
prowler-commit
Creates professional git commits following conventional-commits format. Trigger: When creating commits, after completing code changes, when user asks to commit.
gh-auth-isolation
Safely manage multiple GitHub identities (EMU + personal) in agent workflows.
comet-github
A routing guide for Comet-related GitHub work. It directs requests about pull requests, issues, CI failures, ideas, and fixes to the appropriate review or implementation process.
github-skill
Work with GitHub via the gh CLI — clone repositories, create/list/merge pull requests, create/list issues, and run any other gh command (API calls, workflow runs, releases, repo administration). List operations return parsed JSON.
changelog-composer
Generates structured changelogs and release notes from git history and PRs, classifying breaking changes, features, fixes, performance, docs. Triggers on: "generate changelog", "write release notes", "what changed since", "prepare release", "release notes for", "diff since tag".
re0-merge
Review and land an external contribution the way this suite does: gate it against the thesis, land it with the author's credit intact, complete a new skill rather than merging it raw, then approve, credit, and explain before closing. Use when reviewing a pull request, as any collaborator or maintainer, not only the…