seo-rendering — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited seo-rendering (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.
Most AI crawlers do not execute JavaScript, so content that only exists after hydration is invisible to them — CSR-only is a hard AI gate. JS dependency also delays first paint; see references/cwv-thresholds.md for how this feeds LCP/INP.
Working from the PageSnapshot (rendered_dom if present, else raw_html) and the raw HTML the server first returned:
raw_html vs rendered_dom — measure the share of primary text, internal links, headings (h1–h3), and <script type="application/ld+json"> blocks that appear only after JavaScript runs.__NEXT_DATA__, hydration markers, data-reactroot, build manifests).rendered_dom, flag the page as not reliably consumable by non-JS AI crawlers.Rendering strategy is a framework/architecture decision with high breakage risk, so M4 is ADVISORY only — it diagnoses and prioritizes, it never auto-edits build/server code.
generateStaticParams + revalidate; Nuxt/Astro/SvelteKit equivalents).revalidate interval or assert a strategy choice. Every finding carries fixable: advisory.render_diff: compute the content-delta ratio of raw_html vs rendered_dom (primary text / links / headings / JSON-LD present in rendered but absent in raw). A high delta on primary content confirms the JS dependency.rendered_dom requires a headless-browser data tier. When that tier is unavailable, status is needs_api — never a false pass.Emit findings per schema/finding.schema.json. Examples:
M4.render.csr_only_primary_content — h1 and body text exist only in rendered_dom, raw HTML is an empty shell (status fail, severity 5, axis both, fixable: advisory, confidence established).M4.render.jsonld_js_injected — JSON-LD blocks present only after hydration, so non-JS crawlers see no structured data (status warn, severity 4, axis ai, fixable: advisory, confidence established).M4.render.lazy_main_content — primary content loads only on scroll/interaction (status warn, severity 4, axis both, fixable: advisory, confidence directional).Each finding: evidence.observed quotes the raw vs rendered delta on the page; verification.reproduce is a runnable render_diff assertion; expected_impact is banded + confidence-tagged (no naked %).
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.