Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add katekruger/campaign-preflight/plugin install campaign-preflightWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/katekruger/campaign-preflight/preflight-campaign)<a href="https://agentmods.dev/skills/katekruger/campaign-preflight/preflight-campaign"><img src="https://agentmods.dev/badge/skills/katekruger/campaign-preflight/preflight-campaign/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/katekruger/campaign-preflight/preflight-campaign"><img src="https://agentmods.dev/badge/skills/katekruger/campaign-preflight/preflight-campaign.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00126 | $0.01451 |
| Opus 5 | $0.00063 | $0.00726 |
| Sonnet 5 | $0.00025 | $0.00290 |
| Haiku 4.5 | $0.00013 | $0.00145 |
Grade A, and why
preflight-campaign scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Preflight a campaign
Run the bundled checker over a campaign and report what would go wrong. The checker is deterministic and read-only: it inspects, and it cannot activate, edit, or send anything.
Do this first: figure out what you were given
The user will arrive with one of four things. Identify which, then follow that path. Do not ask a long questionnaire — collect what is needed and go.
| What you have | Path |
|---|---|
| File paths, or an uploaded file | A. Files |
| A lead list or copy pasted into chat | B. Pasted |
| Only a description in conversation | C. Described |
| Nothing yet | D. Nothing |
Everything ends the same way: build a campaign file and a leads CSV in a scratch directory, run the checker, and report the result in plain language.
A. Files
Confirm the paths exist, then run it. A campaign file and a leads file are required; the rest are optional and their absence is reported honestly.
"${CLAUDE_PLUGIN_ROOT}/bin/preflight" check \
--campaign <campaign.yaml> \
--leads <leads.csv> \
--suppressions <suppressions.csv> \
--evidence <evidence.json> \
--config <preflight.yaml>
If the user uploaded a file, it is already on disk — use the path Cowork gives you. If they only have a lead list and no campaign file, treat it as path C for the campaign half: ask about the sequence and build the campaign file.
B. Pasted
Write what was pasted into a scratch directory, then run path A.
- Create a working directory:
mktemp -d. - If they pasted a lead list: write it to
leads.csv. Add a header row if it is missing — readreferences/input-formats.mdfor the accepted column names, which are generous (Email/E-Mail Address/work_email all resolve). - If they pasted campaign copy: build
campaign.yamlaround it using the template inreferences/input-formats.md. - Fill any gap by asking, or by following path C.
Never paste contact data back into the conversation unedited. The checker redacts mailboxes by default; keep it that way.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 142 lines · 126 tokens per session scan A efcc53ecfa2b
preflight-campaign is a skill published in the GitHub repository katekruger/campaign-preflight (0 stars, last pushed 3d ago), licensed MIT. It adds 126 tokens to every session and 1,451 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
deploy-docker-compose
Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack…
taiyi-ui-design
A design-planning guide for describing how an application's user interface should look and behave. It produces a UI-DESIGN.md document covering layouts, components, interactions, accessibility, and error states.
ln-62-repository-publisher
Commits, pushes, and remotely verifies authorized repository changes. Not for releases, package publication, or announcements.
remove
Remove a deployed framework or addon from the current workspace.
maggy
Maggy is a local AI engineering command center. AI-prioritized inbox across issue trackers (GitHub Issues/Asana), one-click TDD execute with iCPG context enrichment, daily competitor intelligence briefing.
qa-knowledge
To run QA engineering — requirements/gap analysis, scenario & spec design, test implementation, failure triage — over the QA knowledge base.