public-surface-audit SKILL.md skillF
public-surface-audit from chrono-meta/forge-harness is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add chrono-meta/forge-harness/public-surface-audit@git:20260811.52c0a42Pins git:20260811.52c0a42 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- F, 16 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- chrono-meta/forge-harness
- Path
plugins/fh-meta/skills/public-surface-audit/SKILL.md- Versions recorded
- 5
- Latest version
- git:20260811.52c0a42, committed Aug 11, 2026
- First version recorded
- Jun 7, 2026
- Size
- 19,079 bytes
- Repository stars
- 31
- License
- MIT
Scans git-tracked (public) files for operator-private tokens that should live only in gitignored files — real usernames, absolute home paths, companion-store names, company asset names. Reports file:line + matched token + severity, so a public/private split stays clean before publish. Triggered by "public surface audit", "did I leak anything", "check tracked files for private tokens", "private token scan", "public-surface-audit".
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# public-surface-audit — Operator-Private Token Leak Scan Scans the git-tracked file set (the public surface) for operator-private tokens that were supposed to stay in gitignored files (e.g. `CLAUDE.local.md`, companion store). After a public/private split, a front-door fix is not enough — a leaked username or absolute home path anywhere in the tracked set breaks the "public repo = model-agnostic methodology only" invariant. > While `marketplace-gate` Check 5 answers "is this repo broadly safe to publish?" (API keys, internal > domains, license), `public-surface-audit` answers a narrower question: "did any operator-private > token survive the public/private split into a tracked file?" It scans `git ls-files` only — gitignored > files like `CLAUDE.local.md` are intentionally out of scope (they are the *correct* home for these tokens). ## Triggers - `/public-surface-audit` - `/public-surface-audit --target <repo path>` - `/public-surface-audit --json` (machine-parseable verdict for hook-gating — see Step 5) - "Did I leak anything into the public repo?", "public surface audit", "private token scan" - "Check tracked files for private tokens", "is my public/private split clean?" …
Read the whole file at its exact version.
How to install
mdr add chrono-meta/forge-harness/public-surface-audit@sha256:2e19e67fff4399deThe line at the top of this page pins the label git:20260811.52c0a42, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_ftglsuh26m5jmvtb)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 5 versions of this file, between Jun 7, 2026 and Aug 11, 2026, about one every 16 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260811.52c0a42 latest | 2026-08-11 | 52c0a42 | 19,079 B | F | view · diff |
| git:20260707.7340c98 | 2026-07-07 | 7340c98 | 16,268 B | F | view · diff |
| git:20260707.2d2da9a | 2026-07-07 | 2d2da9a | 17,052 B | F | view · diff |
| git:20260620.8e98390 | 2026-06-20 | 8e98390 | 19,938 B | F | view · diff |
| git:20260607.4a1f41d | 2026-06-07 | 4a1f41d | 16,537 B | F | view |
Audit of the latest version
- FAIL, critical: No credential-shaped string (matched: AKIAIOSFODNN7EXAMPLE)
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (19079 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Starting a new one? Use a template for SKILL.md on mdpantry, which passes every one of these checks and says what to change in it.
Source
chrono-meta/forge-harness · 31 stars · license MIT · pushed 2026-11-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ftglsuh26m5jmvtb GET https://markdownregistry.com/api/v1/resolve?ref=chrono-meta/forge-harness/public-surface-audit GET https://markdownregistry.com/api/v1/blob/2e19e67fff4399de8b026611f4af1094258a6cf7e439603f93d774fb78d53347
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.