Campaign Review logo

Campaign Review

Community
davekilleen
campaign-review

Use when a completed or in-flight marketing campaign needs an evidence-backed review of its goal, baseline, targets, actuals, or learnings.

Overview

Publisherdavekilleen
RepositoryDex
Skill namecampaign-review
Stars
481
Forks
130
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by davekilleen on GitHub. Read the source before you install it.

Installation

Install the Campaign Review AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/davekilleen/Dex.git /tmp/Dex
mkdir -p .claude/skills
cp -r /tmp/Dex/packages/dex-agent-plugin/skills/_available/marketing/campaign-review .claude/skills/campaign-review
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Campaign Review in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Campaign Review on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Campaign Review is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Campaign review

When to use

Use this skill for a named campaign with a stated measurement window and enough source material to compare intended outcomes with observed results. It supports a partial review when some results are pending, as long as the gaps remain visible.

Do not use it to optimize a live campaign, change spend, alter targeting, or declare causation from a result alone. Not for publishing a post-mortem, changing campaign records, or contacting customers without a separate preview and human confirmation.

Inputs and source discipline

  • Record the campaign name or identifier, goal, measurement window, timezone, currency and metric units where supplied, and the as-of date/time. Never use an unprovided date as the campaign date.
  • Locate the brief, target definition, channel records, baseline, actual results, spend records, and qualitative feedback. Log each source, its source date, retrieval/as-of date, metric definition, denominator, unit, and scope.
  • Require a comparable baseline: document its period, source, definition, and known limits. If no baseline exists, state that comparison is unknown rather than constructing one.
  • Treat user-provided targets and platform actuals as separate evidence. Do not silently combine currencies, attribution windows, channels, or reporting periods.

Method

  1. Define the campaign goal and the outcome that would count as success. Record the baseline before reviewing the actuals.
  2. Build a source/date ledger for each target, actual, qualitative observation, and spend item. Preserve the original value and definition.
  3. Normalize target versus actual only when metric, unit, denominator, attribution window, and period match. Show the normalization rule; label non-comparable pairs unknown.
  4. Reconcile totals to channel and source records, then describe changes against the baseline. Keep descriptive change separate from attribution.
  5. Assess attribution limits: identify what the source can and cannot connect to the campaign, record competing activity or missing controls, and distinguish correlation from causation. Timing or co-occurrence is not proof of causation.
  6. Classify each learning as observed, inferred, unknown, stale, or contradictory, with confidence and supporting source/date references. Do not turn feedback into an intent or cause that the source does not state.
  7. Write recommendations and follow-up questions as proposals. If a post-mortem must be saved, show its complete preview and wait for explicit confirmation from the human authority.

Truth and uncertainty rules

  • Observed: a goal, baseline, target, actual, or feedback item directly documented by a dated source.
  • Inferred: an interpretation supported by observed campaign evidence; state the link and confidence rather than presenting it as measured fact.
  • Unknown: missing, inaccessible, non-comparable, or not-yet-final evidence.
  • Stale: a result or baseline no longer current for the requested as-of boundary, or a report superseded by a newer dated report.
  • Contradictory: sources disagree on a goal, target, actual, or explanation; show both values and dates and do not choose one silently.

Never invent dates, metrics, percentages, money, owners, intent, status, causes, or evidence. A recommendation is not a conclusion about why performance changed, and it is not a human decision.

Output contract

Return a review with:

  • campaign scope, goal, measurement window, timezone, as-of date/time, and source coverage;
  • a baseline and target-versus-actual table with definitions, units, denominators, dates, and comparability flags;
  • attribution limits and an explicit correlation-versus-causation assessment;
  • observed learnings, inferences, unknowns, stale items, contradictions, and confidence;
  • recommendations, open questions, and any requested save shown as a draft preview.

Every material number or claim must trace to a source and date. If the denominator or measurement window is unknown, do not calculate a rate or imply coverage.

Safety and write boundaries

Default to read-only. Do not edit campaign platforms, budgets, spend, targeting, status, analytics, or learning records. For a requested save or other action, present the exact preview, obtain explicit confirm from the human authority, and execute only that approved scope. Recommendations remain recommendations; they do not authorize budget or campaign decisions.

Verification and recovery

Read back each result from its source and reconcile target, actual, baseline, totals, denominators, units, and attribution windows before delivery. After an authorized save, read back the destination and reconcile it with the confirmed preview. If a report is stale, a source is contradictory, or a read fails, mark the affected claim and explain the limitation. If a write fails or is partial, stop, preserve the draft and error, report what did and did not change, and wait for human authority before retrying or recovering; never claim the post-mortem was saved without read-back proof.

Frequently asked questions

What does the Campaign Review AI skill do?

Use when a completed or in-flight marketing campaign needs an evidence-backed review of its goal, baseline, targets, actuals, or learnings.

Why use Campaign Review on TypingMind?

Because you install it once and use it with any model. Campaign Review is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Campaign Review in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/davekilleen/Dex/tree/main/packages/dex-agent-plugin/skills/_available/marketing/campaign-review. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Campaign Review?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Campaign Review?

As many as you like. As long as a model supports skills, you can use Campaign Review with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Campaign Review AI skill free?

It is published on GitHub by davekilleen. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇