leak-guardlisted
Install: claude install-skill agigante80/forge-kit
<!-- leak-guard-version: 19 -->
# Leak guard
A repository governed by forge-kit is usually about to become public, and nothing in the ordinary
workflow stops the developer's own machine arriving with it. This is the guard for that.
The mechanism is boring, which is why it keeps working. Real names arrive as sample data, because
the fastest way to write a realistic project list is to list the projects you have, and the result
looks like sample data forever afterwards. Absolute paths arrive inside pasted output: a traceback,
a `ps` line, a test failure. Each carries a working directory, and under a home directory that path
is not neutral. The username identifies a person, and **the segments above the project are worse**,
because a path can name an employer, a client, a filing scheme, or a category its owner considers
private. The project name at the end is the only part anyone meant to publish.
## What this does not reach, and what to run beside it
**The tree modes never look at history; `--history` does, and it is opt-in.** `--all`, `--staged`
and `--range` enumerate the working tree, the index, or two endpoints of a range, so a path, a name
or an address committed once and removed later is invisible to all three. That is the going-public
moment this skill is named for, which is why the mode exists and why it is run by hand rather than
from a hook:
```bash
# before going public, from the repository root
check-public-leaks.sh --history --allow-file .leak-guard-allow #