Keyword Intelligence Stinger
Forge status: stages 1-6 complete (Topic, Research, Distillation, References, Guides, final
Skill/Bee authorship). Stage 7 (Register: beekeeper-suit roster entry, deploy, cross-repo
reference sync) has not run yet. Every factual claim below traces to
references/research/raw/ via references/research/distilled-keyword-intelligence.md, or is
flagged explicitly as a judgment call. See guides/03-tier-3-ai-inference.md in particular for a
binding sequencing note (Tier 3 cannot read site-data/, which does not exist yet at this wave)
that neither PRD states outright but follows directly from the two PRDs' own wave numbers.
You are equipping keyword-intelligence-worker-bee, part of the Website Auditor by Legion Code
Inc. plugin. Full scope and acceptance criteria: prd-006-keyword-intelligence.
Purpose
Compiles 75-100 keywords and 25-50 customer questions under content-targets/, using a strict
4-tier source-priority chain, in order: (1) a connected Google Search Console MCP that returns
query data for the domain, (2) a customer-supplied Google Trends export, (3) EXA/Firecrawl-style AI
or statistical inference from the site's own content, (4) a paid keyword API as last resort. Every
output entry is tagged with the tier that actually produced it, so the report can disclose data
provenance, and the chain degrades gracefully through unavailable tiers with no user-visible error.
When to use
- Wave W3, sync, immediately after the ICP gate (
icp-positioning-worker-bee) passes
- Any re-run where a Search Console MCP connection newly became available mid-project (re-run to
upgrade previously Tier 3/4-sourced keywords to Tier 1 provenance where possible)
- Auditing which source tier actually produced a given keyword, for provenance disclosure in the
customer-facing report
When not to use
- Not for deriving the site's niche, ICP, or buyer-readiness framing. That is
icp-positioning-stinger, which this pair reads from (02-positioning/) and never re-derives.
- Not for crawling the site page-by-page. That is
site-crawler-stinger, which this pair does NOT
depend on (it runs one wave later, W4) and must not be treated as a Tier-3 data source; see
guides/03-tier-3-ai-inference.md.
- Not for the actual SEO/AEO technical audit of how these keywords perform on-page. That is
technical-seo-stinger and aeo-audit-stinger, which read content-targets/ as an input in a
later wave.
Procedure
- Read
02-positioning/ for ICP, niche, and buyer-readiness context. Do not re-derive it.
- Check Tier 1 (Search Console MCP connected and has data). If satisfied, use it exclusively.
- Else check Tier 2 (customer-supplied Trends export present). If satisfied, use it, and archive
the raw file(s) unmodified under
content-targets/trends-raw/ per PRD-006 AC-4.
- Else fall through to Tier 3: independently fetch the site's own key pages and infer candidates.
Never mark inferred candidates with a fabricated volume; use
volume-unknown.
- If the running count is below PRD-006's required minimum (75 keywords / 25 questions) and a
paid-API budget is approved, escalate to Tier 4 to fill the gap only. If no budget is approved,
stop and flag the gap rather than fabricate candidates.
- Write
content-targets/keywords.md (75-100 entries) and content-targets/questions.md
(25-50 entries), each tagged with source tier, per references/templates/keywords-template.md
and references/templates/questions-template.md.
- Append the provenance summary block to both files, and record tier skips in the run ledger
(never as a user-visible error).
Full decision logic: guides/05-fallback-chain-and-provenance.md. Deterministic implementation:
references/scripts/fallback-chain-decision.py.
References map
references/templates/keywords-template.md, load when writing or reviewing
content-targets/keywords.md.
references/templates/questions-template.md, load when writing or reviewing
content-targets/questions.md.
references/templates/trends-raw-readme-template.md, load whenever Tier 2 is used, to file the
content-targets/trends-raw/README.md manifest.
references/scripts/fallback-chain-decision.py, run before finalizing output, to get an
auditable tier decision instead of reasoning it out fresh each time.
references/research/distilled-keyword-intelligence.md, load when a tier-mechanics claim needs
verification or a dispute needs settling.
references/research/raw/, load when tracing a distilled claim back to its primary source.
guides/01-tier-1-search-console.md through guides/05-fallback-chain-and-provenance.md, load
per-tier as described in each guide's own heading.
Related bees and stingers
- icp-positioning-stinger - upstream dependency, writes
02-positioning/, this pair's binding ICP/niche input.
- stack-fingerprint-stinger - runs before this pair (W1a); not a
direct read dependency, but relevant if platform context is needed for Tier 3 page selection.
- site-crawler-stinger - runs one wave AFTER this pair (W4), so this
pair must NOT depend on
site-data/. See guides/03-tier-3-ai-inference.md for the sequencing
note this creates.
- technical-seo-stinger - downstream reader of
content-targets/ in a
later wave.
- aeo-audit-stinger - downstream reader of
content-targets/ in a later
wave.
Critical Directive
- You must read all files and context contained within your skill.
- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.
- Additional related skills can be found here:
Ship Gate
Ship Gate not applicable to this Stinger's own runtime procedure. This Stinger's output
(content-targets/) is written into the external customer's audit workspace
(www.<domain>-audit/content-targets/), not into this plugin repository's own tracked source, so a
keyword-intelligence run produces no committable code inside this repo for security-stinger,
quality-stinger, or github-repo-health-stinger to gate. The Ship Gate does apply, unmodified, to
any change made to this plugin repository's own files, including this SKILL.md, its guides, its
references, and references/scripts/fallback-chain-decision.py, before that change is committed
and pushed.
1---2name: keyword-intelligence-stinger3description: Compiles 75-100 keywords + 25-50 questions via a strict 4-tier source chain: Search Console MCP > customer Trends export > EXA/Firecrawl inference > paid API. Degrades gracefully.4license: AGPL-3.0-only5---67# Keyword Intelligence Stinger89> **Forge status:** stages 1-6 complete (Topic, Research, Distillation, References, Guides, final10> Skill/Bee authorship). Stage 7 (Register: beekeeper-suit roster entry, deploy, cross-repo11> reference sync) has not run yet. Every factual claim below traces to12> `references/research/raw/` via `references/research/distilled-keyword-intelligence.md`, or is13> flagged explicitly as a judgment call. See `guides/03-tier-3-ai-inference.md` in particular for a14> binding sequencing note (Tier 3 cannot read `site-data/`, which does not exist yet at this wave)15> that neither PRD states outright but follows directly from the two PRDs' own wave numbers.1617You are equipping **keyword-intelligence-worker-bee**, part of the Website Auditor by Legion Code18Inc. plugin. Full scope and acceptance criteria: [prd-006-keyword-intelligence](../../library/requirements/backlog/prd-006-keyword-intelligence/prd-006-keyword-intelligence-index.md).1920## Purpose2122Compiles 75-100 keywords and 25-50 customer questions under `content-targets/`, using a strict234-tier source-priority chain, in order: (1) a connected Google Search Console MCP that returns24query data for the domain, (2) a customer-supplied Google Trends export, (3) EXA/Firecrawl-style AI25or statistical inference from the site's own content, (4) a paid keyword API as last resort. Every26output entry is tagged with the tier that actually produced it, so the report can disclose data27provenance, and the chain degrades gracefully through unavailable tiers with no user-visible error.2829## When to use3031- Wave W3, sync, immediately after the ICP gate (`icp-positioning-worker-bee`) passes32- Any re-run where a Search Console MCP connection newly became available mid-project (re-run to33 upgrade previously Tier 3/4-sourced keywords to Tier 1 provenance where possible)34- Auditing which source tier actually produced a given keyword, for provenance disclosure in the35 customer-facing report3637## When not to use3839- Not for deriving the site's niche, ICP, or buyer-readiness framing. That is40 `icp-positioning-stinger`, which this pair reads from (`02-positioning/`) and never re-derives.41- Not for crawling the site page-by-page. That is `site-crawler-stinger`, which this pair does NOT42 depend on (it runs one wave later, W4) and must not be treated as a Tier-3 data source; see43 `guides/03-tier-3-ai-inference.md`.44- Not for the actual SEO/AEO technical audit of how these keywords perform on-page. That is45 `technical-seo-stinger` and `aeo-audit-stinger`, which read `content-targets/` as an input in a46 later wave.4748## Procedure49501. Read `02-positioning/` for ICP, niche, and buyer-readiness context. Do not re-derive it.512. Check Tier 1 (Search Console MCP connected and has data). If satisfied, use it exclusively.523. Else check Tier 2 (customer-supplied Trends export present). If satisfied, use it, and archive53 the raw file(s) unmodified under `content-targets/trends-raw/` per PRD-006 AC-4.544. Else fall through to Tier 3: independently fetch the site's own key pages and infer candidates.55 Never mark inferred candidates with a fabricated volume; use `volume-unknown`.565. If the running count is below PRD-006's required minimum (75 keywords / 25 questions) and a57 paid-API budget is approved, escalate to Tier 4 to fill the gap only. If no budget is approved,58 stop and flag the gap rather than fabricate candidates.596. Write `content-targets/keywords.md` (75-100 entries) and `content-targets/questions.md`60 (25-50 entries), each tagged with source tier, per `references/templates/keywords-template.md`61 and `references/templates/questions-template.md`.627. Append the provenance summary block to both files, and record tier skips in the run ledger63 (never as a user-visible error).6465Full decision logic: `guides/05-fallback-chain-and-provenance.md`. Deterministic implementation:66`references/scripts/fallback-chain-decision.py`.6768## References map6970- `references/templates/keywords-template.md`, load when writing or reviewing71 `content-targets/keywords.md`.72- `references/templates/questions-template.md`, load when writing or reviewing73 `content-targets/questions.md`.74- `references/templates/trends-raw-readme-template.md`, load whenever Tier 2 is used, to file the75 `content-targets/trends-raw/README.md` manifest.76- `references/scripts/fallback-chain-decision.py`, run before finalizing output, to get an77 auditable tier decision instead of reasoning it out fresh each time.78- `references/research/distilled-keyword-intelligence.md`, load when a tier-mechanics claim needs79 verification or a dispute needs settling.80- `references/research/raw/`, load when tracing a distilled claim back to its primary source.81- `guides/01-tier-1-search-console.md` through `guides/05-fallback-chain-and-provenance.md`, load82 per-tier as described in each guide's own heading.8384## Related bees and stingers8586- [icp-positioning-stinger](../icp-positioning-stinger) - upstream dependency, writes87 `02-positioning/`, this pair's binding ICP/niche input.88- [stack-fingerprint-stinger](../stack-fingerprint-stinger) - runs before this pair (W1a); not a89 direct read dependency, but relevant if platform context is needed for Tier 3 page selection.90- [site-crawler-stinger](../site-crawler-stinger) - runs one wave AFTER this pair (W4), so this91 pair must NOT depend on `site-data/`. See `guides/03-tier-3-ai-inference.md` for the sequencing92 note this creates.93- [technical-seo-stinger](../technical-seo-stinger) - downstream reader of `content-targets/` in a94 later wave.95- [aeo-audit-stinger](../aeo-audit-stinger) - downstream reader of `content-targets/` in a later96 wave.9798## Critical Directive99100- You must read all files and context contained within your skill.101- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.102- Additional related skills can be found here:103 - [keyword-intelligence-worker-bee](../../agents/keyword-intelligence-worker-bee.md) - this Stinger's paired Bee.104 - [icp-positioning-stinger](../icp-positioning-stinger) - upstream dependency, read first for ICP/niche context.105106## Ship Gate107108Ship Gate not applicable to this Stinger's own runtime procedure. This Stinger's output109(`content-targets/`) is written into the external customer's audit workspace110(`www.<domain>-audit/content-targets/`), not into this plugin repository's own tracked source, so a111keyword-intelligence run produces no committable code inside this repo for security-stinger,112quality-stinger, or github-repo-health-stinger to gate. The Ship Gate does apply, unmodified, to113any change made to this plugin repository's own files, including this SKILL.md, its guides, its114references, and `references/scripts/fallback-chain-decision.py`, before that change is committed115and pushed.