brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
site-checkAnswer 'is this site down or is it just me' properly — curl status/timing diagnostics, DNS cross-check, and TLS certificate reads, assembled into a where-it's-broken diagnosis. Use when asked is this website down, why can't I reach this site, check if my site is up, or is the SSL certificate expired. Produces the layered diagnosis (DNS → TLS → HTTP → conten…
Independent GitHub snapshot · Automated classification · Original documentation governs
"Is it down or is it me?" is a diagnosis, not a yes/no — a site can fail at DNS, at TLS, at HTTP, or only from your network, and each failure names a different fix. This skill runs the layers in order with plain curl, reads the evidence (status codes, cert dates, resolver agreement), and answers with where it's broken, which is the answer that was actually needed.
Ask for these if not provided:
example.com up and example.com/app down is a real and common state)curl -sI -m 10 -o /dev/null -w "%{http_code} %{time_total}s %{remote_ip}\n" "https://example.com" — status, total time, and which IP answered in one line. 200/301 = up · 4xx = up but refusing this request · 5xx = up but broken behind the server · 000 = never connected → walk down the stack.curl -s "https://dns.google/resolve?name=example.com&type=A" — NXDOMAIN vs. records-exist separates "domain problem" from "server problem"; two public resolvers agreeing ≈ not a DNS issue (the dns-lookup skill has the full treatment).curl -svo /dev/null "https://example.com" 2>&1 | grep -E "expire|subject|issuer" — expired cert, wrong-host cert, or incomplete chain each read differently; quote the expiry date and say how long ago/until.curl from another network if possible, flush DNS, try the resolved IP) rather than declaring the site dead from one vantage point.-w breakdowns (time_namelookup, time_connect, time_starttransfer) locate slowness — slow DNS vs. slow TLS vs. slow server are different tickets; a 12-second time_starttransfer with fast connect is the backend's confession.[The verdict: "Down at the HTTP layer — DNS and TLS fine, server returning 503; not your network." ]
| Layer | Result | Read |
|---|---|---|
| DNS | [records / NXDOMAIN] | … |
| TLS | [handshake ok · cert expires [date]] | … |
| HTTP | [code, time, IP] | … |
[Cert questions: expiry with the countdown · Slowness: the timing breakdown and which phase owns it]
Rerun: [the curl(s)]
One vantage point — "up for me" ≠ up for everyone; for your own production site, real monitoring beats spot checks.