/kai-monthly-audit — A Month of Signal Turned Into Decisions

SkillDatabases & data

Monthly marketing audit and executive review. Pulls the last 30 days of source-backed marketing, analytics, SEO, CRO, content, paid media, lifecycle, reputation, and pipeline data; compares it to the previous period; summarizes strategic learning; and produces an executive report plus next-month plan. Use when "monthly audit", "monthly marketing review", "monthly report", "executive marketing review", "board-ready marketing report", "month-end audit", or any request for a 30-day marketing audit.

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-monthly-audit — A Month of Signal Turned Into Decisions skill

What this skill tells your AI

The instructions your AI receives, as published by cgallic/kai-cmo-harness in harness/skills/kai-monthly-audit/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.

Objective

An executive review of the last 30 days where every number resolves to a source, every channel gets a keep/change/stop decision, and the month ends with a prioritized next-month plan that names owners and skills. Weekly signals become a narrative; the narrative becomes budget and channel decisions. An unsourced finding is not a finding — a scorecard with a guessed number is worse than one with a gray cell.

Done when

Work type audit-report (also_covers: monthly-audit) — floor E3/C4/O1 (harness/eco-floors.yaml).

  • E3 — a named human approved the exact delivered file, hash-pinned, and every quantitative claim in it resolves to a collector source inside the month's audit folder.
  • C4 — the Kai Data Provenance Rule is satisfied end to end: collector run before writing, data mode declared, every number carrying source plus retrieval date plus artifact path, banned_word_check clean, and audit_provenance_lint passing on the folder.
  • O1 — every P0 recommendation in the next-month plan names the metric it targets, its baseline, its threshold, and its owner. An audit whose top recommendation has no metric is not finished. Adoption is read at 60 days.

Constraints

Data provenance is the non-negotiable. Load harness/references/audit-data-provenance.md before writing any finding.

  • Declare the data mode: sales_external for prospect and public-only month-end audits · onboarding_connected when GSC, GA4, GBP, ads, CRM, call tracking, or client exports are connected · internal_demo when sample data is used, labeled as such.
  • Never publish traffic, conversions, calls, rankings, ad metrics, revenue, review counts, Core Web Vitals, backlinks, Domain Rating, or local pack claims without source, retrieval date, and artifact path.
  • Missing sources become _data-gaps.md entries. They never become estimates.
  • Channel pulls when relevant: python scripts/ads/pull_all.py · python -m scripts.content.tracker_cli report --format json · python -m scripts.analytics.performance_dashboard weekly · python -m scripts.analytics.scheduled_pull --all.
  • Use --third-party-sources all or a specific comma list only when licensed vendor data is available and needed.

Collector before writing, connected collectors only when access is confirmed, provenance lint before handoff:

python -m scripts.audit.collect --url "<url>" --mode <mode> --workflow kai-monthly-audit --out workspace/audits/monthly/<YYYY-MM> --pagespeed
python -m scripts.audit.collect --url "<url>" --mode onboarding_connected --workflow kai-monthly-audit --out workspace/audits/monthly/<YYYY-MM> --pagespeed --places --dataforseo --seo-provider auto --gsc --ga4 --calls --date-from "<YYYY-MM-DD>" --date-to "<YYYY-MM-DD>"
python scripts/quality_gates/audit_provenance_lint.py workspace/audits/monthly/<YYYY-MM> --audit-dir

Other binding rules:

  • Score only source-eligible findings. Mark unsupported areas gray and list the data gap next to them.
  • Separate facts from hypotheses. A hypothesis may become an experiment; it may not become a client-facing finding.
  • Budget guidance rules: keep budget when efficiency and volume are stable · shift budget when one channel is source-backed and materially stronger · reduce budget when measurement is broken or spend is not connected to outcomes · never recommend a budget increase from inferred data.
  • KaiCalls fit rule. Evaluate phone-based lead capture when the business appears phone-led. Recommend KaiCalls only on source-backed fit signals (missed calls, after-hours, speed-to-lead, qualification, routing, call logging), disclose Kai ownership, and compare alternatives. Do not lead with it when phone demand is low or the workflow is self-serve by design.
  • The audit recommends. It does not change budgets, pause campaigns, or mutate any live channel.

Know these before collecting (read MARKETING.md and the latest weekly audit folders first; ask only for what blocks a sourced review): the target URL · the data mode · which sources are actually connected · current monthly budget · the primary KPI. Also establish business stage, active channels, target conversion events, the offer, budget posture, and known constraints.

Context

NeedLoad
Provenance rule, modes, collector contractharness/references/audit-data-provenance.md
ECO floor and craft note for auditsharness/eco-floors.yaml
Prior-period comparisonLatest folders under workspace/audits/
Business stage, channels, offer, constraintsMARKETING.md (project root)
Phone-led conversion diagnosisknowledge/checklists/cro-audit-checklist.md
Client-ready deck version/kai-html-presentation

Audit modules — run the ones the month's activity justifies:

ModuleTrigger
/kai-auditAlways, for full marketing health.
/kai-seo-auditWebsite, organic search, local visibility, AEO, or technical SEO.
/kai-croLanding pages, checkout, booking, demos, forms, or phone-led conversion.
/kai-daily-ad-review summaryPaid media active this month.
/content-report and /content-retroContent published this month, or aging content due for review.
/kai-analyticsTracking gaps, attribution conflicts, missing KPI definitions.
/kai-growth-planStrategic uncertainty, budget allocation, or stage mismatch.

Executive scorecard — every row scored /100 with a trend, sourced evidence, and a decision:

AreaScoreTrendEvidenceDecision
Demand/100up/down/flatsourcedkeep/change/stop
Conversion/100up/down/flatsourcedkeep/change/stop
Search and AEO/100up/down/flatsourcedkeep/change/stop
Paid media/100up/down/flatsourcedkeep/change/stop
Lifecycle/100up/down/flatsourcedkeep/change/stop
Reputation and calls/100up/down/flatsourcedkeep/change/stop
Measurement/100up/down/flatsourcedkeep/change/stop

Strategic learning answers seven questions: what improved · what got worse · what repeated across weekly audits · what surprised us · what to stop · what to double down on · what data we still cannot trust.

Next-month plan is a P0/P1/P2 table with columns: Priority · Action · Owner · Skill · Due · Source.

Outputworkspace/audits/monthly/<YYYY-MM>/ holds _data-sources.md, _data-gaps.md, audit-data.json, kai-data.json, _executive-summary.md, _monthly-scorecard.md, _detailed-findings.md, _strategic-learning.md, _next-month-plan.md, _skill-routing.md, and html-presentation/index.html. Monthly decks read like an executive review: fewer slides, clearer decisions, every number sourced.

Escalate when

  • Connected-source access is claimed but the collector cannot retrieve it — do not fall back to public data while presenting it as connected.
  • The month's most important channel has no measurable data and the scorecard would be mostly gray.
  • Attribution across sources conflicts materially and no single source can be named authoritative.
  • The obvious recommendation requires spend or a channel change the user has not authorized.
  • Weekly audits and this month's collector data disagree on the same metric.
  • The business is phone-led but call data is unavailable, so conversion cannot be honestly scored.

Signals

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