Перейти к основному содержимому

Перевод: оболочка страницы на русском; тело навыка (SKILL.md) пока на английском — это исходные инструкции агента.

Site Page Analyze

Extract page SEO and DOM signals into a report.

Метаданные навыка​

ИсточникВстроенный (установлен по умолчанию)
Путьskills/web-development/site-page-analyze
Версия1.0.0
АвторVibeOS
ЛицензияMIT
Платформыlinux, macos, windows
Тегиbrowser, seo, accessibility, dom, audit, web
Связанные навыкиbrowser-e2e, browser-network-assert, dogfood, site-map-crawl, cinematic-web

Справка: полный SKILL.md​

к сведению

Ниже полное определение навыка, которое VibeOS загружает при активации. Это инструкции, которые видит агент.

Site Page Analyze

Recipe for inspecting a live page (or offline HTML/DOM dump) and producing a structured SEO/DOM report. No new core tools — navigate with the browser toolset, extract via script or browser_console, then merge into page-report.json + page-report.md.

When to Use​

  • Audit title, meta, headings, canonical, and link mix on a URL
  • Capture landmarks / image alt gaps before a content or a11y pass
  • Offline review of saved HTML or a prior DOM dump JSON
  • Alongside browser-e2e / dogfood when a page-level inventory is needed
  • For multi-page architecture maps, use site-map-crawl first, then analyze a shortlist of URLs here

Prerequisites​

  • Browser toolset available for live mode (browser_navigate, browser_snapshot, browser_console; optional browser_vision)
  • Or offline: HTML file and/or DOM dump JSON for the Python extract script
  • Write access for report outputs in the working directory

How to Run​

Live (preferred):

  1. browser_navigate → target URL; wait for settle on heavy SPAs.
  2. browser_snapshot — confirm the page rendered (title/H1 visible).
  3. Extract DOM signals — either:
    • Save page HTML (or paste the console dump) and run scripts/extract_page_structure.py --html … / --json …, or
    • browser_console with expression = contents of references/dom-extract-snippet.js (IIFE returns a plain object), then pipe JSON into the same script via --stdin.
  4. Optional: browser_vision for above-the-fold sanity; note console errors.
  5. Optional content body: web_extract on the same URL if you need article text beyond structure signals.
  6. Merge extract + notes into page-report.json, then fill templates/page-report.md → page-report.md.

Offline:

  1. Feed a local HTML file and/or DOM dump JSON into the Python extract script (same schema as the JS snippet).
  2. Skip browser tools; still write page-report.json + page-report.md.

If paths are unknown: search_files for site-page-analyze/.

Quick Reference​

ArtifactRole
references/dom-extract-snippet.jsConsole-safe DOM extract object
scripts/ extract (Python)Live HTML or offline HTML/JSON → JSON
templates/page-report.mdHuman report placeholders
page-report.jsonMachine-readable merge result
page-report.mdFilled human summary
Field groupSource
url, title, meta, canonical, langextract
headings / h1, links, images, landmarksextract
console_errors, notes, analyzed_atagent merge

Procedure​

  1. Choose live vs offline; record analyzed_at (ISO UTC).
  2. Live: navigate → snapshot → extract (script or browser_console snippet).
  3. Offline: pass HTML file and/or DOM dump JSON into the Python extract script; do not invent fields the dump lacks.
  4. Cap-aware: trust extract truncations (text ≤200 chars, arrays ≤200 items).
  5. Count internal vs external links from extract (internal = same origin).
  6. Merge into page-report.json (extract + console_errors + notes).
  7. Render templates/page-report.md placeholders → page-report.md.
  8. Report paths and any blockers (auth wall, empty DOM, extract failure).

Pitfalls​

  • Zero new core tools — do not ask for a dedicated page-audit tool.
  • Prefer browser_navigate / snapshot / console / web_extract; do not shell grep/cat page HTML as the primary path.
  • Auth walls and CAPTCHAs: stop and ask; do not brute-force.
  • SPAs: snapshot too early → empty headings; wait, then re-extract.
  • Offline mode only knows what is in the HTML/JSON dump — no live console.

Verification​

  • page-report.json exists and includes url, title, headings, link counts.
  • page-report.md has filled {{…}} placeholders (no raw braces left for known fields).
  • Live run: snapshot showed content before extract; optional vision matches H1.
  • Offline run: extract exits 0 on the provided HTML/JSON without browser calls.

Live smoke​

Hermetic check (no external network): serve a local fixture with python3 -m http.server PORT --bind 127.0.0.1 from skills/web-development/site-map-crawl/fixtures/site, then:

vibeos web analyze http://127.0.0.1:PORT/index.html --out page-report.json

Automated: scripts/run_tests.sh tests/skills/test_web_live_smoke.py -q.