repo-showcase
Skill37 starsChanged 47 days agoMITView on GitHub
Make a repo public-facing on its working tree — README rewritten around outcome and demo, stale docs pruned, outdated claims fixed, secrets and private names found, GitHub metadata proposed — then hand off to /repo-scrub. Use for "showcase this repo", "polish the README for public", "prep for open-source or portfolio".
- Reads credentials
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- LuisSambrano/antigravity-configtheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- LuisSambrano/antigravity-config★ 8same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- dotfiles/CLAUDE.mdCLAUDE.md
- find-me-a-skillSkill
- gap-scanSkill
- grill-docsSkill
- grillingSkill
- grill-meSkill
- handoff-autoSkill
- handoffSkill
- lanesSkill
- meta-orchestratorSkill
- pairSkill
- ponytailSkill
- progress-reportSkill
- pr-watchSkill
- remindSkill
- repo-scrubSkill
- score-loopSkill
- session-bridgeSkill
- sitrepSkill
- spend-gateSkill
- switchSkill
- teammate-briefSkill
- wayfinderSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Every tracked doc (README*, docs/, CONTRIBUTING*, stray notes): table Path · keep / merge / delete · reason.
- Very specific: line 23
Check every factual claim (languages, versions, install steps, commands, badges, "beta", architecture) against code, config and git log.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working tree only. History and visibility belong to /repo-scrub. Gate: every redaction, README rewrite, metadata change, commit, and push needs an explicit yes.
1. Ask (one batch, each with its default)
- Outcome: what a stranger should do after reading (default: try it in under 5 minutes).
- Audience (default: developers deciding whether to use or contribute).
- Emphasis: the one thing worth a look (default: the latest merged feature or current headline claim, confirmed rather than invented).
"go" → defaults.
2. Doc inventory
Every tracked doc (README*, docs/**, CONTRIBUTING*, stray notes): table Path · keep / merge / delete · reason. Untracked docs are listed separately as not shipped and never rewritten or published. Act on rows only after a yes, echoed back.
3. Claims vs reality
Check every factual claim (languages, versions, install steps, commands, badges, "beta", architecture) against code, config and git log. Report claim file:line — evidence file:line or SHA. These feed §4 and the diff gate.
License: no LICENSE* file → flag it here and gate it. A license declared only in a manifest (package.json license, pyproject.toml [project] license, Cargo.toml license) is the user's stated pick: offer to add the matching LICENSE file (standard text, their name and year) and gate that. A LICENSE file that disagrees with the manifest → flag both file:line. Neither → offer the choice (name a few common ones); never pick one for them, and don't name a license in the README until they have.
4. README draft (lean)
- One-line pitch. 2. Result: what using it produces. 3. Demo slot:
<!-- screenshot/GIF: paste path or URL -->for the user to fill; media and metrics are never fabricated. 4. Quickstart, actually run: in a clean clone (git clone . "$(mktemp -d)/x",--recurse-submoduleswhen.gitmodulesexists; flag a private submodule and a relative URL, which resolves against wherever the repo is cloned from; a working tree with an untrackedskilleddocs/can breakpip install ., see TRACKING.md), with every install landing in a temp dir:npm install -g . --prefix <tmp>,pip install .in a fresh venv,go install ./...withGOBIN=<tmp>,cargo install --path . --root <tmp>. Never a global or user-level install. A step that installs by registry name (npm install -g <name>,pip install <name>,cargo install <name>) runs only when the registry entry is this project: same name and its repository URL (npm view <name> repository.url, PyPIproject_urls, crates.iorepository) matches this repo's remote. Otherwise install from the clone instead and flag the README line: the name may belong to someone else. Report pass/fail with the output. A step whose toolchain is missing here (command -v <tool>fails) is not a failure: reportnot run: <tool> missing, keep the step as written, never drop it. A step that is itself wrong: fix it, or drop it on yes. 5. Architecture, only if the audience needs it. 6. Credits and license.
Draft only; the file changes at §7.
5. Secrets and private names
Tracked files: key/token/connection-string patterns (gitleaks dir . if installed), un-ignored .env. Personal names: grep for email addresses, then read comments and docs for person names, docs marked delete at §2 included; flag any that aren't authors (git shortlog -sne) or already public. Commit messages and identities: git log --all --format='%an %ae %cn %ce%n%B' | grep -Eo '[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]+' | sort -u and git log --all --format='%an <%ae>%n%cn <%ce>' | sort -u; ask which are the owner's own and drop those; cite the rest by SHA. Report file:line; redact per item on yes (written at §7). Keep for §8 every personal string (name, email) redacted, removed with a deleted doc, or found only in history: the tree edit leaves it in every old commit. Non-owner identities: ask "rewrite in history" or "author identities stay", and keep the answer for §8. Secrets go by file:line only, never the value.
6. Metadata
Propose description, topics, homepage; <o/r> per the next skill's BOARD.md, Target repo section (fork → ask which repo first); show gh repo edit <o/r> --description "…" --add-topic … --homepage …; run on yes. No GitHub remote (git remote -v shows none, or a non-GitHub host) → print the command for later and skip.
7. Gate: diff, commit, push
Show the full README diff plus one line per doc change and redaction. Commit on yes from a separate worktree on a new branch based on the current one (note it first): git worktree add "$(mktemp -d)/showcase" -b showcase/public <noted branch>. Write each changed file there and git rm deleted docs there, never in the user's checkout, so their WIP and untracked files stay out and nothing needs switching back; stage only those paths (never -A or .), one logical change per commit (docs: rewrite README for public release), then git worktree remove <path>. A changed file that also holds user WIP → ask first: the worktree copy starts from the committed version, so the WIP stays out, but merging the branch will meet it. Push on a separate yes.
8. Hand off and record
Next step: /repo-scrub for the history scan and the visibility flip, kept separate on purpose. Merge (or push) showcase/public first, on a yes: repo-scrub scans pushed history, and its post-push reset would rebase an unmerged branch whose deleted docs conflict with the rewrite. Hand it every personal string kept at §5 (redacted, from deleted docs, message-only) and each non-owner identity with the user's answer; gitleaks has no rule for names or emails, so repo-scrub checks each with git log -m -S/--grep (-m: merge commits too), scrubs strings with a literal: rule and identities with a mailmap. Save inventory, claims, findings, and what was done to skilleddocs/showcase/<local-date>.md, uncommitted unless asked (and not counted among the files you commit in §7). Untracked → exclude skilleddocs/ per TRACKING.md (it also covers the pip install . hazard).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

