Research traceable SEO demand signals
Documents
Content Opportunity Decisions
Try itTurn traceable signals into content decisions
What it does
SignalDig content decision skill — REQUIRES the keyword_decision_report MCP server and a SignalDig API key; installing this Skill does not connect the MCP server, and never fabricate or simulate results when the MCP tools are unavailable. Generate evidence-constrained keyword and content-opportunity decisions through the SignalDig Decision MCP, with a traceable stance, qualitative confidence, counter-evidence, conditions, risks, and a next validation test. Use when deciding whether or how to prioritize a keyword opportunity. Do not use for collecting SEO signals alone, writing finished content, publishing, or making the user's final business decision.
The skill document
Decide Content Opportunities
Use the SignalDig Decision MCP to produce a conditional keyword recommendation. Make a decision when the evidence supports one; do not hide behind an unranked summary. Preserve the boundary between observation, inference, recommendation, and expected outcome.
MCP Availability Gate (Mandatory)
This Skill is a workflow spec only; it has no data of its own. Every decision input comes from the
keyword_decision_reportMCP server, which requires a valid SignalDig API key. Installing this Skill does not connect the MCP server — the two are separate installs.
Before producing any decision, verify that the keyword_decision_report MCP
server is connected and its tools are visible (e.g.
submit_keyword_decision_report, get_keyword_decision_report).
If the MCP server is not configured, its tools are missing, the API key is invalid, or an initial connection fails:
- Stop immediately. Do not start the workflow, and do not emit any stance, confidence, evidence IDs, risks, or "recommendations".
- Never simulate, guess, or answer from general knowledge. A knowledge-based reply is NOT a valid Skill output and misleads the user into thinking the Skill ran.
- Tell the user plainly: this Skill needs the
keyword_decision_reportMCP server athttps://mcp.signaldig.com/signals/seo/mcpand a SignalDig API key (get one at → API Keys). Point to references/setup-guide.md for client-specific steps, then stop.
Only when the tools are available may the workflow proceed, and every decision claim must cite a real tool result.
Decision Contract
- Use
submit_keyword_decision_reportandget_keyword_decision_reportfrom the Decision MCP. Do not use the SEO MCP merely to manufacture a recommendation. - Start from the keyword, target domain, market, language, business goal, audience, channel constraints, and time horizon.
- Reuse a prior Decision MCP
request_idfor the same logical decision before submitting. Keep one stableidempotency_keyacross retries. - Select the smallest sufficient SEO
data_scopes; omit it only when the decision genuinely needs every SEO evidence family. - Treat live
field_semantics, evidence IDs, request IDs, limitations, and timestamps as authoritative. - Recommend an action only within the evidence coverage. State conditions that would change the recommendation.
- Use
high,medium, orlowas qualitative confidence labels. Never present them as calibrated probabilities.
Hard Rules
- Never invent demand, audience needs, commercial value, expected performance, evidence, or source coverage.
- Never convert search volume, ranking, trend interest, post count, or engagement directly into revenue or purchase intent.
- Never cite an SEO claim without its available
request_idandevidence_id. - Never describe absent or unrequested evidence as negative evidence.
- Never hide counter-evidence, stale data,
partialresults, sparse samples, ranking effects, or market-language mismatch. - Never combine evidence from different markets, languages, audiences, or time windows without labeling the mismatch.
- Never rank options by an unexplained score. Show the decision criteria and decisive tradeoffs.
- Never use numeric confidence unless the user provides a calibrated model and its methodology.
- Never produce finished copy, fabricate product experience, publish content, or execute the recommendation.
- Never submit a second decision job merely because the first is
pendingorrunning; poll the samerequest_id. - Never treat
signaldig_no_matching_dataor an empty SEO family as a service outage. Analyze whatever evidence remains, disclose the gap, and only refuse a recommendation when every selected family is empty or the job isfailed. - Never present a
failedjob, or a terminal result with no remaining evidence, as a completed recommendation. Ifdecision_reportis present, use it within its stated coverage; if it is absent but usable evidence remains, give a bounded recommendation from that evidence and do not resubmit merely because one family was empty. - Keep one primary recommendation. Include alternatives only when they represent meaningfully different choices.
Workflow
- Define the decision and normalize the keyword, hostname-only domain, ISO alpha-2 market, research/report language, horizon, audience, eligible channels, and material constraints.
- Select the smallest sufficient
data_scopes:keyword_overview,related_keywords,serp, and/orgoogle_trends. - Build a stable key:
keyword-decision:+ keyword +|+ domain +|+ market +|+ language +|+ sorted scopes. - Reuse gate: if the conversation already contains a matching
request_id, call onlyget_keyword_decision_report. - Otherwise call
submit_keyword_decision_reportonce with the normalized inputs and stable key. Preserve itsrequest_id,poll_after_seconds, andexecution_deadline_at. - Poll
get_keyword_decision_reportwith the samerequest_iduntilis_terminal=true; never resubmit while pending or running. - On
completeorpartial, verify thatresult.querymatches the requested identity, inventory evidence and limitations, and treatsignaldig_no_matching_dataas a data gap. Prefer a non-nullresult.decision_reportwhen present; if it is missing, continue from the remaining evidence instead of calling the job a failure. - Evaluate the report using references/evidence-evaluation.md and references/confidence-rubric.md. Do not silently strengthen the MCP report.
- Return the stance, decision basis, confidence, counter-evidence, conditions,
risks, recommended actions, stop conditions, missing inputs, and source
request_id. Use references/content-decision-template.md when saving a durable artifact.
Evidence Sufficiency
Proceed with a recommendation when the available evidence directly addresses
the decision and its limitations can be bounded. A partial result with some
empty families is still usable; decide from the remaining coverage.
Proceed with low confidence when action is reversible and a small test is
more useful than additional research. Make the exploratory nature explicit.
Preserve a run_validation_test or defer stance when:
- the business goal or target audience is unknown and different answers would reverse the recommendation;
- evidence cannot be traced to the terminal result;
- compared options use incompatible markets, languages, or time windows;
- the proposed action is costly or difficult to reverse and decisive evidence is missing;
- every selected SEO family is empty or the terminal status is
failed.
Do not require social evidence for a keyword decision. If the user needs
cross-channel comparison, collect social evidence with the separate
research-social-signals Skill and label it as supplemental context; do not
imply that it was consumed by the Decision MCP unless the live schema supports
it.
Response Format
Default to:
Recommendation: the report stance and one primary action.Decision basis: decisive observations and inferences with evidence IDs.Confidence: qualitative label plus strengthening and weakening factors.Counter-evidence and conditions: facts or assumptions that could reverse the recommendation.Risks and missing inputs: material uncertainty and unavailable evidence.Next test: recommended action, expected observable signal, and explicit stop condition.Source job: reusedrequest_id, selected SEO scopes, freshness, and limitations.
Do not disguise an evidence-gap report as a confident recommendation.
Examples
Use $decide-content-opportunities to decide whether "AI SEO tools" should be prioritized for example.com in the US English market.
Use $decide-content-opportunities to generate a conditional keyword decision with confidence, counter-evidence, conditions, and a next validation test.
Use $decide-content-opportunities to query the existing Decision MCP request_id again and summarize its stop conditions.
Reference
Read references/mcp-contract.md before the first live Decision MCP call or when diagnosing request-state errors.
Related skills
Analyze content decay patterns and prioritize refresh opportunities by scoring search ranking loss, engagement drop-off, competitor movement, and outdated data. Use when the user needs content audit recommendations, SEO refresh strategy, or audience re-engagement campaigns.
Find keyword opportunities for a site: discover seeds, score volume, difficulty and intent, check SERPs, and save the winners. Use when deciding what to target. Requires a connected Conqueror MCP server.
Finds content gaps and opportunities from Google SERP analysis using apidojo's Google Search scraper on Apify. Triggers when the user asks to: find content gaps in Google search results, identify topics that are poorly covered in Google SERPs, discover content opportunities where competitors are ranking but coverage is weak, analyze what is missing from the top search results for a keyword, find underserved topics in a niche from Google search, or identify where existing content could easily outrank weak competitors. Returns keyword opportunities, SERP quality scores, content gap analysis, and recommended topics. Ideal for SEO strategists, content marketers, and blog editors prioritizing content investments.
Analyse competitor moves and translate them into strategic implications for your product roadmap. Use when a competitor announces a new feature, pricing chan...
Analyze one named competitor's organic footprint, ranking keywords, content themes, backlinks, and weaknesses. Use for a deep dive on a single domain. Requires a connected Conqueror MCP server.