
browse-aeo
Score a page for how well AI answer engines can CITE it — Answer Engine Optimization, not classic rankings — by pulling structured data, meta, headings, and answer-shaped content via the browse CLI (schema/meta/headings/text) into a weighted 0-100 audit, plus a SERP mode that reads Google AI Overviews, Perplexity, and ChatGPT Search snapshots to see who actually gets cited. Never fabricates a score: an un-evaluable dimension is marked N/A, and "appears in AI Overviews" is asserted only after a real SERP check. Use to make a page answer-ready or to check its AI-answer visibility.
- Installs
- 110
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/ulpi-io/skills --skill browse-aeo- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads browse-aeo automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
browse-aeo: Answer Engine Optimization
Goal
Audit a page for AEO readiness or analyze how a query surfaces in AI-powered search. Two modes: Page Audit (analyze a URL) and SERP Analysis (analyze a search query).
Mode 1: Page Audit
Evaluate a single URL for AEO readiness. Run each step in order.
Step 1: Navigate and stabilize
browse goto <url>
browse wait --network-idle
Step 2: Extract structured data
browse schema
Analyze for: JSON-LD presence (critical for AEO), FAQPage schema (directly feeds AI answers), HowTo schema (surfaces in how-to answers), Article/NewsArticle/BlogPosting (attribution), Organization/Person (authority), Breadcrumb (hierarchy), QAPage (Q&A pairs). Empty or minimal structured data is a major AEO gap.
Step 3: Extract and evaluate meta tags
browse meta
Check: meta description (concise direct answer, under 160 chars -- AI uses this as candidate snippet), canonical URL (must be present), Open Graph tags (og:title, og:description), robots directives (noindex or nosnippet blocks AI citation entirely).
Step 4: Analyze heading hierarchy
browse headings
Evaluate: single H1 (clear topic statement), H2s as questions or clear topic labels (AI uses headings to find answer boundaries), question-format H2s ("What is X?", "How to Y?") are strongly preferred, logical nesting (no skipped levels).
Step 5: Analyze page content for answer patterns
browse text
Scan for: direct definitions in the first paragraph ("X is a..." -- AI favors concise leads), FAQ patterns (Q&A pairs even without schema), numbered/bulleted lists (AI prefers extractable structure), concise paragraphs (under 50 words are more likely cited), authority signals ("We tested...", "In our experience..." -- original research language).
Step 6: Produce the AEO audit report
Score the page on a 0-100 scale across these dimensions:
| Dimension | Weight | What to check |
|---|---|---|
| Structured Data | 25% | JSON-LD presence, FAQ/HowTo/Article schema, completeness |
| Meta Quality | 15% | Description as answer snippet, canonical, no blocking robots |
| Heading Structure | 20% | Single H1, question-format H2s, logical nesting |
| Answer Readiness | 25% | Direct definitions, FAQ patterns, concise paragraphs, lists |
| Authority Signals | 15% | Organization schema, author markup, original research language |
Report: overall score out of 100, per-dimension score with findings and recommendations, then the top 3 highest-impact actions.
Mode 2: SERP Analysis
Check how a query appears in AI-powered search results.
Step 1: Google search with AI Overview detection
browse goto "https://www.google.com/search?q=<url-encoded-query>"
browse wait --network-idle
browse snapshot -i
Read the snapshot to identify: AI Overview (generative answer block, note cited domains), Featured Snippet (boxed answer, note source domain), People Also Ask (expandable questions -- these are AEO targets), organic position of target domain.
If Google blocks the request, retry with camoufox:
browse --runtime camoufox --headed goto "https://www.google.com/search?q=<url-encoded-query>"
browse --runtime camoufox --headed snapshot -i
Step 2: Perplexity analysis (camoufox recommended)
Perplexity has bot detection. Use camoufox:
browse --runtime camoufox --headed goto "https://www.perplexity.ai/search?q=<url-encoded-query>"
browse --runtime camoufox --headed wait --network-idle
browse --runtime camoufox --headed snapshot -i
Read the snapshot to identify: cited source domains (numbered citations), answer structure (paragraphs, lists, tables), citation density. If Perplexity blocks, note it in the report and skip.
Step 3: Produce the SERP analysis report
Report: for each engine (Google, Perplexity), list AI Overview presence, cited domains, featured snippet source, People Also Ask questions, and target domain position. End with observations on what content types are being cited and specific actions to improve citation likelihood.
Key Rules
- Always wait after navigation --
browse wait --network-idlebefore extracting content. - Use camoufox for search engines -- Google and Perplexity actively block headless browsers. Fall back to
--runtime camoufox --headedwhen blocked. - Agent interprets snapshots -- there is no magic SERP parser. The agent reads
browse snapshot -ioutput and identifies AI Overview elements, citations, and People Also Ask by reading the accessibility tree. - Structured data is the top signal -- JSON-LD FAQ and HowTo schemas are the single most impactful AEO lever. Always check this first.
- Do not fabricate scores -- if a dimension cannot be evaluated (e.g., page is behind a login wall), mark it as "N/A" and explain why.
- Keep recommendations actionable -- "Add FAQ schema" is good. "Improve SEO" is not.
Guardrails
- Do not add
disable-model-invocation; this is a general-purpose audit skill. - Do not add
context: fork; audit results are needed in the current flow. - Do not run
browse handoffwithout explicit user confirmation. - Do not guess SERP structure -- always take a snapshot and read it.
- Do not claim a page "appears in AI Overviews" without actually checking via SERP analysis.
Output Contract
Report:
- the mode used (Page Audit or SERP Analysis)
- the URL audited or query analyzed
- findings per dimension with specific evidence
- actionable recommendations ranked by impact
- any blockers encountered (bot detection, login walls, empty results)
FAQ
What does the browse-aeo skill do?
Score a page for how well AI answer engines can CITE it — Answer Engine Optimization, not classic rankings — by pulling structured data, meta, headings, and answer-shaped content via the browse CLI (schema/meta/headings/text) into a weighted 0-100 audit, plus a SERP mode that reads Google AI Overviews, Perplexity, and ChatGPT Search snapshots to see who actually gets cited. Never fabricates a score: an un-evaluable dimension is marked N/A, and "appears in AI Overviews" is asserted only after a real SERP check. Use to make a page answer-ready or to check its AI-answer visibility.
How do I install browse-aeo?
Run npx skills add https://github.com/ulpi-io/skills --skill browse-aeo in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/browse-aeo/ (personal) or .claude/skills/browse-aeo/ (project).
Which AI agents can use browse-aeo?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is browse-aeo safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains browse-aeo?
It is published by ulpi-io in ulpi-io/skills. It has 110 recorded installs.
More from ulpi-io/skills
frontend-design-ui-ux
ulpi-io/skills
Produce a distinctive, LOCKED design language plus an implementation-ready UX/UI spec, written to .ulpi/design/: a per-brief visual identity (palette, type, signature), the design system to build on, user flows and states, component briefs, and accessibility constraints. Commits to a bold aesthetic direction, bans AI-slop by name, and locks the identity so every screen and future session stays consistent. Can visit inspiration links with the browse skill to extract real design DNA. Ends with a build handoff that a delegated engineering agent implements — a DESIGN-SPEC skill that produces the spec, never production UI code. Use for new features, redesigns, or design-system work where the build should follow a locked spec.
laravel-filament
ulpi-io/skills
Open the skill to read its SKILL.md instructions.
git-merge-expert
ulpi-io/skills
Open the skill to read its SKILL.md instructions.
Popular security skills
azure-compliance
microsoft/azure-skills
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
minimal-run-and-audit
lllllllama/rigorpilot-skills
Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized reprooutputs/ files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.
seo-audit
coreyhaines31/marketingskills
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "stuck on page 2," "striking distance keywords," "title tag rewrite," "low CTR," "local SEO," "Google Business Profile," or "map pack." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.
firebase-security-rules-auditor
firebase/agent-skills
Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.
audit
pbakaus/impeccable
Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.
competitors
coreyhaines31/marketingskills
When the user wants to create competitor comparison or alternative pages for SEO and buyer-facing use. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'competitor teardown,' 'audit our competitor pages,' 'are our comparison pages out of date,' or 'competitive asset audit.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For auditing existing claims (not researching competitors from scratch, which is competitor-profiling; not technical SEO on these pages, which is seo-audit), use the asset audit here. For internal battle cards and sales-specific competitor docs, see sales-enablement.