insurgent-campaign
Grassroots-first campaign design for anyone being outspent — startups vs. incumbents, NGOs vs. corporate comms, movements vs. state-backed machines, solo brands vs. big-budget competitors. Ideates awareness, launch, fundraising, mobilization, community-build, counter-narrative, referral, founder-story, and coalition campaigns. Triggers on "campaign plan", "marketing strategy", "ad budget", "should I advertise", "paid vs organic", "launch plan", "grassroots", "low budget marketing", "NGO campaign", "outspent", "competitor has bigger budget", "how do I compete without money". Also trigger on any spend asymmetry, collapsing organic reach, rising CPAs, or a trust/credibility problem — even without the word "campaign". Nudge activation when the user debates buying ads, boosting posts, or hiring influencers; they are likely about to burn money on a channel that will not persuade.
What this skill does
# Insurgent Campaign
A campaign-design skill for organizations and people who cannot win by outspending. It ideates
campaign concepts across every major archetype, audits the user's spend asymmetry against
their competition, assembles an insurgent channel stack, sets strict boost gates on any
paid spend, and produces a lift-test plan so the user measures incremental impact rather
than vanity metrics.
## Core Premise
**Paid media scales attention. Organic narrative and grassroots networks scale trust.**
When trust is the bottleneck — and in 2025–2026, for most underdogs, it is — additional
ad spend hits diminishing and then negative returns. Saturation, inauthenticity, and narrative
incoherence produce reactance, not persuasion. The leverage point is not reach; it is credibility
and message-market fit.
Empirical spine:
- Academic field experiments show digital ad ROI confidence intervals are so wide that most
campaigns cannot be statistically distinguished from zero lift (Lewis & Rao, "The
Unfavorable Economics of Measuring the Returns to Advertising," *Quarterly Journal of
Economics* 2015). Meta and Google both ship Conversion Lift / Brand Lift tools precisely
because *they* distinguish attributed conversions from incremental conversions — the
platforms' own tooling is the tacit admission that dashboard ROAS is not causal.
- Across 18,000+ brands, CPA rose in 13/14 industries in 2025; ROAS fell in 13/14; conversion
rates fell in 13/14. More money is buying fewer results.
- Facebook organic engagement sits near 0.15%, Instagram ~0.50%, X ~0.15%, TikTok ~2.50% — still
the best organic window but compressing fast.
- Meta and Google both ended political/issue ads in the EU in October 2025, removing paid channels
entirely for large categories and forcing organic to carry the campaign.
- Under the most extreme spending asymmetry imaginable (a grassroots party vs. a €4B state-backed
communications apparatus with foreign support), the side with near-zero paid media won a
parliamentary supermajority in Hungary in April 2026 — see `references/hungarian-case-study.md`.
The same curve bends commercial advertising. The skill treats paid as an *amplifier of proven
organic winners*, never as a standalone channel.
## When to Apply This Skill
Apply when the user:
- Asks to plan any campaign (marketing, launch, fundraising, mobilization, awareness, turnout).
- Describes being outspent by a competitor, incumbent, or adversary.
- Is considering ad spend, boosts, influencer deals, or scaling a paid channel.
- Is watching their organic reach collapse and wondering what to do.
- Is preparing for a launch, election, fundraise, product push, or cause-led moment.
- Is deciding between paid and organic allocation, or between channels.
Also apply when no explicit "campaign" is named but the user is debating where to invest
time and money for distribution.
## Workflow
The skill runs in seven stages (1, 2, 3, 3a, 4, 5, 5b). Do not skip stages; later
stages depend on the user's answers and selections from earlier ones. Stage 3a
(MMF Gate) can refuse the full campaign plan and route the user to validation work
instead. Stage 5 ends with a shape selection — Stage 5b only begins once the user
has picked one of the three shapes.
This skill is designed to be portable across agent environments. Where the workflow
says "ask the user," use whatever structured-question facility your environment
provides (in Claude Code that is the `AskUserQuestion` tool, batching up to 4
questions per call); if no structured tool exists, ask in plain text and wait for
the user to reply before continuing. Either way, never invent answers.
**Resume Protocol (idempotency).** Before producing any output, scan the
conversation for prior skill output. If a section's heading (`## N. <name>`)
is already present in the conversation, do not regenerate it. Pick up at the
first stage whose Contract preconditions are satisfied AND whose output
section(s) are not yet in the conversation. If the user explicitly asks to
restart, restart from Stage 1; otherwise resume rather than rerun. This makes
the skill safely re-invokable: a second call in the same conversation produces
only the next incremental section, never duplicates or regressions to earlier
stages. Scope: idempotency holds within a single conversation; if prior output exists only in an external file or a previous session, paste it into the conversation first or restart from Stage 1.
**Stage Contracts.** Each stage below opens with a **Contract** block declaring
inputs, outputs, preconditions, postconditions, and failure modes. The contract
is the structural boundary — it is what makes the stage retry-safe, error-
explicit, and self-describing. Treat the contract as binding: if the
preconditions are not met, do not enter the stage; if a failure-mode trigger
fires, take the declared action rather than improvising.
### Stage 1 — Interview / Brief Capture
**Contract**
- Inputs: user's initial brief (free text, any length).
- Outputs: Section 0 (Assumptions table) under Mode C; mode-tag (A/B/C) and the 8 fields captured in working memory for downstream stages.
- Preconditions: none (entry stage).
- Postconditions: all 8 fields have a value (captured, defaulted, or flagged as `[ask]` for a still-pending question); mode is determined.
- Failure modes:
- any always-capture field missing under Mode C → add it to the question batch; do not default silently.
- a missing field would change Stage 3 asymmetry classification OR Stage 4 function choice → escalate it into the batch even if it would normally default.
- user gives contradictory values for the same field → ask one clarifying question; do not pick one silently.
The skill has **three intake modes**. Pick the mode that matches the user's brief
before asking any questions.
**Mode A — Full-brief mode.** The user has volunteered all 8 fields below up front
(in a pasted brief, a prior plan, a detailed message). Skip the interview entirely,
confirm understanding in one sentence, and proceed to Stage 2.
**Mode B — Interview mode.** The user explicitly asks to be scoped ("help me figure
out what this campaign should be," "walk me through it," "interview me"). Ask the 8
questions below in batches of ≤4 per turn, using the environment's structured
question facility if one exists (see the structured-tool note in the Workflow
section above). Do not invent answers. Do not merge questions.
**Mode C — Default mode (for terse briefs).** The user gave a short brief
(≤2 sentences) without asking for an interview. This is the common case. Do NOT run
the full 8-question interview — it turns a 12-word prompt into an interrogation.
Instead:
1. **Always-capture fields (ask once, batched).** Four fields are too material to
default silently; getting them wrong produces a generic plan. Ask the user in
**one batch** of up to 4 questions covering:
- **Outcome** — what specific action is the campaign driving (signups, ticket
sales, votes, donations, attendance, pre-orders, qualified demos)?
- **Audience** — who is the target? Who experiences the problem? Geography,
seniority, community membership. "Everyone interested in AI" is not an
audience; "London-based senior AI/ML engineers at Series A–C startups" is.
- **Sector** — pick from the 6 riders in `references/sector-riders.md`
(`cohort-education`, `b2b-saas`, `ngo`, `consumer-brand`, `political-civic`,
`personal-brand`), or `other` with a one-sentence description. The sector
rider materially changes Stage 4 channel weighting and Stage 5 archetype
defaults.
- **Budget** — what can you actually spend per month (€0 / <€1k / €1k–10k /
€10k+) and what is the competitor's rough spend (unknown / similar / 5×
ours / 50×+ ours)? Budget materially changes Stage 3 asymmetry
classification and Stage 4 paid-channel availability. Never default this
silently.
If one of these four fiRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".