launch-audit
Skill5 starsChanged 32 days agoMITView on GitHub
Check whether a GitHub repo is ready to be launched — blockers a visitor would hit, risks that grow with visibility (unofficial APIs, copyright, privacy, capacity), and a 0–100 readiness score from a public rubric — then list the fixes that matter most. Use when the user asks \"is my repo ready to launch\", wants a README/repo review before promoting it, or says 发布前检查 / 体检 / 帮我看看仓库哪里不行.
- Reads credentials
3 other projects use a version of this.
Adopted by
Most recently taken up by
- ethanplusai/astro-conversion-kittheir own version, first seen Oct 25, 2026
- unreadlogs/node-agent-skillstheir own version, first seen Oct 12, 2026
- unreadlogs/AutarkChattheir own version, first seen Aug 1, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- ethanplusai/astro-conversion-kit★ 114same name
- unreadlogs/AutarkChat★ 4same name
- unreadlogs/node-agent-skills★ 4same 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 repository6 other files it gives its agents.
- launch-planSkill
- launch-positioningSkill
- launch-postsSkill
- launch-readmeSkill
- launch-reviewSkill
- launchSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
5
Distinctive
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 14
Read .megaphone/decisions.md first if it exists, and record any new answers there — or, with no human available, the assumptions you made.
- Distinctive: line 17
Get the score: Run the bundled script (Python 3.8+, no dependencies):
- Distinctive: line 30
Do the human review: Read the README top to bottom as a stranger arriving from the
- Distinctive: line 53
Don't run the project's code unless the user asked you to.
- Very specific: line 55
If the repo has a SKILL.md or a .claude-plugin/ folder, also go through rubric.md § Skill and plugin repos (SK1–SK5): open each SKILL.md …
- Distinctive: line 147
Don't pad. A project nobody can try is not "almost there" because it has a license and badges — that's what blockers are for.
- Distinctive: line 149
If the user disagrees with a check (e.g.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Launch audit
Visitors from a launch decide in seconds. This audit finds what would make them leave, what could go wrong once the project is visible, and ranks the fixes by impact. The rubric lives in rubric.md; read it first.
Steps
Read .megaphone/decisions.md first if it exists, and record any new answers there — or,
with no human available, the assumptions you made.
Get the score. Run the bundled script (Python 3.8+, no dependencies):
python3 <this-skill-dir>/scripts/audit.py OWNER/REPO # what's on GitHub now python3 <this-skill-dir>/scripts/audit.py OWNER/REPO --readme README.md # score a local draftIt's the same code as the Megaphone web checker, so the numbers match. A token in
GITHUB_TOKENis optional. If the repo isn't on GitHub yet or the network is unavailable, score the README-based checks by hand from rubric.md and mark the repo-based onesunknown. If the repo ships aSKILL.mdor.claude-plugin/, the report ends with an unscored Skill & plugin section: SK1–SK3 checked automatically, SK4–SK5 left to you in step 2.Do the human review. Read the README top to bottom as a stranger arriving from the channel you'll launch on first — from
.megaphone/decisions.md, or the most likely one if it isn't decided yet (a Hacker News reader on a laptop, a 小红书 user on a phone, a V2EX regular…). Answer:- Within the first screen (about the first 25 rendered lines), can I tell what it is, who it's for, and why it's better than what I use now?
- Is there something to see before I have to read?
- Can I try it in under a minute? Count the steps to the first result. Does that first result actually show the headline feature?
- Is every hard requirement (browser, GPU, Docker, OS, account, paid key) stated up front?
- Does anything look abandoned, broken or risky (stale badges, dead links, "WIP" with no date, no license)?
- Would I know what to say if I told a friend about it?
- Does the page I land on speak my language? GitHub opens
README.md; a visitor from V2EX, 掘金 or 小红书 who meets an English first screen may leave before finding the small 「简体中文」 link (and the reverse for an English channel; a heuristic from our own launch). One line in the visitor's language under the tagline, linking to the twin, helps. - Is the fastest way to try it the easiest thing to click (for example, the hero image links to the hosted demo)?
- Is there proof that someone else got value (a user's words, a before/after)? Optional at launch, but it's what turns a visit into a star later.
Don't run the project's code unless the user asked you to; reason from the code and docs, and say so. If the repo has a
SKILL.mdor a.claude-plugin/folder, also go through rubric.md § Skill and plugin repos (SK1–SK5): open eachSKILL.mdand read its frontmatter the way an agent would, deciding fromnameanddescriptionalone whether to use the skill.- Decide the blockers from rubric.md § Blockers. Any open blocker caps
the level at 🔉 Needs polish regardless of the score. A blocker you can't settle without
running code (usually Broken try-path) is
unverified: check what you can without running it first, say what's left, and don't let it cap the level — it still counts as not closed for the launch gate (launch-plan). - Answer risk & readiness (rubric.md § Risk & readiness) — always, even for harmless-looking projects; "none found" is a valid answer. Quote risky wording from the repo and propose factual replacements. Don't give legal advice.
- Rank the fixes. Label each Blocker, High or Medium by visitor impact, and show the rubric points it's worth (often +0 for the most important ones — that's fine). Name the Megaphone skill that fixes it when there is one.
- Write
.megaphone/audit.md(template below, headings in the user's language, check IDs kept), then summarise in chat: blockers, level, the top three fixes.
Levels
| Score | Level | Meaning |
| 90–100 | 📣 Ready to launch | Spend your launch now. |
| 75–89 | 🔊 Almost there | Fix the top items first; they're cheap. |
| 55–74 | 🔉 Needs polish | A launch now wastes attention you won't get back. |
| 35–54 | 🔈 Whispering | Fix the first screen and the try-it path before anything else. |
| 0–34 | 🔇 Muted | Not ready for visitors yet. |
Set the level from the human-adjusted score when there is one, otherwise the rubric score, out of 100 and before any trade-off rescaling (rubric.md). Any open blocker caps the level at 🔉 Needs polish; an unverified one doesn't.
Template for .megaphone/audit.md
# Launch audit — <repo> — <date>
**Level: <emoji> <level>** · rubric score NN/100 · human-adjusted NN/100 (<why, if different>)
Open blockers: N · unverified: N
## Blockers
| Blocker | Status | Evidence | Fix |
|---|---|---|---|
| Quick start doesn't show the point | open/closed/unverified | … | … |
## Risk & readiness
- Third parties: …
- Claims in the repo: "<quote>" → "<factual replacement>"
- Other people's data: …
- Disclaimer: present / draft: "…"
- Capacity: …
- Reachability: …
## Skill & plugin (only for repos with a SKILL.md or .claude-plugin/)
- [x] SK1 Valid frontmatter — <evidence> (a check that doesn't apply: `- n/a SKn … — <why>`)
- [ ] SK2 Description says when — "<current description>" → "<proposed one with trigger phrases>"
- [ ] SK3 Copy-paste install — …
- [ ] SK4 First thing to say — …
- [ ] SK5 Findable — topics: …; directories/lists and when they apply: …
## Fix first
1. <fix> — Blocker/High/Medium — why it matters, exactly what to change (+N pts)
2. …
## Rubric detail
| Category | Score |
|---|---|
| First impression | NN/35 |
| Time to wow | NN/25 |
| Trust | NN/20 |
| Shareability | NN/20 |
- [x] A1 Description … (8/8) — <evidence>
- [ ] A5 Visual in the first screen (0/8) — <evidence>
## Human review
- First screen: …
- Try-it path: N steps — …
- Requirements: …
- Word of mouth: "<how a user would describe it in one breath>"
## Accepted trade-offs
- D1 Two languages — the author keeps a Chinese-only README on purpose (scored NN/95 → NN/100)
## Manual checks (can't be detected automatically)
- [ ] Social preview image set (Settings → General → Social preview)
- [ ] Repo pinned on the author's profile
- [ ] Demo GIF under ~10 MB and loops cleanlyNotes
- Don't pad. A project nobody can try is not "almost there" because it has a license and badges — that's what blockers are for.
- If the user disagrees with a check (e.g. no second language), record it as an accepted trade-off rather than nagging.
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.

