-
A2A packed app
-
launch-check-studio-v1
-
- {config.agent.name} v{config.agent.version}
+
+
+
+
LaunchCheck Studio
+
Audit your launch page before customers do.
+
+ Submit a public HTTP(S) URL. LaunchCheck performs a deterministic, bounded, SSRF-safe audit for reachability,
+ HTTPS, page metadata, robots.txt, and key security headers, then saves the evidence for your account.
+
+ SSRF-safe DNS + redirects
+ User-scoped Postgres
+ No LLM or secrets in browser
+
-
-
-
{session?.authenticated ? "Signed in" : needsSignIn ? "Signed out" : "Local session"}
-
{session?.user?.email || session?.org?.slug || "dev@example.local"}
- {/* Skills that spend the caller's LLM budget need a signed-in
- visitor even when the page itself is public, so offer the way in
- rather than failing at the first click. */}
- {needsSignIn && signInHref ? (
-
Sign in to run
+
+
+ Current report
+ {statusText(result)}
+ {result?.target_url || "Run or reopen a report to see categorized evidence and fixes."}
+ {result?.receipt ? (
+
+ Receipt persisted
+ {result.receipt.receipt_id}
+
) : null}
-
-
+
-
-
-
-
Skill runner
-
{selectedSkill?.name || "No skills found"}
-
-
- Docs
-
-
+
+ Readiness checks
+ {report ? (
+
+ ) : (
+ No checks yet.
+ )}
+
- {selectedSkill ? (
-
- ) : (
- Add a `@a2a.tool` to your agent to make it callable here.
- )}
+
+ Evidence
+ {report ? (
+
+ - Status
- {String(evidence.status_code || "n/a")}
+ - Final URL
- {evidence.final_url}
+ - Title
- {evidence.title || "Missing"}
+ - Description
- {evidence.description || "Missing"}
+ - Canonical
- {evidence.canonical || "Missing"}
+ - Viewport
- {evidence.viewport || "Missing"}
+ - Bytes read
- {evidence.bytes_read}
+
+ ) : (
+ Bounded audit evidence appears here after a run.
+ )}
+
-
-
-
Input schema
-
{JSON.stringify(selectedSkill?.input_schema || {}, null, 2)}
-
-
-
Result
-
{error || JSON.stringify(result, null, 2) || "No run yet."}
-
-
+
+ Recommended fixes
+ {report?.fixes?.length ? (
+
+ {report.fixes.slice(0, 8).map((fix, index) => (
+ -
+ {fix.priority}
+ {fix.category}
+
{fix.fix}
+
+ ))}
+
+ ) : report ? (
+ No fixes recommended for the audited checklist.
+ ) : (
+ Actionable fixes will be grouped by metadata, SEO, mobile, and security.
+ )}
+
);