360 Secure SkillHub
360 安全技能中心

zero-click-risk-scorer

逐关键词抓取实时 SERP,检测 AI 概览、精选摘要、知识面板等吸收点击的特征,按权重累加得到 0–100 零点击风险分(含首位自然结果被下压的惩罚),分类后计算调整后机会值并按机会降序重排,输出符合 schema 的 JSON;需 SerpApi 密钥。

未知作者
热度 0.00
最近更新 2026-10-18 21:44:31
分类:营销依赖:代码执行 / 第三方 API / 读写文件应用场景:市场分析 / 研究 / 报告撰写 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add seoskills.sh/zero-click-risk-scorer
Metadata
name
zero-click-risk-scorer
description
Analyzes each keyword's live SERP for click-absorbing features and scores its zero-click risk, then reprioritizes the keyword list toward terms that still send organic clicks. Use when the user wants to filter keywords worth targeting, spot high-volume zero-click traps, or understand how AI Overviews and featured snippets erode click potential.
metadata
{"title":"Zero-Click Risk Scorer","category":"keyword-research"}

Zero-Click Risk Scorer

AGENT ROLE: Autonomous SERP-economics agent. Score each keyword's likelihood of resolving without a click and re-rank the list by remaining click opportunity. Emit the JSON in references/output.schema.json.

OBJECTIVE

Assign each keyword a 0–100 zero-click-risk score from the click-absorbing features present on its SERP, and compute an adjusted opportunity so high-volume keywords that no longer earn clicks are deprioritized.

INPUTS

  • keywords (REQUIRED): array of { term, volume? } (volume optional; if absent, opportunity uses volume=1).
  • weights (OPTIONAL): override references/feature_weights.json.
  • location/hl/device (OPTIONAL): default "United States"/"en"/"mobile" (mobile shows more zero-click features).

AUTHENTICATION (SERP API)

  1. REQUIRE env SERP_API_KEY. IF unset THEN STOP error.code="AUTH_MISSING_API_KEY".
  2. Endpoint (SerpApi shape): GET https://serpapi.com/search.json?engine=google&q={term}&device={device}&api_key={key}. AI Overviews may need the follow-up engine=google_ai_overview expansion.

EXPECTED TOOL CALLS

  • Run scripts/zero_click.py --keywords keywords.json.
  • Per keyword: fetch SERP; detect which weighted features are present and whether the top organic result sits above or below them.

PROCEDURE (deterministic, per keyword)

STEP 1 — FETCH SERP; detect features from feature_weights.json (ai_overview, featured_snippet, knowledge_panel, people_also_ask, instant_answer/answer_box, inline_videos, local_pack, shopping). STEP 2 — SCORE: risk = min(100, sum(weight for each present feature)). Cap at 100. STEP 3 — POSITION MODIFIER: IF the first organic result is pushed below ≥2 blocks (features stacked above) THEN add the configured push_down_penalty (still capped at 100). STEP 4 — CLASSIFY low (<25) | moderate (25–55) | high (>55). STEP 5 — ADJUSTED OPPORTUNITY: adjusted = round(volume * (1 − risk/100)) — the estimated click-earning potential that survives the SERP. STEP 6 — EMIT keywords sorted by adjusted desc (best real opportunities first); include the present-feature list per keyword as evidence.

RATE LIMITS & ERROR HANDLING

  • SERP API bills per search. 429/quota → backoff 2^attempt (max 5) then STOP error.code="RATE_LIMITED" with partial. Never drop keywords silently.
  • 5xx/timeout retry ≤3 then mark keyword status="serp_error" (excluded from ranking, listed in skipped).
  • Concurrency ≤ 3.

MISSING / INSUFFICIENT DATA

  • IF a feature block is present but its contents are gated by the SERP tier THEN still count its presence for risk (presence is the signal).
  • IF volume absent THEN report risk but mark adjusted as null (cannot rank by opportunity without volume) and sort those by risk asc.
  • Never invent volume.

OUTPUT

One JSON object per references/output.schema.json. No prose.

FILES

  • scripts/zero_click.py — SERP fetch, feature detection, risk + adjusted-opportunity scoring.
  • references/feature_weights.json — per-feature zero-click weights.
  • references/output.schema.json — output contract.