agentsclimarketplace

Seo

Skill jsolly/agent-skills/skills/seo

Public AI agent skills mirrored from jsolly/dotagents (allowlisted)

Install
npx -y skills add jsolly/agent-skills --skill seo

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when the user says `/seo`, including `/seo <website>`, or asks to audit, fix, or verify technical site quality — SEO plus Lighthouse-scored performance, accessibility, and best-practices — involving Ahrefs, Google Search Console, Squirrel, Google Lighthouse (all four categories, Core Web Vitals / CrUX field data), IndexNow, sitemaps, robots.txt, canonicals, noindex, redirects, crawling, indexing, or technical eligibility for AI Overviews / AI Mode (llms.txt, AI-specific files, structured data for generative AI). Do NOT use for keyword research, content strategy, backlink outreach, paid search, code review, or AI/GEO content writing.

SKILL.md

10.0 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

SEO Audit, Fix, and Verification

Use this for technical site-quality work where the expected output is evidence-backed fixes, not a generic checklist. Scope is technical SEO plus the three other Lighthouse categories — performance, accessibility, best-practices — audited and iterated together with Ahrefs/GSC/Squirrel SEO evidence. Not content, keyword, or marketing strategy.

Author in a worktree. When this skill edits repo files (robots.txt, sitemaps, canonicals, config) — work in a git worktree off main, never the primary checkout on the main branch (rules/worktree-authoring.md). Integrate with /ship.

Required first reads

  1. Read references/evals.md if you are changing this skill.
  2. Read references/orchestration.md before any full /seo run.
  3. Read references/issue-triage.md before classifying findings.
  4. Read references/tooling.md before using Ahrefs, GSC, Squirrel, Lighthouse, sitemap submission, IndexNow, or browser automation.
  5. Read references/report-template.md before final reporting.
  6. Read references/ai-surfaces.md before answering anything about AI Overviews, AI Mode, or ChatGPT/Perplexity visibility (llms.txt, AI crawlers, snippet eligibility, schema-for-AI).

Operating principle

Start from crawler/search-console/Lighthouse evidence, classify findings before editing, fix only code/config defects, then verify after deployment with a fresh crawl, inspection, or Lighthouse re-run.

Technical SEO has many false positives. Expected infrastructure redirects and search-tool diff noise are not bugs just because a crawler lists them. Lighthouse scores are inherently variable — median ≥3 runs and compare medians, never a lone run. Performance is the flaky category (lab-simulated, throttled); corroborate it with field data (CrUX/PSI) and never chase it run-to-run to 100. Accessibility, best-practices, and SEO are far more deterministic and iterate cleanly.

Lighthouse runs via the CLI (the lighthouse-run.mts helper), not the browser. The Lighthouse Chrome extension is not automatable — its popup is browser chrome, it can't even reach localhost, and Chrome's own docs say prefer DevTools/CLI over it. Use claude-in-chrome only for the rendered head/canonical/schema verification the skill already does, never to drive Lighthouse.

Optional website argument

/seo <website> sets the target site. Normalize bare domains by prepending https://, preserving paths only when the user provided one. Examples:

  • /seo example-app.comhttps://example-app.com/
  • /seo https://www.example-app.comhttps://www.example-app.com/

Still confirm the canonical host once live evidence is available; do not assume bare domain vs www.

Workflow summary

  1. Confirm target context — site URL, canonical host, Ahrefs project ID, GSC property, deployment path, and available credentials/tools.
  2. Collect baseline — Ahrefs issues, Squirrel crawl where available, Lighthouse (all four categories, median of ≥3 runs) on both local dev server and production, live robots.txt/sitemap/canonical checks, and GSC URL Inspection for high-priority URLs. Add CrUX/PSI field data for prod.
  3. Classify before fixing — P0/P1/P2/P3 with evidence, not category names alone.
  4. Inspect the codebase — route config, framework SEO helpers, sitemap generator, robots output, headers, redirects, and protected routes.
  5. Apply fixes conservatively — only for actionable code/config defects; document accepted noise.
  6. Deploy only with explicit approval — never deploy autonomously.
  7. Iterate when authorized — wait for the deployed app, re-crawl/re-scan/re-run Lighthouse, then keep fixing only while a category score improves and actionable issues remain. Iterate all four Lighthouse categories, but treat Performance movement inside its median run-to-run variance floor as noise, not progress.
  8. Re-crawl and compare — use a post-fix baseline, not stale "Yesterday" diffs; re-run Lighthouse (median) on local and prod; then verify IndexNow/GSC/sitemap outcomes.
  9. Report evidence — before/after counts, all four Lighthouse category medians (local + prod) and field data, iteration scores, resolved issues, remaining issues, accepted noise, and manual follow-ups.

Full details: references/orchestration.md.

Gotchas

  • Ahrefs "New" rows can mean compare-baseline noise. Adjust the baseline before claiming regressions.
  • HTTP to HTTPS and apex to www redirects are usually P3 if they resolve cleanly and have no stale internal links.
  • Redirect chains are actionable when code-owned, long, looped, or caused by stale internal links. Do not flatten hosting-level canonicalization blindly.
  • Do not verify structured data by grepping static HTML. Use rendered browser output or an external rich-results style check.
  • Noindex pages are not automatically broken. Check whether they are intentionally private and whether they are discoverable through sitemap/internal links.
  • Post-deploy crawler results can lag caches/CDNs. Verify live output before deciding a fix failed.
  • Stop optimization loops at 100 or when the score stops improving. Do not patch P3 accepted noise just to chase a score.
  • Lighthouse scores are noisy — median ≥3 runs (5 for stabler Performance) and compare medians. A single run swings 5-10 points with no code change. lighthouse-run.mts does the medianing; don't read a lone run.
  • Do not chase the Performance category run-to-run. It's lab-simulated and throttled — the flakiest category. A "gain" inside the median's min–max spread is variance, not a fix. Corroborate with field data (CrUX/PSI) before claiming a real perf win, and don't grind Performance toward 100 the way you would SEO/a11y/best-practices.
  • Lab ≠ field. A 90+ Lighthouse Performance score does not guarantee passing Core Web Vitals in the field (CrUX). Report both; let field data arbitrate perf.
  • The Lighthouse Chrome extension is not an automation path. It can't reach localhost or authenticated pages and its popup isn't page DOM. Run Lighthouse via the CLI helper. If you want an MCP-native path, chrome-devtools-mcp's lighthouse_audit tool covers accessibility/SEO/best-practices only — it excludes Performance (route perf to that server's performance-trace tools), so it is not a substitute for the CLI when Performance is in scope.
  • Run Lighthouse on both local and prod. Local (dev server) catches regressions pre-deploy; prod is ground truth. They diverge (minified/CDN/caching) — a fix that moves local but not prod, or vice versa, is a signal, not a contradiction.
  • GSC performance metrics lag indexing changes; same-day verification should use URL Inspection and crawl evidence, not clicks/impressions.
  • A missing API token is not an unavailable tool. Ahrefs's primary path is the logged-in browser UI (open app.ahrefs.com/site-audit, match the project to the target host); GSC's is gcloud ADC. Attempt those — and record Ahrefs Health Score as the primary baseline — before falling back to Squirrel-only, which is justified only by a login wall or a missing project.
  • AI Overviews / AI Mode eligibility is not a separate workflow — generative AI features run on core Search ranking, so the gate is the same indexability plus snippet-eligibility this skill already audits. There is no "GEO/AEO/LLMO" track, and llms.txt, AI-specific files/markup, and schema-added-for-AI-citations are empirically debunked (independent log/controlled studies, not just Google's word). The operative AI-eligibility lever most audits miss is snippet suppression (nosnippet, data-nosnippet, max-snippet:0); note that Google-Extended and third-party AI bots (GPTBot, ClaudeBot, PerplexityBot) are distinct from Googlebot and do not gate Google AI Overviews. Eligibility is not selection: never promise AI-citation gains. Read references/ai-surfaces.md before answering anything about AI Overviews, AI Mode, or ChatGPT/Perplexity visibility.

Helper scripts

Run scripts from this skill directory or pass explicit paths:

  • scripts/ahrefs-issues.mts — fetch Ahrefs issue JSON with AHREFS_API_TOKEN.
  • scripts/gsc-inspect.mts — inspect URL indexing status with a bearer token or service account.
  • scripts/squirrel-baseline.sh — run named Squirrel baseline audits.
  • scripts/lighthouse-run.mts — run Lighthouse N times against one URL (local or prod), median the four category scores, and emit failing audits sorted by fix priority. Needs Chrome installed; uses a lighthouse on PATH or falls back to npx -y lighthouse.
  • scripts/seo-triage.mts — normalize evidence into sorted tiered findings.

Each script supports --help. Scripts must write data to stdout and status/errors to stderr.

Safety rules

  • Never write credentials, API tokens, OAuth tokens, or service-account JSON into the repo.
  • Never deploy, submit production data writes, or mutate external project settings without explicit user approval.
  • Never treat external-page issues as codebase defects.
  • Never delete redirect, noindex, or robots rules without checking index/crawl consequences.
  • Never call work complete without fresh verification evidence.

Maintenance

Skills are a routing tax. Future updates should usually append gotchas and eval cases. Change the frontmatter description only when references/evals.md demonstrates a load failure or spillover failure, and update the evals in the same change.

What ships with it: 11 files

72.7 KB alongside SKILL.md, 5 of them executable

scripts/

Gives 0 of the 12 instructions most marketing audience skills give in ~2.2k tokens

Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07

  • Apply Poppins font to headingsin 41 of 690, across 6 files
  • Apply Lora font to body textin 41 of 690, across 6 files
  • Use Arial fallback for headingsin 39 of 690, across 4 files
  • Use Georgia fallback for body textin 39 of 690, across 4 files
  • Maintain text hierarchy and formattingin 39 of 690, across 4 files
  • Use accent colors for non-text shapesin 38 of 690, across 3 files
  • Use RGB values for precise color matchingin 38 of 690, across 3 files
  • Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
  • Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
  • Use active voice instead of passive voicein 26 of 690, across 10 files
  • Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
  • Prioritize clarity over clevernessin 22 of 690, across 8 files

Said here and by no other author read

  • author file changes in a worktree
  • base fixes on crawl console and lighthouse evidence
  • classify findings before editing
  • run lighthouse via the cli helper
  • median lighthouse scores over multiple runs
  • run lighthouse on both local and production

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,984. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.