landing-page-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited landing-page-review (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Analyze a landing page for conversion optimization — messaging, layout, trust signals, and CTA effectiveness.
/landing-page-review example.com/pricing — review the given page
The review runs on the public page with zero accounts. Connected analytics turn opinions into measured problems.
| Job | Primary | Also answers it | No account |
|---|---|---|---|
| Conversion rate of this page, by device and source | GA4 (tool_run_report) | Plausible (breakdown, query) | — (score from heuristics) |
| Where visitors get stuck (scroll, rage/dead clicks, quickbacks) | Microsoft Clarity (get_live_insights) | — | — |
| What was already A/B tested here | GrowthBook (list_experiments, get_experiment_results) | — | Ask the user |
If GA4 and Plausible are both connected, show both rates side by side; they count sessions and visitors differently.
Use WebFetch to load the URL. Extract:
Score each element:
Look for:
If there's a form:
From the fetched HTML you can check:
curl -sL <url> | grep -i 'name="viewport"'; WebFetch can't see <head>)Touch target sizes and whether the CTA sits above the fold need a rendered page. WebFetch and curl can't measure them. Run the URL through PageSpeed Insights (https://pagespeed.web.dev, Lighthouse flags "Touch targets" / "tap targets"), or open it in a browser's device mode at 375px wide. If neither is possible, mark both "not measured (needs a browser)" instead of scoring them.
Step 7 scores load speed, so measure it rather than guess:
curl -sL -o /dev/null -w "ttfb=%{time_starttransfer}s total=%{time_total}s html=%{size_download}B redirects=%{num_redirects}\n" "<url>"
# Rough page weight: HTML + the scripts, styles and images it references
curl -sL "<url>" | grep -oE '(src|href)="[^"]+\.(js|css|png|jpe?g|webp|avif|svg)[^"]*"' | head -40Fetch the largest few assets with the same -w "%{size_download}" call and sum them. Report "TTFB X s, HTML Y KB, ~Z KB total across N requests (curl, no JS execution)". Over 1 s TTFB or ~3 MB total weight costs load-speed points. For field data (real users), use /cwv-audit.
If Cogny isn't connected, skip this and note what connecting adds: real conversion rates by device and source (GA4/Plausible), where visitors get stuck (Clarity), and what was already tested (GrowthBook).
Call mcp__cogny__list_integrations once and skip whatever isn't connected.
mcp__cogny__mcp__Google_Analytics_4__tool_run_report with property_id, date_ranges (last 28 days), dimensions: ["landingPagePlusQueryString", "deviceCategory", "sessionSourceMedium"], metrics: ["sessions", "engagementRate", "keyEvents", "sessionKeyEventRate"], filtered to the page path. Check tool_list_conversion_events so you know which key events count.mcp__cogny__mcp__Plausible__breakdown (site_id, dimension: "visit:entry_page", metrics: ["visitors", "bounce_rate", "conversion_rate"], date_range: "30d"). Conversion rate needs a goal filter, e.g. filters: [["is", "event:goal", ["Signup"]]].mcp__cogny__mcp__Microsoft_Clarity__get_api_quota first (10 requests/day), then get_live_insights with num_of_days: 3, dimensions: ["URL", "Device"], metrics: ["Scroll Depth", "Rage Click Count", "Dead Click Count", "Quickback Click"]. Dead clicks on a non-link element or a scroll depth that ends above the CTA are direct evidence for a top-5 change. Heatmaps and recordings aren't in the API; tell the user where to look in Clarity.mcp__cogny__mcp__GrowthBook__list_experiments, then get_experiment_results for any experiment on this page. Don't recommend a variant that already lost.Mobile vs desktop gaps from this data take priority over heuristic scores in step 7.
WebSearch for 2-3 competitors and briefly compare:
Landing Page Review: [URL]
Conversion Score: X/100
Messaging: X/30
- Headline: [score] — [specific feedback]
- Value prop: [score] — [specific feedback]
- CTA: [score] — [specific feedback]
Trust: X/30
- Social proof: [score]
- Credibility signals: [score]
- Transparency: [score]
UX: X/20
- Form friction: [score]
- Mobile: [score]
- Load speed: [score] — TTFB [X]s, ~[Y] KB, [N] requests (curl)
Differentiation: X/20
- vs [Competitor 1]: [comparison]
- vs [Competitor 2]: [comparison]
Measured (if connected; name the source on every number):
[If nothing is connected: "Measured: not connected. Connecting GA4/Plausible, Clarity or GrowthBook adds real conversion rates, friction data and past test results."]
- Conversion rate: [X]% desktop / [Y]% mobile (GA4 or Plausible)
- Clarity: [N] rage clicks, [N] dead clicks on [element], avg scroll depth [X]%
- Already tested: [experiment, result] (GrowthBook)
Top 5 Changes (in priority order):
1. [Specific change with expected impact]
2. ...
3. ...
4. ...
5. ...~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.