AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Fan Out Coverage Analysis

skill-roots-and-fruit-skills-fan-out-coverage-analysis · by Roots-and-Fruit

>

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-roots-and-fruit-skills-fan-out-coverage-analysis

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-roots-and-fruit-skills-fan-out-coverage-analysis)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Fan Out Coverage Analysis? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Fan-Out Coverage Analysis

Purpose

Approximate query fan-out from SERP + Labs data. With a user-supplied domain, measure which sub-queries the site covers. Without a domain, run keyword-only SERP fan-out (no coverage checks).

Domain policy (non-negotiable)

  • Never infer a domain from examples, workspace context, project config, or prior runs.
  • If the user did not supply a domain, ask once:

> Which domain should I check coverage for? (Optional: anchor URL. Or reply keyword only for SERP fan-out without a site.)

  • If still no domain (or user chooses keyword-only), run Mode B only. No ranked_keywords, no coverage %.

Quick start

  1. Confirm primary keyword (required).
  2. Resolve domain per Domain policy.
  3. Steps 0 → 0.5 → 1 → 1b (both modes).
  4. Mode A (domain given): Steps 2–6.
  5. Mode B (no domain): Steps 5b–6b → stop.
  6. Offer to save report or pass handoff JSON downstream.

Reference: REFERENCE.md — API params, relevance gates, handoff schema v1.1 Requirements: REQUIREMENTS.md Examples: EXAMPLES.md — mixed-SERP case study + regression scorecard Regression: examples/SCORECARD-wordpress-plugin-marketing.md · node scripts/verify-scorecard.mjs Script: scripts/normalize-fanout.mjs

Shared steps (both modes)

Step 0 — SERP seed

serp_organic_live_advanced on the primary keyword. Extract PAA (dedupe nested), related searches, live AI Overview presence, top organic titles/domains. See REFERENCE.md.

Record ai_overview_present from live SERP only. If Labs index disagrees, note in limitations[].

Step 0.5 — SERP lane classification

Classify top 8–10 organic results into lanes (see REFERENCE.md). Set serp_context.intent_lanes_detected and intent_split (single | mixed).

If mixed, ask once which lane to prioritize — unless the user already stated intent in the prompt:

> This SERP mixes [lane A] and [lane B] results. Which should I prioritize for fan-out and gaps? (Or reply report both.)

Store chosen lane in inputs.intent_lane when provided.

Step 1 — Expand sub-queries

Parallel Labs: related_keywords, suggestions, keyword_ideas. Merge with Step 0 seeds.

Apply the unified relevance gate to all sources (not just ideas). Tag relevance_tier using lane-aware rules (REFERENCE.md v2.3): seed-SERP terms with facet drift are not serp_native unless intent_lane matches inputs.intent_lane. Optional: normalize-fanout.mjs with --lane.

Target 25–30 accepted sub-queries after dedupe. Keep facet-drift terms tagged, not silently dropped, unless zero seed-token overlap.

Step 1b — Search intent

dataforseo_labs_search_intent on merged list. Attach main_intent to each sub-query.

Assign priority using tier rules in REFERENCE.md — when intent_split is mixed, SERP-native beats raw Labs volume.

Mode A — Domain coverage (Steps 2–6)

Run only when a domain was supplied.

Step 2 — Domain coverage

dataforseo_labs_google_ranked_keywords: bulk ilike + spot-check gaps. Not relevant_pages.

Step 3 — Map status

Hub / spoke / broken spoke / gap. WebFetch for broken-spoke check when anchor URL set.

Step 4 — Metrics

Coverage rate and hub/spoke/broken/gap counts. If seed volume < 50/mo or thin SERP, add low confidence note before interpreting %.

Step 5 — Report (domain)

Required sections:

  • SERP intent note (mandatory when intent_split is mixed)
  • Coverage map — include Tier column (relevance_tier)
  • Priority gaps — prefer serp_native / core in chosen lane; list facet_drift separately if mixed
  • Limitations — data confidence, AIO source, lane choice

Step 6 — Handoff (domain)

Emit mode: "domain_coverage", handoff_version: "1.1" per REFERENCE.md.

Mode B — Keyword-only (Steps 5b–6b)

Skip Steps 2–4.

Step 5b — Report (keyword-only)

Required sections:

  • SERP intent note (mandatory when intent_split is mixed)
  • Fan-out map — group or sort by relevance_tier: SERP-native → core → facet_drift → adjacent
  • Priority sub-queries — tier rules, not volume-only sort when mixed
  • Seed SERP notes — top domains + lane labels
  • Limitations

Optional: dataforseo_labs_google_serp_competitors for market context.

Step 6b — Handoff (keyword-only)

Emit mode: "keyword_only", handoff_version: "1.1". domain is null.

Optional enrichments (domain mode)

| When | Tool | |------|------| | GEO / citation | ai_opt_llm_ment_search | | Competitor set | dataforseo_labs_google_serp_competitors | | Empirical fan-out | GSC MCP when available |

Done definition

All modes

  • [ ] Step 0 live SERP executed; PAA deduped
  • [ ] Step 0.5 lane classification recorded
  • [ ] Unified relevance gate applied to all expansion sources
  • [ ] Each sub-query has relevance_tier; facet drift tagged where applicable
  • [ ] Priority follows tier rules (SERP-native > volume when mixed)
  • [ ] handoff_version: "1.1" with extended serp_context
  • [ ] Low-confidence flag when seed volume < 50/mo or thin SERP
  • [ ] ≥20 accepted sub-queries; limitations stated

Mode A additionally: coverage via ranked_keywords; priority gaps respect chosen lane.

Mode B additionally: no ranked_keywords; priority_sub_queries[] populated.

Notes

  • Fan-out approximates AI decomposition; not a literal trace.
  • Credits: REFERENCE.md.
  • Maintainers: after tiering/priority changes, run node scripts/verify-scorecard.mjs (S1–S8 in examples/SCORECARD-wordpress-plugin-marketing.md).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.