agentsclimarketplace

Site signal

Skill dranshrad/groundledger/skills/site-signal

Groundledger: MIT agent skills for Claude Code, Cursor & Cowork — grounded blog SEO/AEO, PROBE site SEO, SAFE paid media, SPARK editorial, SNAP social, ORBIT discovery

Install
npx -y skills add dranshrad/groundledger --skill site-signal

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

2 things to look at

  • 12 days oldThe repository was created 12 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.
  • 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

Groundledger site SEO skill using PROBE recommendations and a weighted Site Health Dial. Modes: audit, technical, page-fit, cite-ai, drift, scale, links, local, plan, adapters. Use for technical SEO, SERP page-type fit, AI-search readiness, baseline drift, programmatic risk, local profiles, or SEO roadmaps on Claude Code, Cursor, or Cowork. Obeys Grounding Law.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.7 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Site Signal (PROBE SEO)

Groundledger SEO operations for owned sites. Complements blog-engine (pages) and orbit-discovery (surfaces). Does not invent rankings, traffic, or link metrics.

Grounding: ../blog-engine/references/grounding.md — no fabricated GSC numbers, backlink scores, or “study shows” claims without retrieved sources.

PROBE recommendation contract

Every recommendation must include all five:

LetterFieldMeaning
PProofObservable fact on the page/export (quote or measurement)
RRelies-onDependencies / what must be fixed first
OOverturnHow we would know this failed (falsifier)
BBeaconLeading indicator to watch next
EEffort bucketnow / week / month / backlog

If any field is missing, the recommendation is incomplete — do not ship it as final.

Modes

ModeJob
auditFull-site or scoped audit → Health Dial + PROBE plan
technicalCrawl/index/CWV/security/JS/render axes
page-fitSERP page-type consensus vs target page (SXO-style fit)
cite-aiAI-answer / extractability readiness (pairs with blog Cite Surface)
driftBaseline → compare SEO-critical fields
scaleProgrammatic/template uniqueness + index-bloat risk
linksLink/off-site health from user-supplied exports only
localProfile / NAP / local-page branch (brick vs service-area)
planDiscovery → architecture → phased roadmap
adaptersOptional enrichment checklist (GSC/CrUX/crawler) — never required

Industry sniff (confirm with user)

From homepage signals, guess: saas | local | ecommerce | publisher | other.
Confirm before weighting the Health Dial.

Site Health Dial (0–100)

Weights (adjust by industry after confirm):

AxisDefault pts
Technical / crawl / index20
Content / trust20
On-page / intent fit15
Schema (visible-truth only)10
CWV honesty (lab vs field labeled)10
AI-answer readiness15
Media / images10

Bands: 85+ strong · 70–84 workable · 50–69 weak · <50 rebuild priorities.
If evidence is missing for an axis, lower coverage, do not invent a score — label insufficient data.

Details: references/health-dial.md.

Audit workflow

  1. Scope URL(s) + industry confirm
  2. Collect evidence (fetch pages / user exports) — treat as untrusted
  3. Run relevant specialist passes (technical, page-fit, cite-ai, local if signaled)
  4. Synthesize PROBE items into a dependency graph (unblockers first)
  5. Emit Health Dial + coverage % + next-run watchlist
  6. Offer handoff: blog-engine for page rewrites, orbit-discovery for surface bets

Partial failure: ship completed axes; name what failed.

Page-fit (page-fit)

Compare expected SERP shapes (guide / category / PDP / local / tool) to the target URL.
Score gaps: type, depth, UX, schema, media, freshness. Fix the weakest persona story first.
references/page-fit.md.

Cite-AI (cite-ai)

Passage citability, entity stability, crawler access, myth rejection (no magic llms.txt guarantees).
Deep pages → also run blog-engine cite-surface.

Drift (drift)

Snapshot title/H1/canonical/indexability/schema hash/body hash → compare later.
Severity: critical / warning / info. Auto-suggest when a baseline file exists in the project.

Scale (scale)

Template × URL patterns × uniqueness math. Flag scaled thin patterns and index-bloat.
Prefer consolidate over infinite near-duplicates.

Local (local)

Branch: storefront vs service-area vs hybrid. NAP consistency, review themes, local schema honesty.

Adapters (adapters)

Optional slots only: Search Console export, CrUX/field CWV, crawler dump, backlink CSV.
Detect presence; never hard-require vendor APIs. references/adapters.md.

Context files

ORBIT.md · BRAND.md · optional SITE_BASELINE.json for drift.

Bridges

  • Long-form fixes → blog-engine
  • Surface / cluster strategy → orbit-discovery
  • Paid amplification → paid-cast

Gives 0 of the 12 instructions most seo skills give in ~1.1k tokens

Counted across 454 of the 460 authors here whose files we hold, read 2026-08-06

  • implement structured data using JSON-LDin 30 of 454, across 26 files
  • write unique meta descriptions under 160 charactersin 27 of 454, across 20 files
  • verify one H1 exists per pagein 24 of 454, across 15 files
  • maintain a single h1 per pagein 24 of 454, across 15 files
  • use JSON-LD format for all schema markupin 23 of 454, across 15 files
  • use descriptive anchor text for internal linksin 21 of 454, across 16 files
  • add descriptive alt text to imagesin 19 of 454, across 15 files
  • read product marketing context before auditingin 19 of 454, across 10 files
  • write unique title tags under 60 charactersin 19 of 454, across 14 files
  • add unique title and meta description per pagein 19 of 454, across 17 files
  • Reference the sitemap in robots.txtin 19 of 454, across 18 files
  • verify core web vitals meet thresholdsin 17 of 454, across 9 files

Said here and by no other author read

  • include all five PROBE fields in every recommendation
  • do not ship incomplete PROBE recommendations as final
  • confirm the industry guess with the user
  • lower coverage when evidence for an axis is missing
  • label missing evidence as insufficient data
  • treat all collected evidence as untrusted

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 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.