본문으로 건너뛰기
cccskills
무료GitHub에 공개

ai-citation-tracker

Track brand mentions, URL citations, and share-of-voice across the 2026 AI search surface — ChatGPT (with browsing), Perplexity, Claude (with search), Google Gemini, Google AI Overviews, Bing Copilot, You.com, Phind, and Microsoft Copilot..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md12.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

AI Citation Tracker (the 2026 GEO measurement surface)

You build a multi-engine AI citation tracker. Modern SEO platforms still optimize for Google's blue links. Meanwhile, generative engines deliver 30%+ of informational answers without a click — and those engines DO cite sources, just not in a place Search Console can see. Your job is to make that surface measurable.

============================================================ === PRE-FLIGHT ===

  • Brand name(s): canonical + variants (e.g., "Stripe" + "stripe.com" + product names + key personnel).
  • Domain(s): your URL(s) to detect in citations.
  • Competitor list: 5-15 brands you track share of voice against. Without competitors, you have a vanity-metric tracker.
  • Query universe: 25-200 priority queries. From: GSC top queries, internal taxonomy, sales objection list, support tickets, customer interviews.
  • API access: At least one of — OpenAI API (ChatGPT with browsing), Anthropic API (Claude), Perplexity API, Google AI Studio API (Gemini), Bing Custom Search. Without APIs, fall back to headless browser polling (slower, more brittle).
  • Storage: SQLite for solo / Postgres for team / BigQuery for enterprise.

Recovery:

  • No competitor list → auto-derive top 5 from cited URLs after 1 week of polling, then prompt user to confirm.
  • No API keys → generate Playwright-based engine adapters that hit the consumer UIs (with explicit fragility warning + need-for-residential-proxy notice).

============================================================ === PHASE 1: ENGINE ADAPTERS ===

One adapter per engine. Each adapter answers: "given query Q, what answer was generated and which URLs were cited?"

class EngineAdapter(Protocol):
    name: str  # "chatgpt" | "perplexity" | "claude" | "gemini" | "ai_overviews" | "bing_copilot"

    async def query(self, query: str) -> EngineResult: ...

@dataclass
class EngineResult:
    engine: str
    query: str
    asked_at: datetime
    answer_text: str           # the synthesized answer
    citations: list[Citation]  # ordered as cited
    sources_attribution: str | None  # raw sources HTML/markup if returned
    raw_response: dict          # for replay/debug
    cost_usd: Decimal

@dataclass
class Citation:
    rank: int                  # 1-indexed position in the answer
    url: str
    title: str | None
    snippet: str | None

Engine-specific notes:

EngineAuthKey URLCost ballparkNotes
ChatGPT (browsing)OpenAI API/v1/responses w/ web_search_preview tool$5-15 per 1k queriesReturns annotations[] with citation URLs
PerplexityPerplexity API/chat/completions with model=sonar-pro$5/1M input + $15/1M outputReturns citations array natively
Claude (with search)Anthropic API/v1/messages w/ tools=[web_search_20250305]$3/1M input + $15/1M output + $10 per 1k searchesReturns citations as part of content
GeminiGoogle AI Studio APIgemini-2.5-pro w/ Google Search grounding$1.25/1M + $5/1MReturns grounding metadata with URLs
AI OverviewsSerpAPI / Bright Data SERPn/a (no first-party API)$5-20 per 1k queriesScrape Google SERP, extract AI Overview block + sources
Bing CopilotBing Custom Search + Copilot scrapern/a (no API)$5-20 per 1k queriesHeadless or SerpAPI
You.comYou.com API (free tier)/api/searchFree / meteredReturns sources
Phindscrape onlyn/aproxy costHeadless

VALIDATION: At least 3 engines wired and returning citations end-to-end against a smoke-test query.

FALLBACK: If an engine API is down/rate-limited, the polling job continues other engines + retries the failed one with exp backoff. Single-engine failure never blocks the run.

============================================================ === PHASE 2: STORAGE SCHEMA ===

SQLite/Postgres schema (Prisma-style):

CREATE TABLE Query (
  id INTEGER PRIMARY KEY,
  text TEXT NOT NULL UNIQUE,
  intent TEXT,                -- informational | commercial | transactional
  priority INTEGER DEFAULT 5, -- 1=critical, 10=long-tail
  added_at DATETIME
);

CREATE TABLE Brand (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,         -- canonical
  aliases TEXT,               -- JSON array
  domain TEXT,                -- if applicable
  is_self BOOLEAN DEFAULT FALSE,  -- our brand vs competitor
  added_at DATETIME
);

CREATE TABLE Poll (
  id INTEGER PRIMARY KEY,
  query_id INTEGER REFERENCES Query(id),
  engine TEXT NOT NULL,
  polled_at DATETIME NOT NULL,
  answer_text TEXT,
  cost_usd DECIMAL,
  raw_response JSON
);

CREATE TABLE Citation (
  id INTEGER PRIMARY KEY,
  poll_id INTEGER REFERENCES Poll(id),
  rank INTEGER,
  url TEXT NOT NULL,
  domain TEXT,                -- derived
  title TEXT,
  snippet TEXT,
  brand_matched INTEGER REFERENCES Brand(id)  -- nullable
);

CREATE TABLE BrandMention (
  id INTEGER PRIMARY KEY,
  poll_id INTEGER REFERENCES Poll(id),
  brand_id INTEGER REFERENCES Brand(id),
  mention_count INTEGER,      -- in answer_text
  cited BOOLEAN,              -- did a URL of theirs appear in citations
  sentiment REAL              -- -1 to 1, optional
);

CREATE INDEX idx_poll_query_engine_date ON Poll(query_id, engine, polled_at DESC);

VALIDATION: Schema migrates cleanly. Sample query inserts + reads.

============================================================ === PHASE 3: POLLING ENGINE ===

Generate the polling worker (Python / Node). Schedule:

  • Daily: top 25 queries × all engines (≈ $5-15/day for ~150 calls).
  • Weekly: full universe (100-200 queries) × all engines.
  • On-demand: ad-hoc query investigation.

For each poll:

  1. Call engine adapter.
  2. Persist Poll row + Citation rows.
  3. Run brand-mention detection on answer_text:
    • Match canonical + aliases (case-insensitive, word-boundary regex).
    • Count occurrences.
    • Optional: sentiment via small LLM call on the mention context.
  4. Run domain-matching on citations against Brand.domain.

Rate-limit aware: respect each provider's RPM. Built-in token-bucket. Exponential backoff on 429.

VALIDATION: Daily run completes within window. Cost stays under budget (configurable, default $20/day cap).

============================================================ === PHASE 4: METRICS & DELTAS ===

Computed per (engine, query, week):

MetricDefinition
CitedBoolean — did our URL appear in citations?
MentionedBoolean — did our brand name appear in answer text?
Citation rankIf cited, what position (1 = first)?
Share of voice(our brand mentions) / (total brand mentions in answer)
Citation share(our citations) / (total citations)
Competitor cited countDistinct competitor brands cited in answer
Answer lengthWord count of synthesized answer
WoW citation deltaCited this week minus cited last week, by query
Top moversQueries with largest WoW citation gain/loss
Citation gapsQueries where competitors are cited but you aren't
Win-back queueQueries where you WERE cited 4 weeks ago but no longer are

Persist daily; aggregate weekly. Generate metrics_weekly.csv.

VALIDATION: Metrics reconcile (per-query sums match aggregates). Weekly delta is non-empty after 2+ weeks of polling.

============================================================ === PHASE 5: REPORTING ===

Generate three reports:

weekly_report.md — for the team / boss:

  • TL;DR: citations gained, lost, share-of-voice movement.
  • Top 5 winners (queries newly citing you).
  • Top 5 losers (queries no longer citing you).
  • Top 5 citation gaps (where competitor X is cited 5+ engines, you're cited 0).
  • Recommended content actions (per query, what to write/update to get cited).

competitor_matrix.csv — engine × competitor matrix of citations:

QueryChatGPTPerplexityClaudeGeminiAI OverviewBing Copilot
"best CRM"Us, Hubspot, SalesforceHubspot, SalesforceUsHubspotSalesforce, UsHubspot

citation_gap_actions.md — prescriptive: For each citation gap, output: target query + which engines miss us + competitor URLs cited + a content brief stub (chain into /seo-content-brief).

VALIDATION: Reports render. CSV imports cleanly into Excel/Sheets.

============================================================ === PHASE 6: ALERTING & DASHBOARD ===

Push-style alerts:

  • Brand mention sentiment swing (sentiment drops > 0.3 in any engine) → Slack/email.
  • Citation loss on top-10 query → Slack/email same-day.
  • Competitor newly cited on tracked query → daily digest.
  • Cost over budget → throttle + alert.

Optional dashboard: Streamlit or Next.js + Prisma. Tabs: Overview, Per-Engine, Per-Query, Competitor Drill, Cost.

VALIDATION: Alerts fire on simulated event in test. Dashboard renders against the SQLite DB.

============================================================ === PHASE 7: HOW THIS BEATS LEGACY SEO TOOLS ===

CapabilitySemrush / AhrefsVisibly AIThis skill
Google rank tracking✅✅ (via GSC)(separate skill: gsc-pull)
AI Overview citation trackingpartial❌✅
ChatGPT citation tracking❌❌✅
Perplexity citation tracking❌❌✅
Claude / Gemini tracking❌❌✅
Share-of-voice across all AI engines❌❌✅
Citation-gap → content brief chain❌partial✅ (→ seo-content-brief)
Open data (your DB, no vendor lock)❌❌✅
Composable with other agents❌partial✅
Cost: per-month$129-$499€39-€399API costs only (~$10-50/mo)

VALIDATION: This positioning resonates with users who already pay for one of the above.

============================================================ === SELF-REVIEW ===

Score 1-5:

  • Complete: 6+ engine adapters, schema, polling, metrics, reports, alerts?
  • Robust: Single-engine failure doesn't break the pipeline? Rate-limit / budget controls?
  • Clean: Citations dedupe? Brand matching handles aliases/case?
  • GEO-credible: Would a CMO who's seen Visibly / Profound / Otterly / Brand24's AI module recognize this as production-grade?

Common gap: matching only canonical brand name, missing variants. Generate the alias seed list from the user's marketing site + Wikipedia + Crunchbase.

============================================================ === LEARNINGS CAPTURE ===

~/.claude/skills/ai-citation-tracker/LEARNINGS.md.

============================================================ === STRICT RULES ===

  • Never poll without rate-limit / budget caps. AI engine APIs are billed; runaway loops are expensive.
  • Never silently drop a failed engine. Surface the failure in the run report.
  • Never use brand matching by canonical name alone. Aliases + variants are required.
  • Always include competitor tracking. Share-of-voice without comparison is a vanity number.
  • Always preserve raw_response. New citation patterns emerge; you'll want to replay.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

508-audit

무료

Run a full Section 508 + WCAG 2.2 Level AA accessibility audit on a federal / .gov / public-sector website or ICT product. Triggers: "Section 508", "508 audit", "WCAG", "VPAT", "ACR".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Analyzes actuarial modeling systems for loss reserving accuracy, premium pricing methodology, mortality/morbidity tables, stochastic modeling, and capital adequacy per SOA and Solvency II standards..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Analyzes advertising yield across programmatic and direct-sold inventory including CPM/CPC/CPA performance, header bidding efficiency, fill rate optimization, inventory monetization strategies, and compliance with IAB standards and OpenRTB protocols..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

adr

무료

Create and manage Architecture Decision Records using the Michael Nygard format. Triggers: you need to document architecture decisions, record technical choices, explain why a technology was chosen.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Analyzes affordable housing management software for unit allocation algorithms, waitlist management, income verification workflows, Fair Housing compliance, LIHTC and Section 8 program tracking, inspection scheduling, and tenant reporting..

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

Rewrites existing landing pages, blog posts, and documentation so AI search engines (Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini) cite them. Triggers: an existing page underperforms in AI answers despite ranking well in classic SERPs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

tinh2/skills-hub-registry202026년 9월 5일 업데이트

tinh2의 스킬 모두 보기

이 스킬의 문제 신고