Campaign Planner
Purpose
Strategic content calendar builder. Takes a brand's Business DNA, a campaign goal, and a timeframe — returns a structured posting schedule with weekly themes, content hooks, post types, and AI-suggested posting times. Feeds directly into Synthex's scheduling system for batch content creation and auto-publishing.
Workflow
1. Collect campaign parameters (see input collection below)
2. Load Business DNA for brand context
3. Generate calendar structure (weeks → themes → post slots)
4. Assign content types and hooks to each slot
5. Suggest optimal posting times per platform
6. Output as structured calendar + offer to generate content for each slot
Campaign Input Collection
Collect from user before planning:
CAMPAIGN PARAMETERS
Goal: [product launch / brand awareness / lead generation / seasonal / retention]
Duration: [30 / 60 / 90 days] — start date: [DD/MM/YYYY]
Platforms: [which platforms, or use all from Business DNA]
Frequency: [posts per week per platform — recommend 3-5 for most SMBs]
Key dates: [any launches, events, or deadlines within the period]
Budget: [organic only / includes paid ads]
CTA: [primary action — book / buy / DM / visit]
Calendar Structure
Phase Framework (30-day example)
| Week | Phase | Theme Focus | Content Mix |
|---|---|---|---|
| Week 1 | Awareness | Brand story + problem statement | 60% educational, 40% brand |
| Week 2 | Interest | Solution + benefits | 50% value, 30% social proof, 20% CTA |
| Week 3 | Desire | Outcomes + transformation | 40% social proof, 40% CTA, 20% educational |
| Week 4 | Action | Urgency + conversion | 60% CTA, 30% social proof, 10% brand |
For 60-day plans: repeat the cycle with a different campaign angle in weeks 5-8. For 90-day plans: add weeks 9-12 as retention/community phase.
Content Type Mix (per week)
Healthy content mix across all SMB accounts:
| Type | % of Posts | Purpose |
|---|---|---|
| Educational (tips, how-to) | 30% | Builds authority and saves/shares |
| Brand/story | 20% | Builds trust and connection |
| Social proof (reviews, results, case studies) | 20% | Converts consideration to intent |
| Promotional (offer, CTA) | 20% | Drives direct revenue |
| Community (questions, polls, UGC) | 10% | Builds engagement and algorithm reach |
Platform Cadence (recommended for SMBs)
| Platform | Posts/Week | Best Days | Best Times (AEST) |
|---|---|---|---|
| 3-4 | Tue, Wed, Thu | 7-9am, 12-1pm | |
| 4-5 | Mon, Wed, Fri, Sat | 7-9am, 6-8pm | |
| 3-4 | Wed, Thu, Fri | 9-11am, 1-3pm | |
| TikTok | 5-7 | Daily | 7-9am, 7-10pm |
| X/Twitter | 5-7 | Weekdays | 8-10am, 12-1pm, 5-6pm |
| YouTube | 1-2 | Wed, Sat | 12-3pm, 6-9pm |
Times are suggestive — override with actual engagement data from Synthex analytics once available for the user's specific audience.
Calendar Output Format
Deliver as a structured week-by-week plan:
──────────────────────────────────────────
CONTENT CALENDAR — [Brand Name]
Period: [start date] → [end date] | Goal: [goal]
──────────────────────────────────────────
WEEK 1 — THEME: [theme name]
Focus: [week focus statement]
MON [date]
LinkedIn: Educational post — "3 ways [brand solves problem]"
Instagram: Brand story — "[founder/team moment]"
WED [date]
LinkedIn: Case study hook — "[client result in numbers]"
Instagram: Tip carousel — "[3-5 tips related to USP]"
Facebook: Community question — "[discussion starter]"
FRI [date]
Instagram: Social proof — "[review or result]"
TikTok: "[quick tip or behind-the-scenes script]"
X: Thread — "[educational thread on core topic]"
WEEK 2 — THEME: [theme name]
...
──────────────────────────────────────────
CAMPAIGN SUMMARY
Total posts: [count] | Platforms: [count]
Content types: [breakdown]
Key conversion dates: [list]
──────────────────────────────────────────
→ Generate content for all slots?
→ Or start with Week 1 only?
Batch Content Generation
After calendar approval, offer to generate content for each slot:
- Call
brand-campaign-generatorskill for each week as a batch - Score all generated content via
lib/ai/content-scorer.ts - Flag any posts scoring below 75 for human review
- Pre-schedule approved posts via the scheduler API (
app/api/scheduler/)
Visual assets for calendar slots are generated ONLY via the grounded pipeline —
generateImage()/generateBatch() (lib/services/ai/image-generation.ts) or the
generate_image/generate_video MCP tools, grounded-by-default on the owned reference
library (public/reference-library/manifest.json). When planning visual-heavy slots, check
library coverage for each subject first: subjects with no owned references will BLOCK
generation — schedule real-photo capture/ingest (POST /api/admin/private-refs) ahead of
those slots rather than falling back to stock or direct providers. Carpet-cleaning slots
auto-apply the carpet-style-v1 LoRA (ccwcarpet); use the dashboard 3-variant batch +
tap-to-rank to pick slot imagery.
Visual generation (binding): see .claude/rules/real-images-only.md + grounded-visuals.
Direct provider calls fail CI.
Key Content Hooks by Goal
Product Launch:
- Week 1: Tease ("something's coming")
- Week 2: Reveal + benefits
- Week 3: Social proof + early access
- Week 4: Launch day + urgency + FOMO
Brand Awareness:
- Rotate: founder story → customer story → educational → behind the scenes
Lead Generation:
- Lead magnet → social proof → FAQ → offer → testimonial → offer
Seasonal:
- Pre-season (awareness) → peak (conversion) → post-season (retention)
Reference
- Business DNA:
.claude/skills/business-dna/ - Content generation:
.claude/skills/brand-campaign-generator/ - Platform adaptor:
.claude/skills/platform-content-adaptor/ - Scheduling API:
app/api/scheduler/ - Analytics (for timing optimisation):
app/api/analytics/
Capability Uplift — Override Defaults
NEVER produce the default Mon/Wed/Fri three-pillar calendar (announce, educate, promote) applied generically across all brands. Never fill a calendar slot with "Educational post" without specifying what topic, what angle, and what platform-specific hook it uses.
INSTEAD every calendar slot specifies:
- Platform (LinkedIn ≠ Instagram — different cadences)
- Hook angle (the specific opening line concept, not just "educational")
- Content pillar it belongs to (from Business DNA)
- CTA direction (what action this piece drives)
Cadence varies by platform: LinkedIn 3×/week max, Instagram daily is fine, TikTok 1–2×/day is normal, Facebook 4×/week max, X/Twitter up to 3×/day.
REFERENCE .claude/skills/synthex-standards/references/content-standards.md
Foundation & Gate Wiring (SYN-1049)
Adopted from the senior-skill standard so every artefact this connector produces is checked against the locked foundation before it lands.
Reads at every invocation (never cached — re-read each run):
.claude/memory/ceo-foundation.md— cadence map (Q2.5.3), universal + brand-specific taboos, frequency cap..claude/memory/verification-gates.md— gate state for any claim referenced.
Output gate: every client-facing artefact this connector produces routes through brand-voice-enforce before the CEO batched-review queue. A REJECT blocks the artefact until the quoted offending string is fixed.
Evidence standard: every quantitative or factual claim carries exactly one tag — [VERIFIED] / [INFERENCE] / [UNCONFIRMED]. Untagged = defect (.claude/rules/fabel-evidence-standard.md). Never state a projected result as fact.
Spec: see spec.md in this skill directory.