Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add hamza-ali-shahjahan/hamzaish --skill launch-gotchasgit clone --depth 1 https://github.com/hamza-ali-shahjahan/hamzaishWrote 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/hamza-ali-shahjahan/hamzaish/launch-gotchas)<a href="https://agentmods.dev/skills/hamza-ali-shahjahan/hamzaish/launch-gotchas"><img src="https://agentmods.dev/badge/skills/hamza-ali-shahjahan/hamzaish/launch-gotchas/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/hamza-ali-shahjahan/hamzaish/launch-gotchas"><img src="https://agentmods.dev/badge/skills/hamza-ali-shahjahan/hamzaish/launch-gotchas.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00107 | $0.03320 |
| Opus 5.5 | $0.00043 | $0.01328 |
| Sonnet 5.5 | $0.00021 | $0.00664 |
| Haiku 4.5 | $0.00011 | $0.00332 |
Grade A, and why
launch-gotchas scanned grade A with 1 finding 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 1mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
**Prevent:** Cross-verify any crawler finding against `curl`-rendered HTML **and** browser DevTools before escalating to engineering. Use a JS-rendered crawl if the tool supports it. Build the cross-check into the audit How it starts
The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.
launch-gotchas
The stuff that usually only lives in someone's head after they've shipped a few sites and gotten burned. Read it before a launch so you recognize the trap, and during a launch when something won't verify. Stack specifics (Cloudflare / Yoast / Next.js / Semrush) are illustrative common-stack examples — each lesson states the underlying principle so it survives a stack swap.
The meta-lesson
"Done" is not "Verified." Most entries below are a variation of the same root failure: someone marked something complete, and the objective check was never run — or was run with the wrong tool. Every prevention here reduces to run the real check, independently, before closing the item.
Verification & audit-tool traps
Done-without-verification (the crown jewel)
What happened: A duplicate-canonical issue was marked Done. Two weeks later search-console validation FAILED — several URLs still affected. The redirect was working; the canonicalization wasn't. Root cause: A single user-visible symptom can have multiple independent mechanisms behind it: redirect rule + canonical tag + internal href + sitemap entry. Fixing one and seeing the symptom partly improve reads as "done." Prevent: Never accept "Done" without independent re-verification. Enumerate every mechanism that contributes to the item and verify each before closing.
Audit-tool blind spots
What happened: A crawler's default mode didn't execute JavaScript. On a JS-rendered site it reported false-positive missing H1s, low word count, and low text-to-HTML ratio on pages that were actually fine when rendered.
Root cause: The audit tool and the browser see different DOMs.
Prevent: Cross-verify any crawler finding against curl-rendered HTML and browser DevTools before escalating to engineering. Use a JS-rendered crawl if the tool supports it. Build the cross-check into the audit workflow.
Env-gated backend read as "fully static"
What happened: A site/scale audit read the code in a keyless/dev state and concluded "fully static, no backend, no DB — scales to 10k trivially." It was wrong: the site had a live env-gated Supabase backend (magic-link + Google OAuth, a CRUD table with share slugs, a telemetry table, an admin dashboard) plus a "static" /emulator route that actually proxy-rewrote to a separate deployment. The backend client only initializes when env vars are present and degrades to local-only when absent — so the keyless read saw a fallback and called it static.
Root cause: "Static" is a delivery claim, not a code-only property. The same bundle is static in dev and backend-driven in prod, decided purely by which env vars are set; conditional init (if (SUPABASE_URL) createClient()) makes a live backend invisible to a keyless read. The audit graded the wrong state.
Prevent: Never conclude "static / no backend / scales trivially" from code alone. Read .env* and trace the gating (populated keys = LIVE in prod); grep deps + src for backend SDKs even when usage is conditional (supabase/@clerk/firebase/prisma/drizzle/server SDKs); check vercel.json/netlify.toml/next.config.* for rewrites/proxies to other deployments; then, if a backend exists, audit the scale ceilings — auth/SMTP rate limits (the classic first failure for free magic-link), DB tier limits (connections/auto-pause/storage), and RLS / anon-key authorization. First-timer rule: if the site has a sign-in button, a save/share feature, or an admin page, it HAS a backend — open the .env and check. (Full required checklist: factory/playbooks/mvp-stage/security-checklist.md → Backend reality check.)
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.
- 1mo ago Changed · +9 lines a9dc5386c89d
- 2mo ago First seen · 151 lines · 107 tokens per session scan A 9ab9d5dbc3c0
launch-gotchas is a skill published in the GitHub repository hamza-ali-shahjahan/hamzaish (10 stars, last pushed 1mo ago), licensed MIT. It adds 107 tokens to every session and 3,320 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
launch-gotchas compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| launch-gotchashamza-ali-shahjahan/hamzaish | Skill | 10 | 1mo ago | MIT | A | 107 | Claude Code |
| debug-trailtellmefrankie/news-engine | Skill | 1 | 5mo ago | MIT | A | 0 | Claude Code, Codex |
| log-error-digestzebbern/claude-code-guide | Skill | 4.7k | 3d ago | MIT | A | 71 | Claude Code, Codex |
| ci-fixersipyourdrink-ltd/bernstein | Skill | 1.2k | yesterday | Apache-2.0 | A | 15 | Claude Code, Codex |
| diagnosing-missing-recordingsPostHog/posthog | Skill | 41k | yesterday | none | A | 76 | Claude Code, Codex |
| loop-engineeringhuytieu/COG-second-brain | Skill | 1.3k | 15d ago | MIT | A | 63 | Claude Code |
| opik-diagnosecomet-ml/opik-mcp | Skill | 225 | 9d ago | Apache-2.0 | A | 187 | Claude Code |