skills/executing-marketing-campaigns/SKILL.md
Use when planning, structuring, or optimizing a marketing campaign -- including channel selection, budget allocation, measurement setup, or diagnosing why a running campaign is underperforming. Also activate when the user asks about go-to-market execution, campaign calendars, or multi-channel coordination. NEVER for brand identity/voice work (use brand skills), pure copywriting without campaign context (use copywriting skills), or ad creative review.
npx skillsauth add sharkitect-solutions/sharkitect-claude-toolkit executing-marketing-campaignsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before doing anything, classify the request. The campaign type determines every downstream decision -- framework, channel mix, timeline, and metrics.
What outcome does the user need?
Generate pipeline / leads --> DEMAND GEN (references/campaign-frameworks.md #demand-gen)
Launch a product or feature --> LAUNCH (references/campaign-frameworks.md #launch)
Reduce churn / increase LTV --> RETENTION (references/campaign-frameworks.md #retention)
Build brand awareness / category --> AWARENESS (references/campaign-frameworks.md #awareness)
Re-engage lapsed users --> WIN-BACK (references/campaign-frameworks.md #win-back)
Test a new channel or message --> EXPERIMENT (references/campaign-frameworks.md #experiment)
Multiple / unclear --> Ask. Do NOT guess. Wrong type = wasted budget.
After classifying, pull the matching framework from the reference file. Each framework includes timeline, channel mix, budget split, success metrics, and kill criteria. Do not improvise these -- use the framework.
These are the practitioner insights that separate campaigns that work from campaigns that "looked good on paper."
Set up tracking, attribution, and reporting BEFORE writing a single line of copy. If you cannot measure the outcome before launch, do not launch. This is the single highest-leverage rule in campaign execution.
The right message in the wrong channel produces zero results. The mediocre message in the right channel still generates pipeline. Always validate channel-audience fit before investing in creative polish.
Most campaigns fail because of no pre-launch validation, not bad execution. Before full launch, always run:
Every channel has a saturation point. Signs you have hit it:
One consistent campaign per month outperforms one "perfect" campaign per quarter. The compounding effect of regular audience touchpoints beats sporadic brilliance every time. Build a campaign calendar, not a magnum opus.
| Anti-Pattern | Why It Fails | What To Do Instead | |---|---|---| | Launching without measurement in place | Cannot prove ROI, cannot optimize, budget gets cut next quarter | Set up tracking + attribution first (references/measurement-frameworks.md) | | Spreading budget equally across all channels | Ignores channel-audience fit; subsidizes underperformers | Use 70/20/10 rule; allocate by proven performance data | | Optimizing for clicks/impressions instead of pipeline | Vanity metrics look good in reports but do not generate revenue | Define business metric (MQLs, SQLs, revenue) as primary KPI from day one | | Running campaigns without audience segmentation | Same message to everyone = resonates with no one | Segment by pain point, buying stage, or persona before writing copy | | "Always be launching" -- too-frequent sends | Campaign fatigue tanks engagement rates across all channels | Cap email to 2-3/week max; paid social frequency < 3x/user/week | | No kill criteria before launch | Failing campaigns run too long, burning budget on hope | Define kill threshold at launch (e.g., "if CPA > $X after 500 clicks, pause") | | Copying competitor campaigns without context | Their audience, budget, and goals are different from yours | Analyze competitor strategy; adapt the principle, not the execution | | Treating channels as independent silos | Ignores cross-channel amplification and attribution overlap | Map the customer journey across channels; use multi-touch attribution | | Skipping the post-mortem | Same mistakes repeat; no institutional learning | Run a structured post-mortem within 1 week of campaign end (references/measurement-frameworks.md #post-mortem) |
| The User Says | They Actually Need | Why | |---|---|---| | "We need a viral campaign" | Awareness campaign with realistic reach targets | Virality is an outcome, not a strategy. Build for consistent reach. | | "Let's do everything -- email, social, paid, events" | Channel prioritization based on audience data | Spreading thin = mediocre everywhere. Pick 2-3 channels max to start. | | "Our campaign isn't working" | Campaign health diagnostic (see below) | "Not working" has 4 distinct failure modes. Diagnose before prescribing. | | "We need more leads" | Demand gen campaign with pipeline metrics | "More leads" often means "more qualified leads." Define MQL criteria first. | | "Competitor X is doing Y, we should too" | Competitive analysis then adapted strategy | Copying tactics without understanding strategy wastes budget. | | "We just need better creative" | Full-funnel diagnosis | Creative is rarely the bottleneck. Usually it is targeting or channel fit. | | "Can we just boost this post?" | Paid social strategy with targeting and measurement | Boosting without targeting burns budget. Set up proper paid campaigns. |
When a user says a campaign is "not working," diagnose which stage is broken:
Funnel Stage | Symptom | Root Cause Area | Fix Direction
-----------------+--------------------------+------------------------+---------------------------
Awareness | Low impressions/reach | Channel or targeting | Expand audience, test new
| | | channels, increase budget
Interest | Low CTR (< 1% display, | Creative or messaging | Test new headlines, value
| < 2% email, < 3% search)| | props, or CTAs
Conversion | Low conversion rate | Offer or landing page | Simplify page, strengthen
| (< 2% landing page) | | offer, reduce form fields
Retention | High churn post-convert | Expectation mismatch | Align campaign promise with
| | | actual product experience
Work top-down. An awareness problem makes everything downstream look broken. Fix the highest stage first.
After classifying campaign type and pulling the framework:
Each step has detailed checklists in the reference files.
references/campaign-frameworks.md -- Campaign architecture by type (launch, demand gen, retention, awareness, win-back, experiment)references/channel-playbooks.md -- Per-channel execution checklists and optimization guidesreferences/measurement-frameworks.md -- Attribution models, metric hierarchies, reporting templates, post-mortem frameworkdevelopment
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.
testing
--- name: using-sharkitect-methodology description: Use when starting any conversation in a Sharkitect workspace OR before any task involving NEW pricing, positioning, proposal, strategy, plan-execution, or schema-design work — mandates invocation of Sharkitect-specific methodology skills (pricing-strategy, marketing-strategy-pmm, smb-cfo, hq-revenue-ops, executing-plans, brainstorming) under the same anti-rationalization discipline as using-superpowers. Documentation has failed 4 times across H
testing
Use when user says 'end session', 'wrap up', 'stop for the day', 'done for today', 'close out', 'save session', 'wrapping up', or invokes /end-session. Runs the full 9-step end-of-session protocol: resource audit, MEMORY.md update, lessons capture, plan status, pending items, workspace checklist, .tmp/ audit, git commit+push, Supabase brain sync, session brief, summary. Final step schedules a detached self-kill of the current session ONLY (3s delay) so the window closes cleanly. Other claude.exe processes (active workspaces) are NOT touched -- orphan cleanup is handled separately by Claude-Orphan-Cleanup-Hourly with proper age safeguards. Do NOT use for: mid-session quick saves (use session-checkpoint), skill syncing (use sync-skills.py), brain memory queries (use supabase-sync.py pull), document freshness reviews (use document-lifecycle), resource gap detection (use resource-auditor).
testing
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, passive voice, negative parallelisms, and filler phrases.