Claude Skill

semantic-gap-analysis

Use when a page ranks for a keyword but isn't in the top 3 and you want to know exactly what's missing. The agent compares the page to the top-ranking competitors and produces a specific list of entities, subtopics, and relationships to add.

LLM Mart · 0 points · 8 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download inhouseseo-superseo-skills-skills_semantic-gap-analysis-9cf22cc.zip · 16 KB
Part of inhouseseo/superseo-skills — 11 skills

Install

skills CLI npx skills add https://github.com/inhouseseo/superseo-skills/tree/main/skills/semantic-gap-analysis
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install inhouseseo-superseo-skills@llmmart
Git git clone https://github.com/inhouseseo/superseo-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole inhouseseo/superseo-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Semantic Gap Analysis

Identifies the exact entities, subtopics, predicates, and relationships that are missing from your page but present in top-ranking competitors. This is the content brief for what to add — not a generic "write more depth" recommendation.

Google's NLP models (BERT, MUM, Gemini) build a semantic graph of your content. If you're missing nodes or edges that competitors have, your content reads as shallow to the algorithm. This skill finds the exact missing nodes.

Input

  • URL of your page (required)
  • Target keyword the page should rank for (required)

Role

You are a semantic SEO specialist in the tradition of Koray Tuğberk GÜBÜR. You think in entities, attributes, and relationships — not keywords.

Step 1: Read Your Page

Fetch the URL. Extract:

  • Main topic and sub-topics
  • All named entities (people, places, products, concepts, dates, organizations)
  • All predicates (verbs that signal the contextual depth — for "coffee brewing", verbs like grind, extract, bloom, tamp)
  • Internal structure: H2/H3 hierarchy
  • What the page explicitly covers and what it implicitly assumes

Step 2: Read the Top 3 Competitors

Google the target keyword. Fetch the top 3 results in full. If one won't fetch, take the next result down and say so — a gap list built on an inferred page is worthless. For each:

  • Extract entities, predicates, and structural elements the same way
  • Note what they cover that your page doesn't
  • Note the depth at which they discuss each entity (single mention vs. full section)

Step 3: Build the Semantic Inventory

Create three lists side by side:

Your page covers Competitors cover but you don't Unique to your page

Be specific. "Pricing models" is too generic. "Three-tier vs usage-based pricing with examples from Stripe and Twilio" is specific.

Step 4: Classify the Gaps

For each gap, classify its importance:

  • Core gap — all 3 competitors cover this, you don't. Critical to add.
  • Differentiator gap — 1-2 competitors cover this and it's working for them. Worth adding.
  • Commodity gap — everyone covers this superficially. Add briefly or skip.
  • Opportunity gap — competitors skip this, you could own it. Your angle.

Step 5: Map Entity Relationships

For the core gaps, identify the Entity-Attribute-Value (EAV) relationships that should exist:

  • Entity: what is it
  • Attribute: what properties does it have that matter
  • Value/Relation: how does it relate to other entities in this topic space

Example for "espresso machine reviews":

  • Entity: La Marzocco Linea Mini
  • Attribute: brew pressure, boiler type, price point
  • Relation: competes with Rocket Appartamento, used by third-wave cafes

This is what competitors are implicitly encoding when they write detailed sections — you need the same density.

Step 6: Output

Semantic Fingerprint

One sentence on what your page actually "talks about" to an NLP model, and what it should talk about.

Your Page

List of entities and predicates currently present.

Competitor Coverage

What each top 3 competitor covers that yours doesn't (specific sections, with brief notes on why they chose to include them).

Gap List

Gap Importance Add to section Depth required

Importance: Core / Differentiator / Commodity / Opportunity. Section: where in your H2/H3 structure this belongs. Depth: Paragraph / subsection / full section.

Entity Relationships to Encode

The EAV triples that should appear in your page, even if just in passing. These are the signals that tell Google "this content understands the topic space."

Unique Angle to Preserve

What your page does well that competitors don't. Don't lose this when adding depth.

Content Addition Plan

Specific sections to add or expand, in order of priority. Each with: section heading, 2-3 sentence description of what goes in it, estimated word count.

What to Ignore

  • Keyword density for related terms — don't force. Semantic relevance is about covering the entities, not repeating the keyword variants.
  • Fluff additions — every section you add should carry actual information. Padding defeats the purpose.
  • Wikipedia-style completeness — you don't need to cover everything. You need to cover enough that an NLP model recognizes the topic depth.

Next Step

Turn the content addition plan into an actual rewrite: use the improve-content skill with your page URL as input, and paste the gap list as context.

Bundled references

Load from references/ only when the step calls for them.

  • eav-triple-worked-examples.md — full Entity-Attribute-Value examples across 6 niches for Step 5 (when the EAV framework feels abstract and you need concrete analogues)
  • predicate-verb-fields.md — domain-specific verb fields that signal contextual depth to NLP models (Step 3, when extracting predicates from competitor pages)
  • gap-classification-rubric.md — detailed scoring for Core / Differentiator / Commodity / Opportunity gaps (Step 4, when classification is ambiguous)
  • topic-cluster-strategy.md — how the gap list feeds into cluster architecture (optional, when the gaps reveal missing spokes rather than in-page sections)
Files (superseo-skills)
  • references
    • eav-triple-worked-examples.md 10.4 KB
      # EAV Triple Worked Examples
      
      EAV modeling is hard to learn abstractly. What follows is a set of worked examples across domains — each one showing the thin-keyword version of a topic alongside the rich semantic version a domain expert would write. The contrast is the point. When you run Step 5 of the skill (Map Entity Relationships), these are the shapes you're aiming for.
      
      The framework is Koray Tuğberk GÜBÜR's: every entity on a page should carry attributes and relations to other entities in the same topic space. Subject, predicate, object. A page that lists entities without attributes reads to a language model the same way a glossary reads to a human — flat. A page with EAV coverage reads like someone who actually knows the topic.
      
      ## Example 1 — Espresso machines
      
      **Thin coverage (keywords only):**
      > espresso machine, coffee machine, best espresso machine, $5000 espresso machine, commercial espresso machine
      
      **Rich coverage (EAV):**
      - **Entity:** La Marzocco Linea Mini
      - **Attributes:** brew pressure (9 bar), boiler configuration (dual boiler, saturated group), price point (~EUR 5,800), heat-up time (~20 min), PID temperature stability (±0.5°C), E61-derived group head with saturated design
      - **Relations:** competes with Rocket R58 and ECM Synchronika in the prosumer tier; successor to the La Marzocco GS3 in Home-use positioning; uses the same group head philosophy as the commercial Linea Classic; preferred by third-wave cafes like Blue Bottle for staff training machines; pairs commonly with the Eureka Atom 75 or Niche Zero grinders
      
      The thin version ranks for "espresso machine." The rich version ranks for "best home espresso machine under 6000," "la marzocco linea mini vs rocket r58," "dual boiler home espresso," and drags PAA boxes with it. It also signals to Google that this page knows the third-wave coffee entity graph, not just the shopping keywords.
      
      ## Example 2 — SaaS payment infrastructure
      
      **Thin coverage:**
      > stripe, stripe pricing, payment processing fees, online payments
      
      **Rich coverage (EAV):**
      - **Entity:** Stripe Connect
      - **Attributes:** transaction fee structure (2.9% + 30¢ for cards, 0.8% capped at $5 for ACH), platform revenue share model (Application Fee API), account types (Standard, Express, Custom), 1099-K issuance handled by Stripe for US Custom accounts, supports 135+ currencies
      - **Relations:** competes with Adyen MarketPay for enterprise marketplaces and with Paddle Merchant-of-Record for simpler SaaS cases; powers Shopify Payments under the hood; used by Substack for creator payouts and Lyft for driver disbursements; built on top of core Stripe Payments primitives (Charges, PaymentIntents); alternative to building PCI-DSS compliance in-house
      
      The thin version is a pricing page. The rich version is a piece that a fintech PM at a marketplace startup would actually cite when choosing a payments stack.
      
      ## Example 3 — Refractive surgery
      
      **Thin coverage:**
      > lasik, laser eye surgery, lasik cost, is lasik safe
      
      **Rich coverage (EAV):**
      - **Entity:** LASIK (Laser-Assisted In Situ Keratomileusis)
      - **Attributes:** recovery window (24–48 hours to functional vision, 3–6 months to fully stabilized), ideal candidate age range (21–40), corneal thickness requirement (~500 microns minimum), refractive error range (up to -12D myopia, +6D hyperopia, 6D astigmatism), FDA approval date (1999 for myopia), typical cost (USD 2,000–3,000 per eye in the US)
      - **Relations:** alternatives include PRK (better for thin corneas, longer recovery), SMILE (small-incision, flapless, newer), and ICL (implantable collamer lens, for extreme prescriptions); shares the femtosecond-laser flap creation step with Femto-LASIK; reported side effects include dry eye symptoms, halos and starbursts at night, and rare ectasia; contraindicated for keratoconus patients and during pregnancy
      
      Notice how the relations encode medical decision-making. A reader searching "LASIK vs PRK" doesn't get served a keyword match — they get served the page that understands why you'd choose one over the other.
      
      ## Example 4 — Dutch corporate law
      
      **Thin coverage:**
      > BV oprichten, BV kosten, nederlandse BV
      
      **Rich coverage (EAV):**
      - **Entity:** Besloten Vennootschap (BV) oprichten
      - **Attributes:** minimum share capital (EUR 0.01 since Flex-BV reform 2012), notary requirement (verplicht — notariële akte), deed language (Nederlands, met optionele Engelse vertaling), registration timeline (typically 1–5 business days after akte), VPB (corporate income tax) rate (19% first EUR 200K, 25.8% above), DGA minimum salary rule (EUR 56,000 in 2026)
      - **Relations:** alternatives for solo entrepreneurs include Eenmanszaak (unlimited liability, simpler) and VOF (for partnerships); filed at the Kamer van Koophandel (KvK); governed by Boek 2 Burgerlijk Wetboek; often used as a holding structure above a werk-BV for dividend-routing and liability shielding; contrasts with the German GmbH (EUR 25,000 minimum) and the UK Ltd (GBP 1 minimum, no notary)
      
      This is what a Dutch tax advisor's blog looks like when they're actually writing for fellow professionals. Everything else on the SERP is a repackaged KvK brochure.
      
      ## Example 5 — Local service (HVAC)
      
      **Thin coverage:**
      > ac repair, air conditioning repair near me, broken ac
      
      **Rich coverage (EAV):**
      - **Entity:** Residential AC compressor failure
      - **Attributes:** typical symptoms (warm air at vents, hard-start clicking, outside unit humming but not spinning, tripped breaker), diagnostic steps (capacitor test, contactor inspection, amp draw reading, refrigerant pressure check), common root causes (failed run capacitor ~70% of cases, seized bearings, locked rotor, low refrigerant charge starving the compressor), repair vs replace threshold ($1,500+ on a system over 10 years old = replace)
      - **Relations:** capacitor failures are the single most common false-alarm "compressor is dead" call; contactors are a $15 part that mimics compressor failure when pitted; R-22 systems (pre-2010) face refrigerant phase-out making major repairs uneconomic; the compressor sits inside the outdoor condenser unit alongside the condenser coil and fan motor
      
      A local HVAC page with this content reads as a real technician talking. A generic "call us for AC repair!" page reads as AI slop, even if it was written by a human.
      
      ## Example 6 — Running shoes
      
      **Thin coverage:**
      > best running shoes, running shoes for beginners, marathon shoes
      
      **Rich coverage (EAV):**
      - **Entity:** Nike Vaporfly 3
      - **Attributes:** stack height (40mm heel / 32mm forefoot), carbon plate (full-length ZoomX Flyplate), midsole foam (ZoomX PEBA-based), drop (8mm), weight (~196g men's US 10), outsole (partial rubber, exposed foam for weight savings), durability (~250 km before noticeable foam compression)
      - **Relations:** competes directly with Adidas Adios Pro 3 and Asics Metaspeed Sky Paris in the super-shoe tier; successor to the Vaporfly Next% 2; shares the ZoomX foam platform with the Alphafly 3 (which adds Air Zoom pods and more stack); banned briefly in 2020 discussions before World Athletics set the 40mm stack-height rule that the Vaporfly 3 complies with exactly; trainer equivalent in the Nike lineup is the Pegasus Plus
      
      The attributes here aren't trivia — they're the exact things a runner comparing shoes searches for. Stack height, drop, foam type, weight, plate configuration. A generic review that says "it feels springy and fast" ranks for nothing.
      
      ## Example 7 — Cooking technique
      
      **Thin coverage:**
      > how to sear a steak, best way to cook steak, steak recipe
      
      **Rich coverage (EAV):**
      - **Entity:** Reverse-sear method for thick-cut steaks
      - **Attributes:** ideal cut thickness (1.5–2.5 inches), oven temperature (225–275°F / 110–135°C), target internal temperature before searing (10–15°F below final doneness), finishing sear temperature (screaming-hot cast iron or carbon steel, 450°F+ surface), total cook time for a 2-inch ribeye (35–50 min + 2 min sear), rest time (minimal — the slow cook acts as the rest)
      - **Relations:** contrasts with the traditional sear-first-then-roast method (which produces a gray band under the crust); pairs naturally with dry-brining 24–48 hours ahead; developed and popularized by J. Kenji López-Alt for Serious Eats; works best on ribeye, strip, and thick porterhouse and poorly on thin flat-iron or skirt; competes with sous-vide + sear on results but requires no equipment beyond an oven thermometer
      
      Same topic, completely different semantic density. The thin version gets crowded out by AllRecipes. The rich version ranks because it understands the technique well enough to contrast it against its alternatives.
      
      ## How to extract EAV triples from a SERP
      
      When you're doing this for a real page, you're reverse-engineering the triples your competitors already encode. Four steps:
      
      1. **Read the top 3 in full, not just the headings.** Scroll. Read the tables and captions and pull-quotes. This is where the attributes live — headings give you topics, body text gives you values.
      2. **List the entities each page names.** Be generous — include products, people, places, standards, dates, technical terms. Sort the entities by how many of the top 3 mention them. Anything 3/3 is mandatory for your page.
      3. **For each shared entity, list the attributes the competitors attach to it.** Numerical specs, ranges, thresholds, approvals, dates, comparisons. This is the attribute column of your EAV inventory.
      4. **List the relations — the predicates connecting entities.** "Competes with," "is a successor to," "is governed by," "contraindicated in," "powered by." Relations are what tell Google you understand the graph, not just the nodes.
      
      Once you have this inventory, your gap list writes itself. Any entity, attribute, or relation in the competitor set but absent from your page is a gap. Classify it using `gap-classification-rubric.md` and write it into your brief.
      
      ## What this unlocks
      
      Pages built with EAV coverage read as domain-expert to NLP models (BERT, MUM, Gemini) and to humans simultaneously. They rank not just for the primary keyword but for the long tail of comparison, spec, and decision queries that cluster around the entity. They're resistant to commodification because the depth is in the relationships, not in phrases you can swap out. And they build topical authority at the site level because every entity you properly encode strengthens the graph for every other page that references it.
      
      This is the payoff of the EAV discipline: you stop writing pages, and start adding nodes and edges to your site's knowledge graph.
      
    • gap-classification-rubric.md 7 KB
      # Gap Classification Rubric
      
      The four-bucket taxonomy in Step 4 (Core / Differentiator / Commodity / Opportunity) is useful only if the decision criteria are concrete. Otherwise it becomes gut-feel, and two people running the skill on the same page get different briefs. This rubric makes the call mechanical.
      
      Every gap you find in Step 3 runs through the same three questions:
      
      1. **How many of the top 3 competitors cover it?**
      2. **How deep is the coverage where it appears?**
      3. **Does the gap correlate with ranking position?**
      
      Those three answers map to one of four buckets.
      
      ## Core gap
      
      **Criteria (all three must be true):**
      - Present in all 3/3 top-ranking competitors.
      - Treated as a material section in at least 2 of them (full H2 section, multi-paragraph treatment, or dedicated table/list — not a sentence in passing).
      - Directly related to the primary target keyword's core intent, not a tangent.
      
      **Action:** Must add. Highest priority. A core gap means Google has decided this topic is part of the answer to the query, and you're missing it. No amount of depth elsewhere compensates.
      
      **Example:** Target keyword is "how to proof bread dough." All three top results have a section on "signs your dough is fully proofed" (poke test, volume change, spring-back). Your page explains how to proof but skips the how-to-recognize-it step. That's a core gap — without it, your page isn't actually answering the question.
      
      ## Differentiator gap
      
      **Criteria:**
      - Present in 1 or 2 of the 3 top competitors (not all three).
      - The competitor(s) that cover it are ranking above the one that doesn't — i.e. the gap correlates with position.
      - Treated at paragraph depth or better, not a one-liner.
      
      **Action:** Add if scope allows. Medium priority. The signal here is that the gap is working for the competitors who include it. It's not mandatory for relevance, but it's pulling weight on ranking.
      
      **Example:** Target keyword is "best TypeScript ORMs." Position 1 and position 2 both have a "runtime schema validation" section (Zod integration, TypeBox, Valibot). Position 3 skips it. You're pitching to TypeScript developers — this is exactly the audience that cares about runtime validation, and the ranking order suggests Google is rewarding the coverage. Add it.
      
      ## Commodity gap
      
      **Criteria:**
      - Present in all 3 competitors but shallow in all 3 (a sentence, a bullet, a single mention).
      - Doesn't appear to correlate with ranking position — everyone covers it the same minimal way.
      - Feels like a checkbox topic rather than a reason-to-read topic.
      
      **Action:** Add briefly or skip. Low priority. The only reason to add a commodity gap is to avoid the "obvious omission" signal — if everyone mentions something once, a page that doesn't mention it at all looks incomplete. A single sentence is enough.
      
      **Example:** Target keyword is "Stripe Connect vs Adyen." All three competitors have a single line noting "both support 3D Secure." No one expands on it. That's a commodity gap — add a sentence, don't build a section.
      
      ## Opportunity gap
      
      **Criteria:**
      - Present in 0 of the top 3 competitors.
      - Relevant to the topic's entity space (passes the "would a domain expert expect this to be covered?" test).
      - Has external signal that it matters: People Also Ask boxes, related searches, forum threads, or an obvious hole in the comparison axes.
      - Contributes to Information Gain — the Google patent (US11769017B1) for ranking documents by the novel information they contribute to a query.
      
      **Action:** Own this angle. This is your differentiation. Opportunity gaps are where you stop competing on coverage and start competing on insight. Treat them as the lead section if the gap is genuinely compelling.
      
      **Example:** Target keyword is "best TypeScript ORMs." None of the top 3 cover "how each ORM handles schema drift in production migrations." PAA has "what happens when Prisma migrations fail in production." It's clearly relevant, clearly absent, and clearly what practitioners care about. That's your opportunity gap and probably your headline angle.
      
      ## Worked example: "best TypeScript ORMs" SERP
      
      Hypothetical gap inventory from a real audit:
      
      | # | Gap | 3/3? | Depth | Rank correlation? | Bucket |
      |---|---|---|---|---|---|
      | 1 | Prisma section | 3/3 | Full section all 3 | n/a | Core |
      | 2 | Drizzle section | 3/3 | Full section all 3 | n/a | Core |
      | 3 | TypeORM section | 3/3 | Full section all 3 | n/a | Core |
      | 4 | Runtime schema validation (Zod, etc) | 2/3 | Subsection | Yes, top 2 have it | Differentiator |
      | 5 | Edge runtime compatibility (Cloudflare Workers, Vercel Edge) | 1/3 | Subsection | Yes, the one has it is #1 | Differentiator |
      | 6 | "ORM" vs "query builder" distinction | 3/3 | One sentence each | No | Commodity |
      | 7 | License comparison (MIT vs Apache vs Elastic) | 0/3 | — | — | Opportunity |
      | 8 | Schema drift handling in production migrations | 0/3 | — | PAA signal present | Opportunity |
      
      Priority order for the rewrite:
      1. Gaps 1–3 (core) — confirm we have full sections on Prisma, Drizzle, TypeORM. These are table stakes.
      2. Gap 4 (differentiator) — add a subsection on runtime validation integration per ORM.
      3. Gap 8 (opportunity) — lead with this if the PAA signal is strong. It's the headline angle.
      4. Gap 5 (differentiator) — add a row to the comparison table on edge runtime support.
      5. Gap 7 (opportunity) — include as a sidebar or footnote, lower value than gap 8.
      6. Gap 6 (commodity) — one sentence in the intro acknowledging the ORM/query-builder line.
      
      That's a brief. It tells the writer exactly what to add, in what priority, and at what depth.
      
      ## Edge case: commodity gaps that are actually opportunities in disguise
      
      Sometimes you'll find a topic where all 3 competitors cover it shallowly, none go deep, and the shallowness itself is the opportunity. The criterion is: would deeper treatment serve the reader meaningfully better? If yes, promote it from commodity to opportunity.
      
      **Example:** Target keyword is "how to choose a running shoe." All three top results say "consider your pronation" in a single sentence, none explain what pronation actually means or how to self-assess it. That's nominally a commodity gap — universal shallow coverage — but the shallowness is a failure of the SERP, not a signal that the topic doesn't matter. A page that adds a real pronation assessment guide turns a commodity gap into an opportunity gap and probably overtakes the SERP.
      
      The test: if you can imagine a reader finishing the top 3 and still not knowing the answer to the subtopic, the subtopic is an opportunity, regardless of how many times it's mentioned. The count-based rules get you 90% of the way; this edge case covers the rest.
      
      ## When the rubric points both ways
      
      Occasionally a gap looks like a core gap (present in 3/3) but all three treatments are shallow, so it also looks like a commodity gap. Call this a core-commodity gap: add it, but don't overbuild. A paragraph is enough. The rubric's goal isn't taxonomic purity — it's helping you decide how much effort to spend on each addition. Match the depth to the importance signal, and move on.
      
    • predicate-verb-fields.md 7.4 KB
      # Predicate Verb Fields by Domain
      
      Predicates are how Google's NLP recognizes that a page actually understands a topic. Domain experts use specific verbs; generalists say "use" and "help" and "leverage." When a language model reads a SERP, the verb density is one of the clearest fingerprints of expertise — and it's also one of the fastest gaps to spot in a competitor audit.
      
      This reference collects verb fields from domains we see often. It's not exhaustive — it's calibration. When you're running the skill on a topic outside your comfort zone, these lists tell you what "expert-written" reads like so you can recognize the gap in your draft.
      
      Koray Tuğberk GÜBÜR's framing: the predicate is the edge in the entity graph. Noun phrases are the nodes. If your page is all nodes and no edges, you haven't said anything the language model can connect.
      
      ## 1. Coffee brewing
      
      grind, extract, bloom, tamp, dose, shower, degas, puck, channel, pre-infuse, pull, distribute, level, dial-in, purge, dose-and-weigh
      
      Example of the difference:
      - **Generalist:** "Put the coffee in the machine and press the button. The machine will make your espresso."
      - **Expert:** "Dose 18g into a 20g VST basket, distribute with a WDT tool, tamp level, lock in, and pull a 36g shot in 28 seconds. Watch for channeling in the first 5 seconds — if you see it, re-dial the grind finer."
      
      Same topic. Different pages. Different SERP positions.
      
      ## 2. Espresso machines
      
      tamp, lock, purge, steam, pull, extract, froth, backflush, descale, preinfuse, pre-heat, bleed, gasket-swap, shot-mirror, flush
      
      A machine review that uses zero of these verbs is writing marketing copy. A review that uses eight of them is talking to people who own the machine or are about to.
      
      ## 3. Contract law
      
      stipulate, indemnify, warrant, assign, convey, execute, abrogate, covenant, recite, terminate for cause, terminate for convenience, cure, notice, release, novate, reserve rights, incorporate by reference
      
      Note how "terminate" has two specific variants that carry different legal meaning. Generalist content flattens both into "end the contract." Expert content names which kind.
      
      ## 4. Financial modeling
      
      forecast, discount, amortize, capitalize, depreciate, reconcile, pivot, scenario-test, sensitize, consolidate, true-up, unlever, relever, normalize, flex, plug, tie out
      
      Finance verbs are unusually compressed — each one stands in for a multi-step operation. A modeling guide that says "we check the numbers" instead of "we tie out the balance sheet" is written by someone who hasn't built a three-statement model.
      
      ## 5. Data engineering
      
      ingest, normalize, partition, dedupe, backfill, materialize, cache, index, shard, denormalize, stream, batch, upsert, truncate, vacuum, checkpoint, replay, compact
      
      You can feel the difference just reading the list. A blog post about "data pipelines" that doesn't use backfill or materialize once is almost certainly written by marketing, not by anyone who's been paged at 3am.
      
      ## 6. React development
      
      render, hydrate, mount, memoize, throttle, debounce, lift, wrap, compose, suspend, batch, reconcile, portal, unmount, lazy-load, prefetch, rehydrate
      
      The verb "hydrate" alone is a strong signal. If a React performance article never mentions hydration, it was written before Next.js 13 existed or by someone who hasn't shipped an SSR app.
      
      ## 7. Distance running
      
      pace, stride, cadence, footstrike, arch, pronate, heel-strike, forefoot, taper, negative-split, fartlek, tempo, threshold, zone-2, pick-up, surge, bank (time)
      
      Compare "run faster on marathon day" to "negative-split the second half after banking no time in the first 10K." Same instruction. One page gets shared in running subreddits; the other doesn't.
      
      ## 8. Photography
      
      expose, meter, stop-down, push, pull, develop, stabilize, focus-stack, bracket, dodge, burn, composite, vignette, clip (highlights), crush (shadows), tether
      
      "Push" and "pull" in film development are great examples of verbs that are meaningless without domain context. A generalist writer avoids them because they sound wrong. An expert uses them because they're the correct word.
      
      ## 9. Cooking and baking
      
      fold, whip, reduce, emulsify, caramelize, deglaze, proof, blanch, temper, knead, render, sweat, sear, braise, poach, confit, brine, cure, rest
      
      Baking verbs carry particularly high information density. "Fold" and "stir" are not interchangeable. "Proof" and "rise" overlap but signal different stages. Recipe blogs that use the wrong verbs get debunked in the comments.
      
      ## 10. Medical diagnosis
      
      present, palpate, auscultate, rule-out, differentiate, exclude, titrate, monitor, stabilize, refer, admit, workup, screen, indicate, contraindicate, r/o (abbreviation), dose
      
      Medical content is where predicate density correlates most strongly with E-E-A-T signals. A physician-authored article uses "present with" and "rule out" naturally. Health-content-farm articles say "have symptoms" and "check for."
      
      ## 11. Gardening
      
      prune, stake, mulch, top-dress, side-dress, amend, transplant, harden-off, succession-plant, overwinter, pinch, deadhead, coppice, pollard, graft, bolt, lift, divide
      
      Gardening has a beautiful verb field because it's one of the oldest specialist vocabularies. "Bolt" and "lift" are verbs no generalist would guess, and both are everyday words to a gardener.
      
      ## 12. Welding
      
      tack, stringer-bead, weave, root-pass, filler-pass, cap, grind, chamfer, prep, preheat, interpass-cool, purge, gouge, clean, re-strike
      
      A welding article that never uses "root pass" or "filler pass" is describing welding to people who don't weld. That's fine as introductory content — but it will never rank for anything a working welder searches.
      
      ## How to extract a domain verb field when you don't already know the domain
      
      When you're running this skill on a topic you're not an expert in, you can build the verb field from the SERP itself:
      
      1. **Pull the top 2–3 expert-authored pieces.** Look for author bylines with credentials, industry publication bylines, or long-form blog posts by practitioners. You can usually tell by the first 200 words.
      2. **Highlight every action verb.** Not nouns, not adjectives — verbs. Ignore the common-English verbs (is, has, can, will, get, make, do, go). Keep the rest.
      3. **Cross-reference with the generalist competitors.** Run the same pass on a thin aggregator article ranking in position 8–10. The verbs that appear in the expert pieces and not in the generalist are your domain predicate field.
      4. **Add them to your content brief as a "verb floor."** You don't need to use all of them, but your draft should read as though the writer knows they exist. If your draft uses "improve" and "help" where the experts use "optimize," "titrate," or "tune," you've got a predicate gap that no amount of keyword density will fix.
      
      Step 3 is the whole trick. The verb field isn't "words experts use" — it's "words experts use that generalists don't." That delta is the gap.
      
      ## Cross-reference
      
      The expert-interview skill uses the same verb-field concept in reverse: when extracting expertise from a subject-matter expert, it specifically transcribes their action verbs because that's where the tacit knowledge lives. If you're running a content brief off an SME interview, pipe the transcribed verb field directly into the draft instructions — it's the single fastest way to make generated content read as written by the expert.
      
      And if you're auditing a draft that you or a writer produced after an interview, check it against the expert's verb field. Drafts that lose the verbs lose the expertise.
      
    • topic-cluster-strategy.md 4.8 KB
      # Technique 11: Topic Cluster & Topical Authority Strategy
      
      ## What It Is
      Organizing content into interconnected clusters (pillar + spoke pages) to build topical authority -- demonstrating to Google that your site comprehensively covers a subject area, not just individual keywords.
      
      ## Why It Works
      Google's December 2025 Core Update and the API leak both confirm: Google evaluates topical coverage at the SITE level, not just the PAGE level. A site with 30 interconnected articles on "email marketing" outranks a site with one excellent email marketing article, even if that single article is individually superior.
      
      The mechanism is entity-based: Google builds a topical graph of your site. Deep, interconnected coverage strengthens the entity signals, making each individual page more authoritative.
      
      **Evidence from the field:** Sites that built topic clusters around their core service area saw 50-200% organic traffic increases within 6 months (First Page Sage, 2025 study). Sites that published random unrelated blog posts saw minimal impact regardless of individual article quality.
      
      ## Step-by-Step Process
      
      ### Step 1: Cluster Identification
      1. Use keyword cluster data from to identify natural topic groupings
      2. Select 3-5 core clusters aligned with the business's expertise
      3. Each cluster should have a clear pillar topic and 8-15 spoke topics
      4. Map the cluster hierarchy:
         ```
         PILLAR: "Email Marketing Strategy"
         |-- SPOKE: "Email Subject Line Best Practices"
         |-- SPOKE: "Email Automation Workflows"
         |-- SPOKE: "Email List Building Techniques"
         |-- SPOKE: "Email Analytics and KPIs"
         |-- SPOKE: "Email Deliverability Guide"
         |-- SPOKE: "Transactional Email Best Practices"
         |-- SPOKE: "Email Personalization Strategies"
         |-- SPOKE: "B2B vs B2C Email Marketing"
         +-- SPOKE: "Email Marketing Tools Comparison"
         ```
      
      ### Step 2: Content Gap Analysis
      5. For each spoke topic, check if existing content already covers it
      6. Use opportunity detection to find keywords you rank 4-20 for (existing pages that need strengthening)
      7. Identify missing spokes -- topics where you have NO content
      8. Prioritize: highest search volume + strongest business relevance first
      
      ### Step 3: Internal Linking Architecture
      9. Every spoke links TO the pillar page (authority flows up)
      10. The pillar page links TO every spoke (distributes authority down)
      11. Related spokes link to each other (lateral authority flow)
      12. Use descriptive anchor text that includes the target keyword of the destination page
      13. Avoid orphan pages (content with zero internal links)
      
      ### Step 4: Content Creation Order
      14. Write the pillar page FIRST -- comprehensive overview (3,000-7,000 words)
      15. Then write spokes in order of priority (search volume x business value)
      16. Update the pillar page each time a new spoke is published
      17. This order ensures the pillar page exists for internal linking from day 1
      
      ### Step 5: Cluster Maintenance
      18. Monthly: Review spoke performance, update underperforming content
      19. Quarterly: Add new spokes based on emerging subtopics and search trends
      20. Annually: Evaluate whether the cluster is comprehensive vs competitors
      21. Never let content go stale -- update dates and data regularly
      
      ## Tips
      
      - **The "semantic gap" technique**: Use your SEO data source's keyword cluster data to find keywords in your cluster that you DON'T rank for at all. These are gaps in your topical coverage -- filling them strengthens the entire cluster.
      - **Competitor cluster analysis**: Check what topics your top competitor covers that you don't. Use competitor data + SERP analysis to map their cluster structure.
      - **Don't spread thin**: 3 deep clusters beat 10 shallow ones. Google rewards depth within a topic over breadth across topics.
      - **Cross-cluster linking is weaker**: Internal links within a cluster transfer more topical relevance than links between unrelated clusters.
      
      ## Common Mistakes
      
      1. **Publishing spokes without a pillar**: Individual articles without a hub page don't form a cluster in Google's eyes
      2. **Pillar pages too thin**: A pillar page that's just a list of links isn't a pillar -- it's an index. Pillar pages need substantial content covering the entire topic at overview level
      3. **Ignoring internal linking**: The cluster only works if the pages are interconnected. Publishing 15 articles without linking them is 15 individual pages, not a cluster
      4. **Off-topic content**: Publishing content outside your core clusters dilutes topical authority. A B2B SaaS blog posting recipes "for engagement" hurts topical signals
      
      ## Tools Used
      - keyword cluster data -- identify natural topic groupings
      - opportunity detection -- find existing pages to strengthen
      - internal link data -- audit current linking structure
      - keyword search -- prioritize spokes by search volume
      - competitor data -- map competitor cluster coverage
      
  • SKILL.md 5.5 KB
    ---
    name: semantic-gap-analysis
    description: Use when a page ranks for a keyword but isn't in the top 3 and you want to know exactly what's missing. The agent compares the page to the top-ranking competitors and produces a specific list of entities, subtopics, and relationships to add.
    ---
    
    # Semantic Gap Analysis
    
    Identifies the exact entities, subtopics, predicates, and relationships that are missing from your page but present in top-ranking competitors. This is the content brief for what to add — not a generic "write more depth" recommendation.
    
    Google's NLP models (BERT, MUM, Gemini) build a semantic graph of your content. If you're missing nodes or edges that competitors have, your content reads as shallow to the algorithm. This skill finds the exact missing nodes.
    
    ## Input
    
    - **URL of your page** (required)
    - **Target keyword** the page should rank for (required)
    
    ## Role
    
    You are a semantic SEO specialist in the tradition of Koray Tuğberk GÜBÜR. You think in entities, attributes, and relationships — not keywords.
    
    ## Step 1: Read Your Page
    
    Fetch the URL. Extract:
    - Main topic and sub-topics
    - All named entities (people, places, products, concepts, dates, organizations)
    - All predicates (verbs that signal the contextual depth — for "coffee brewing", verbs like grind, extract, bloom, tamp)
    - Internal structure: H2/H3 hierarchy
    - What the page explicitly covers and what it implicitly assumes
    
    ## Step 2: Read the Top 3 Competitors
    
    Google the target keyword. Fetch the top 3 results in full. If one won't fetch, take the next result down and say so — a gap list built on an inferred page is worthless. For each:
    - Extract entities, predicates, and structural elements the same way
    - Note what they cover that your page doesn't
    - Note the depth at which they discuss each entity (single mention vs. full section)
    
    ## Step 3: Build the Semantic Inventory
    
    Create three lists side by side:
    
    | Your page covers | Competitors cover but you don't | Unique to your page |
    |---|---|---|
    
    Be specific. "Pricing models" is too generic. "Three-tier vs usage-based pricing with examples from Stripe and Twilio" is specific.
    
    ## Step 4: Classify the Gaps
    
    For each gap, classify its importance:
    
    - **Core gap** — all 3 competitors cover this, you don't. Critical to add.
    - **Differentiator gap** — 1-2 competitors cover this and it's working for them. Worth adding.
    - **Commodity gap** — everyone covers this superficially. Add briefly or skip.
    - **Opportunity gap** — competitors skip this, you could own it. Your angle.
    
    ## Step 5: Map Entity Relationships
    
    For the core gaps, identify the Entity-Attribute-Value (EAV) relationships that should exist:
    
    - **Entity**: what is it
    - **Attribute**: what properties does it have that matter
    - **Value/Relation**: how does it relate to other entities in this topic space
    
    Example for "espresso machine reviews":
    - Entity: La Marzocco Linea Mini
    - Attribute: brew pressure, boiler type, price point
    - Relation: competes with Rocket Appartamento, used by third-wave cafes
    
    This is what competitors are implicitly encoding when they write detailed sections — you need the same density.
    
    ## Step 6: Output
    
    ### Semantic Fingerprint
    One sentence on what your page actually "talks about" to an NLP model, and what it should talk about.
    
    ### Your Page
    List of entities and predicates currently present.
    
    ### Competitor Coverage
    What each top 3 competitor covers that yours doesn't (specific sections, with brief notes on why they chose to include them).
    
    ### Gap List
    
    | Gap | Importance | Add to section | Depth required |
    |---|---|---|---|
    
    Importance: Core / Differentiator / Commodity / Opportunity.
    Section: where in your H2/H3 structure this belongs.
    Depth: Paragraph / subsection / full section.
    
    ### Entity Relationships to Encode
    The EAV triples that should appear in your page, even if just in passing. These are the signals that tell Google "this content understands the topic space."
    
    ### Unique Angle to Preserve
    What your page does well that competitors don't. Don't lose this when adding depth.
    
    ### Content Addition Plan
    Specific sections to add or expand, in order of priority. Each with: section heading, 2-3 sentence description of what goes in it, estimated word count.
    
    ## What to Ignore
    
    - **Keyword density for related terms** — don't force. Semantic relevance is about covering the entities, not repeating the keyword variants.
    - **Fluff additions** — every section you add should carry actual information. Padding defeats the purpose.
    - **Wikipedia-style completeness** — you don't need to cover everything. You need to cover enough that an NLP model recognizes the topic depth.
    
    ## Next Step
    
    Turn the content addition plan into an actual rewrite: use the `improve-content` skill with your page URL as input, and paste the gap list as context.
    
    ## Bundled references
    
    Load from `references/` only when the step calls for them.
    
    - **`eav-triple-worked-examples.md`** — full Entity-Attribute-Value examples across 6 niches for Step 5 (when the EAV framework feels abstract and you need concrete analogues)
    - **`predicate-verb-fields.md`** — domain-specific verb fields that signal contextual depth to NLP models (Step 3, when extracting predicates from competitor pages)
    - **`gap-classification-rubric.md`** — detailed scoring for Core / Differentiator / Commodity / Opportunity gaps (Step 4, when classification is ambiguous)
    - **`topic-cluster-strategy.md`** — how the gap list feeds into cluster architecture (optional, when the gaps reveal missing spokes rather than in-page sections)
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related