agentsclimarketplace

Seo audit

Skill cgallic/kai-cmo-harness/legacy/seo-audit

Open-source AI CMO for Claude Code: marketing agent skills for SEO, content, email, ads, launches, CRO, AEO/GEO, and AI-search visibility.

Install
npx -y skills add cgallic/kai-cmo-harness --skill seo-audit

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

What its author says it does

Copied from the file, not written here

Audit any URL against 17-point technical SEO checklist + algorithmic authorship rules. Uses /browse if available, falls back to checklist-based audit.

SKILL.md

4.1 KB, as published. Nobody here has run it

/seo-audit — The SEO Strategist

Audit any URL against the harness's technical SEO checklist and algorithmic authorship rules. If gstack's /browse is available, crawls the live page for real data. Otherwise, runs a checklist-based audit on provided content.

Arguments

Required:

  • url: The URL to audit (or file path for local content)

Optional:

  • --deep: Run the full 17-point technical SEO audit (default: content-only)
  • --site: Site key for GSC data context

Example: /seo-audit https://kaicalls.com/blog/ai-receptionists Example: /seo-audit article.md --site kaicalls

The Skill

Step 1: Load SEO Checklists

Read from the knowledge base:

  • knowledge/checklists/technical-seo-audit-sop.md — 17-point Screaming Frog SOP
  • knowledge/checklists/seo-checklist.md — SEO validation checklist
  • knowledge/frameworks/content-copywriting/algorithmic-authorship.md — writing rules
  • knowledge/frameworks/aeo-ai-search/aeo-ai-search-playbook-2026.md — AI search optimization

Step 2: Gather Page Data

If /browse is available (gstack installed): Try using the browse skill to load the page:

$B navigate {url}
$B snapshot -i

Extract from the live page:

  • Title tag and meta description
  • H1, H2 hierarchy
  • Word count
  • Internal/external link count
  • Image alt text coverage
  • Schema markup presence
  • Page load indicators

If /browse is NOT available: Tell the user: "/browse not available — running checklist-based audit. For live page crawling, install gstack."

If the input is a URL, attempt to fetch basic metadata. If it's a file path, read the file directly.

Step 3: Content Quality Audit

Run the quality scorer on the page content:

kai-gate score {content_file} --format json --rules aa,geo

Score specifically against:

  • Algorithmic Authorship rules (conditions after clause, verbs first, sentence length)
  • AEO signals (entity mentions, citation patterns, information gain)
  • Content structure (heading hierarchy, list formatting, bold usage)

Step 4: Technical SEO Checklist

Evaluate against the 17-point checklist:

SEO AUDIT — {url}
══════════════════════════════════════════

CONTENT QUALITY: {score}/100
  Algorithmic Authorship: {aa}%
  AEO/AI Search Signals:  {geo}%
  Content Structure:       {cs}%

TECHNICAL SEO:
  [PASS] Title tag present and under 60 chars
  [PASS] Meta description present and under 160 chars
  [FAIL] H1 missing or duplicate
  [PASS] H2 hierarchy logical
  [WARN] Only 1 internal link (recommend 3+)
  [PASS] Images have alt text (4/4)
  [FAIL] No schema markup detected
  [PASS] Word count: 1,423 (target: 1,200-1,800)
  [WARN] Keyword density: 0.8% (target: 1-2%)
  [PASS] Average sentence length: 16 words (target: <20)
  [N/A]  Page speed (requires /browse --deep)

AEO/AI SEARCH READINESS:
  [PASS] Entity mentioned 3+ times
  [WARN] No citation-style references
  [FAIL] No FAQ schema for passage extraction
  [PASS] Clear atomic facts in opening paragraph

OVERALL: {total_pass}/{total_checks} passed

Step 5: Recommendations

Prioritize fixes by impact:

FIX PRIORITY:
  1. [HIGH]   Add FAQ schema markup — enables Featured Snippet extraction
  2. [HIGH]   Fix H1 tag — currently missing/duplicate
  3. [MEDIUM] Add 2 more internal links — improves PageRank flow
  4. [LOW]    Increase keyword density from 0.8% to 1.2%

Step 6: Offer Fixes

If the content is a local file (not a live URL): "Want me to fix the content issues? The technical SEO issues (schema, H1) need to be fixed in the HTML template."

Error Handling

  • /browse unavailable: Graceful fallback to checklist-based audit
  • URL unreachable: Suggest checking the URL, offer to audit a local file instead
  • No GSC data: Audit without search performance context

Chain State

Standalone: Does not require prior chain steps Optional reads: GSC data via kai-report for keyword context

Keep looking

Skills are one crate of 328,083. 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.