context-engine
Invoke when setting up a new brand, switching brands, or when any marketing task requires brand context, industry benchmarks, compliance rules, or platform specifications. This is the shared intelligence layer for all Digital Marketing Pro modules.
Context Engine — Shared Marketing Intelligence
When to Use This Skill
- User is setting up a new brand or project for marketing
- User switches between brands/clients (agency use case)
- Any other marketing skill needs brand context, industry data, compliance rules, or platform specs
- User asks about industry benchmarks, platform requirements, or regulatory compliance
Required Context
This skill loads and manages:
- Brand Profile — identity, voice, audiences, competitors, goals (from
~/.claude-marketing/brands/) - Industry Profiles — benchmarks, KPIs, channel effectiveness per industry (see
industry-profiles.md) - Compliance Rules — geographic privacy laws + industry regulations (see
compliance-rules.md) - Platform Specs — character limits, image sizes, algorithm signals per platform (see
platform-specs.md) - Scoring Rubrics — standardized evaluation criteria for all content types (see
scoring-rubrics.md)
Brand Profile Management
Loading a Brand
- Check
~/.claude-marketing/brands/_active-brand.jsonfor the currently active brand - If active brand exists, load
~/.claude-marketing/brands/{slug}/profile.json - If no active brand, prompt: "No active brand configured. Run /dm:brand-setup to create one, or tell me about your brand and I'll help set it up."
Brand Profile Schema
{
"brand_name": "",
"brand_slug": "",
"created_at": "",
"updated_at": "",
"schema_version": "1.0.0",
"identity": {
"tagline": "",
"mission": "",
"vision": "",
"values": [],
"unique_selling_proposition": "",
"positioning_statement": "",
"elevator_pitch": ""
},
"business_model": {
"type": "",
"revenue_model": "",
"price_range": "",
"sales_cycle_length": "",
"average_deal_size": "",
"customer_lifetime_value": ""
},
"industry": {
"primary": "",
"secondary": [],
"regulated": false,
"regulation_codes": [],
"compliance_notes": ""
},
"target_markets": [],
"brand_voice": {
"formality": 5,
"energy": 5,
"humor": 3,
"authority": 5,
"personality_traits": [],
"tone_keywords": [],
"avoid_words": [],
"prefer_words": [],
"this_not_that": [],
"sample_content": []
},
"channels": {
"active": [],
"primary": "",
"handles": {}
},
"competitors": [],
"goals": {
"primary_objective": "",
"kpis": [],
"budget_range": "",
"team_size": ""
}
}
Switching Brands
When user says "switch to [brand name]":
- Run:
python "scripts/setup.py" --switch-brand SLUG - The script handles fuzzy matching, validation, and updates
_active-brand.json - Confirm: "Switched to [brand_name]. All marketing outputs will now use this brand's voice, compliance rules, and context."
Or use: /dm:switch-brand
How Other Modules Use This Skill
Every module should:
- Check if an active brand exists before producing marketing outputs
- Load relevant industry profile for benchmarks and channel recommendations
- Auto-apply compliance rules based on brand's
target_marketsandindustry.regulation_codes - Reference platform specs when creating platform-specific content
- Use scoring rubrics when evaluating or grading content quality
- Use adaptive scoring — run
adaptive-scorer.pyto get brand-specific weights before content scoring - Save campaign data — use
campaign-tracker.pyto persist plans, performance, and insights - Check past campaigns — before making recommendations, check if similar campaigns exist in brand history
Business Model Types
The following types trigger different funnel models, KPI frameworks, and channel strategies:
B2B_SaaS— MRR/ARR focused, product-led or sales-led growthB2C_eCommerce— ROAS focused, product catalog marketingB2C_DTC— Direct-to-consumer brand building + performanceB2B_Services— Thought leadership, long sales cyclesLocal_Business— Google Business Profile, local SEO, reviewsAgency— Multi-client management, white-label outputsCreator— Personal brand, audience building, monetizationEnterprise— ABM, buying committees, complex salesNon_Profit— Donor acquisition, awareness, advocacyMarketplace— Two-sided acquisition, liquidity, trust
Brand Voice Scoring
The brand voice scorer (brand-voice-scorer.py) automatically normalizes profile data:
- Reads
brand_voice.formality(1-10 int scale) → converts to 0.0-1.0 float internally - Maps
brand_voice.prefer_words→preferred_words,brand_voice.avoid_words→avoided_words - Supports both the full profile schema (from brand-setup) and legacy direct schemas
Data Persistence
Campaign data, performance snapshots, and marketing insights persist across sessions:
~/.claude-marketing/brands/{slug}/
├── campaigns/ # Campaign plans and post-mortems
│ ├── _index.json # Campaign index for quick lookup
│ └── {id}.json # Individual campaign data
├── performance/ # Performance snapshots over time
│ └── {campaign}-{date}.json
├── insights.json # Marketing learnings (last 200)
├── content-library/ # Saved content pieces
└── voice-samples/ # Brand voice reference content
Use campaign-tracker.py for all persistence operations.
MCP Integrations
When MCP servers are configured (in .mcp.json), modules can pull real data:
- Google Analytics → actual traffic/conversion data for performance reports
- Google Search Console → real ranking data for SEO audits
- Google Ads / Meta → live campaign performance for paid advertising
- HubSpot → CRM data for funnel analysis
- Mailchimp → email campaign metrics
- Google Sheets → export reports and calendars
All MCP servers connect to the USER'S OWN accounts via their API keys.
Reference Files
- industry-profiles.md — 20+ industry profiles with benchmarks, channels, compliance, content types
- compliance-rules.md — Geographic privacy laws (16 jurisdictions) + industry regulations (10+ sectors)
- platform-specs.md — Social media, email, and ad platform specifications
- scoring-rubrics.md — Content quality, ad creative, email, and landing page scoring criteria
- intelligence-layer.md — How the adaptive intelligence system works (scoring, learning, persistence)