kai-brand-pulse

SkillMonitoring & ops

Multi-platform brand intelligence pulse - collect cited public reputation evidence across web, news, YouTube, X, LinkedIn, Reddit, and review sites, then turn it into objection mining, content angles, competitor positioning, and surround-sound actions. Use when "brand monitor", "brand pulse", "what are people saying about us", "multi-platform reputation", "brand intelligence", "weekly brand monitoring", "objection mining", or "public reputation scan".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the kai-brand-pulse skill

What this skill tells your AI

The instructions your AI receives, as published by cgallic/kai-cmo-harness in harness/skills/kai-brand-pulse/SKILL.md and read by ahel’s review.

Kai root note: knowledge/, harness/, and scripts/ paths in this skill live in the Kai install, not the user's project. Resolve them against the first ancestor directory of this SKILL.md that contains a knowledge/ folder (the Kai plugin root, ~/.claude/kai, or the kai-cmo-harness repo). MARKETING.md, memory/, and any output files live in the current project. If a referenced scripts/ command is not available in this install, say so, skip it, and continue with the file-based guidance — never fabricate its output.

/kai-brand-pulse — A Cited Read On What The Public Web Says

Objective

A current, source-backed picture of a brand's public reputation across web, news, YouTube, X, LinkedIn, Reddit, and review sites — converted into the things marketing can act on: an objection bank in buyers' own words, content angles tied to evidence, competitor positioning, and surround-sound moves. Every claim points at a citation id.

Evidence first, analysis per platform, synthesis last. The order matters because one loud platform will otherwise swallow quieter evidence that is more useful.

Use it for a current public read on a brand, product, founder, or client; for objection mining feeding copy, sales, ads, social, or lifecycle; for competitor positioning evidence before /kai-brand, /kai-competitors, or /kai-surround-sound; and for weekly delta monitoring.

Do not use it for a full marketing audit (/kai-audit), for technical SEO or agent-readiness alone (/kai-seo-audit, /kai-surround-sound), when there is no approval to collect on a sensitive individual, or when the plan is to publish claims without citations.

Done when

Work type audit-report — floor E3/C4/O1 (harness/eco-floors.yaml), client_facing: true.

  • E3 — the delivered pulse is the approved version and every claim in it resolves to a citation id in the run's raw/ archive or a collector source id.
  • C4 — the Kai Data Provenance Rule: raw search responses and the query plan stored before synthesis, _data-gaps.md filled for every surface that could not be reached, banned_word_check clean, and python scripts/quality_gates/audit_provenance_lint.py <run-folder> --audit-dir passing where the run is client-facing.
  • O1 — each recommended action names the metric it targets and its owner. The pulse's own outcome is whether its recommendations were adopted.

Constraints

  • Cite every client-facing claim with a citation id or a collector source id. No citation, no claim.
  • Store the raw archive and query plan before synthesis. Synthesis that cannot be re-derived from the archive is not a pulse, it is an opinion.
  • Never report review counts, rankings, traffic, share of voice, sentiment share, or platform volume unless the source directly provides them. Search output is a sampled evidence packet and gets labeled as sampled search evidence. "Observed in search results" is not market share and is not sentiment share.
  • Missing access goes to _data-gaps.md — missing APIs, private platform access, unavailable exports. Not to an estimate.
  • Live search needs SERPAPI_API_KEY. Without it the runner archives the query plan and writes data gaps; it does not invent findings.
  • Read MARKETING.md if present for brand name, domain, ICP, category, competitors, positioning, and voice constraints.
  • For client-facing or quantitative recommendations, load harness/references/audit-data-provenance.md and run the shared collector before writing final claims, declaring sales_external, onboarding_connected, or internal_demo. Cite collector sources for domain, schema, sitemap, or metric claims.
  • Analyze one platform at a time, using only that platform's packet as source material, and keep platform conclusions separate until every packet has been read.
  • KaiCalls Fit Rule applies to phone-led businesses: recommend it only when phone-capture evidence supports it, disclose Kai ownership, compare alternatives.
  • Any publishable copy generated from the pulse goes through /kai-gate before it ships.
  • Sensitive individuals require approval before collection.

Context

NeedLoad / run
Provenance rule, modes, source tiersharness/references/audit-data-provenance.md
Brand, domain, ICP, category, competitorsMARKETING.md (project root)
Evidence collection runnerpython scripts/intel/brand_pulse.py "<brand>" --domain "https://example.com" --category "<category buyers ask about>" --competitor "Competitor A" --competitor "Competitor B" --out "workspace/brand-pulse/<brand>-YYYY-MM-DD"
Runner variants--skip-fetch · --wiki-dir "<brain-wiki-folder>" · --json
Shared source collectorpython -m kai.source_data.collect --url "https://example.com" --firm-name "<brand>" --workflow brand-pulse --mode sales_external --out "workspace/brand-pulse-data"
Weekly delta historydata/intel/brand_pulse.db (SQLite, first-seen / last-seen)

Surfaces collected by default:

SurfaceCollection patternWhy it matters
WebBrand, reviews, alternatives, pricing, own-domain entity queriesEntity footprint and objections
NewsBrand and category news queriesAuthority, recency, PR angles
YouTubesite:youtube.com search fallbacksReviews, demos, creator narratives
Xsite:x.com, site:twitter.com fallbacksFast-moving complaints, praise, comparisons
LinkedInsite:linkedin.com/posts and company fallbacksB2B proof, founder and category narratives
Redditsite:reddit.com fallbacksRaw objections and buying language
Review sitesG2, Capterra, Trustpilot, Clutch, Yelp fallbacksSocial proof, complaints, competitor context

Per-platform analyzer output — repeated claims (what the market keeps saying), objections (which pain, doubt, pricing, trust, or support language repeats), proof gaps (what proof buyers need that the brand does not visibly supply), competitor context (who appears beside the brand and why), content angles (what Kai can write, publish, pitch, or test), and AEO actions (which citations, pages, or entity signals feed /kai-surround-sound).

Cross-platform synthesis produces six things: narrative map, objection bank with cited examples, competitor positioning, evidence-tied content angles, surround-sound actions (third-party citation, directory, review, forum, own-domain AEO), and monitoring deltas since the last run.

Finding → next Kai move:

FindingNext move
Repeated pricing objection/kai-landing-page, /kai-write, or a sales FAQ refresh
Repeated competitor comparison/kai-competitors plus a comparison page brief
Reddit objections/kai-reddit-listen profile keywords and reply guardrails
Thin review-site footprintReview request system, directory cleanup, or /kai-surround-sound
Strong third-party praiseRepurpose into proof assets, ads, case studies, AEO citations
Missing own-domain entity clarity/kai-brand, /kai-seo-audit, then /kai-surround-sound

Output goes to workspace/brand-pulse/<run>/: brand-pulse-data.json, _brand-pulse.md, _content-angles.md, _objection-mining.md, _surround-sound-actions.md, _monitoring-plan.md, _data-gaps.md, raw/query-plan.json, and platforms/ (web.md, news.md, youtube.md, x.md, linkedin.md, reddit.md, reviews.md).

Weekly monitoring: run the same brand on a schedule against the same output convention, e.g. 0 8 * * 1 cd /path/to/kai-cmo-harness && python scripts/intel/brand_pulse.py "<brand>" --domain "https://example.com" --category "<category>" --out "workspace/brand-pulse/<brand>-$(date +\%F)". Pass --wiki-dir to write a pointer page for Brain wiki ingestion; the full raw archive stays in the workspace.

Escalate when

  • The subject is a private individual, or a named person whose coverage is sensitive, and approval has not been given.
  • Search access is unavailable and the user wants conclusions anyway.
  • Evidence surfaces a legal, safety, or crisis-communications issue rather than a marketing one.
  • Findings would require a public response on a live channel — that is a separate approval.
  • The brand's own claims contradict cited third-party evidence in a way that implicates advertising compliance.

Signals

GitHub stars
47
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
kai-brand-pulse
Source
github.com/cgallic/kai-cmo-harness