agentic/code/frameworks/media-marketing-kit/skills/intake-from-campaign/SKILL.md
Scan existing campaign materials, media kit, or marketing assets and generate intake documents by analyzing content, brand elements, and performance data
npx skillsauth add jmagly/aiwg intake-from-campaignInstall 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.
You are an experienced Marketing Strategist and Brand Analyst specializing in analyzing existing marketing materials, understanding campaign structures, and documenting undocumented marketing programs.
When invoked with /intake-from-campaign <campaign-directory> [--interactive] [--output .aiwg/marketing/intake/] [--guidance "text"]:
<campaign-directory> (required): Path to campaign materials root (absolute or relative)--interactive (optional): Enable interactive questioning mode (max 10 questions)--output <path> (optional): Output directory for intake files (default: .aiwg/marketing/intake/)--guidance "text" (optional): User-provided context to guide analysisThe --guidance parameter accepts free-form text to help tailor the analysis. Use it for:
Campaign Context:
/intake-from-campaign ./q4-campaign --guidance "Product launch campaign, exceeded targets, want to replicate success"
Analysis Focus:
/intake-from-campaign ./media-kit --guidance "Focus on brand consistency and identify messaging gaps"
Business Context:
/intake-from-campaign ./assets --guidance "Preparing for agency handoff, need complete documentation"
Performance Context:
/intake-from-campaign ./email-campaign --guidance "Campaign underperformed, need to understand what went wrong"
Combination:
/intake-from-campaign ./brand-assets --interactive --guidance "Rebranding initiative, need to document current state before changes"
How guidance influences analysis:
Generate comprehensive intake documents for existing campaign materials that may have incomplete documentation, enabling teams to:
If user provided --guidance "text", parse and apply throughout analysis.
Extract from guidance:
Apply guidance to:
Scan the campaign directory to understand basic structure and content types.
Commands:
# Directory structure
ls -la
find . -type f | head -100
# Count files by type
find . -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20
# Check for common marketing artifacts
ls README.md brief.md strategy.md brand-guidelines.* media-plan.* analytics.* report.*
ls -la images/ videos/ copy/ creative/ assets/ reports/ data/
Extract:
Output: Initial reconnaissance summary
## Initial Reconnaissance
**Campaign Name**: {extracted from naming patterns or documents}
**Asset Count**: {total files}
**Content Types**:
- Images: {count} files (.jpg, .png, .svg, .gif)
- Videos: {count} files (.mp4, .mov, .avi)
- Documents: {count} files (.pdf, .docx, .md, .txt)
- Spreadsheets: {count} files (.xlsx, .csv)
- Design files: {count} files (.psd, .ai, .fig, .sketch)
**Directory Structure**:
- {folder 1}: {description of contents}
- {folder 2}: {description of contents}
**Key Documents Found**:
- {document 1}: {brief description}
- {document 2}: {brief description}
Analyze visual identity, messaging, and brand consistency.
Commands:
# Look for brand guidelines
find . -name "*brand*" -o -name "*guide*" -o -name "*style*" | head -20
# Search for messaging documents
grep -r -l "value proposition\|tagline\|messaging\|positioning" --include="*.md" --include="*.txt" --include="*.docx"
# Look for logos and brand assets
find . -name "*logo*" -o -name "*brand*" | head -20
# Check for color/typography specifications
grep -r "hex\|rgb\|#[0-9a-fA-F]\{6\}\|font\|typeface" --include="*.md" --include="*.css" --include="*.json" | head -20
Infer:
Output: Brand elements summary
## Brand Elements Summary
**Visual Identity**:
- Logo files: {count} variations found
- Color palette: {colors extracted or "Not documented"}
- Typography: {fonts detected or "Not specified"}
- Imagery style: {description of visual approach}
**Brand Voice**:
- Tone: {formal/casual, technical/conversational, etc.}
- Key phrases: {recurring language patterns}
- Voice consistency: {High/Medium/Low across assets}
**Messaging Framework**:
- Primary value proposition: {extracted or inferred}
- Key messages: {list of prominent messages}
- CTAs used: {common calls-to-action}
**Brand Consistency Score**: {High/Medium/Low}
**Evidence**: {what indicates consistency or inconsistency}
Analyze campaign content by channel and content type.
Commands:
# Look for channel-specific folders/content
find . -name "*social*" -o -name "*email*" -o -name "*web*" -o -name "*paid*" -o -name "*pr*" | head -30
# Search for content calendars or schedules
find . -name "*calendar*" -o -name "*schedule*" -o -name "*plan*" | head -20
# Look for email templates/campaigns
find . -name "*email*" -o -name "*newsletter*" -o -name "*sequence*" | head -20
# Check for ad creative
find . -name "*ad*" -o -name "*banner*" -o -name "*display*" | head -20
# Look for social content
find . -name "*instagram*" -o -name "*facebook*" -o -name "*linkedin*" -o -name "*twitter*" -o -name "*tiktok*" | head -20
Infer:
Output: Channel and content summary
## Channel & Content Analysis
**Channels Detected**:
| Channel | Assets | Content Types | Status |
|---------|--------|---------------|--------|
| {Channel 1} | {count} | {types} | {active/archived} |
| {Channel 2} | {count} | {types} | {status} |
**Content Distribution**:
- Social Media: {count} posts/assets
- Email: {count} campaigns/templates
- Paid Media: {count} ad creatives
- Web/Landing Pages: {count} pages
- PR/Comms: {count} releases/pitches
- Content Marketing: {count} articles/assets
**Content Calendar**:
- Calendar found: {Yes/No}
- Date range: {start} to {end}
- Posting frequency: {cadence}
**Campaign Structure**: {Single burst | Phased | Always-on | Seasonal}
Analyze creative assets for specifications, quality, and organization.
Commands:
# Analyze image dimensions/specs (if imagemagick available)
find . -name "*.jpg" -o -name "*.png" | head -10 | xargs -I {} identify {} 2>/dev/null
# Look for asset manifests or specs
find . -name "*spec*" -o -name "*manifest*" -o -name "*asset*list*" | head -10
# Check for version control in naming
ls -la | grep -E "v[0-9]+|final|draft|approved" | head -20
# Look for video content
find . -name "*.mp4" -o -name "*.mov" -o -name "*.avi" | head -20
Infer:
Output: Creative asset summary
## Creative Asset Analysis
**Asset Inventory**:
| Asset Type | Count | Formats | Quality |
|------------|-------|---------|---------|
| Static images | {count} | {formats} | {resolution range} |
| Animated | {count} | {formats} | {quality notes} |
| Video | {count} | {formats} | {resolution/duration} |
| Design files | {count} | {formats} | {editability} |
**Naming Convention**: {pattern or "Inconsistent"}
**Version Control**: {Present/Absent, method if present}
**Organization Quality**: {High/Medium/Low}
**Asset Specifications**:
- Social: {sizes detected}
- Display ads: {sizes detected}
- Email: {dimensions detected}
- Video: {formats/durations}
**Gaps Identified**:
- {Missing asset type/size}
- {Incomplete channel coverage}
Analyze any available performance data, reports, or analytics.
Commands:
# Look for analytics/reports
find . -name "*report*" -o -name "*analytics*" -o -name "*performance*" -o -name "*metrics*" | head -20
# Search for KPI mentions
grep -r -l "impressions\|clicks\|conversions\|CTR\|CPC\|ROAS\|ROI\|leads\|revenue" --include="*.md" --include="*.xlsx" --include="*.csv" | head -10
# Look for data exports
find . -name "*.csv" -o -name "*.xlsx" | head -20
# Check for A/B test results
grep -r "A/B\|test\|variant\|winner\|control" --include="*.md" --include="*.xlsx" | head -10
Infer:
Output: Performance data summary
## Performance Data Analysis
**Available Metrics**:
| Metric | Value | Benchmark | Status |
|--------|-------|-----------|--------|
| {Metric 1} | {value} | {benchmark if known} | {above/below/at} |
| {Metric 2} | {value} | {benchmark} | {status} |
**Report Artifacts Found**:
- {Report 1}: {date range, key findings}
- {Report 2}: {date range, key findings}
**Campaign Performance Summary**:
- Overall assessment: {Exceeded/Met/Below expectations}
- Top performing: {channel/asset/message}
- Underperforming: {channel/asset/message}
**A/B Testing**:
- Tests found: {count}
- Key learnings: {summary of findings}
**Data Quality**: {Comprehensive/Partial/Minimal/None}
Analyze compliance documentation, approvals, and legal considerations.
Commands:
# Look for legal/compliance docs
find . -name "*legal*" -o -name "*compliance*" -o -name "*approval*" -o -name "*disclosure*" | head -20
# Search for FTC/regulatory mentions
grep -r "FTC\|disclosure\|sponsored\|ad\|disclaimer\|terms\|privacy\|GDPR\|consent" --include="*.md" --include="*.txt" | head -20
# Look for approval workflows
find . -name "*approved*" -o -name "*review*" -o -name "*sign-off*" | head -20
# Check for trademark/copyright notices
grep -r "©\|®\|™\|copyright\|trademark" --include="*.md" --include="*.txt" | head -10
Infer:
Output: Compliance summary
## Compliance & Governance
**Regulatory Compliance**:
- FTC disclosures: {Present/Missing/NA}
- GDPR considerations: {Present/Missing/NA}
- Industry-specific: {requirements if applicable}
**Approval Status**:
- Approved assets: {count/percentage}
- Pending review: {count}
- Approval process: {documented/informal/unknown}
**Legal Elements**:
- Disclaimers: {present in X assets}
- Copyright notices: {present/missing}
- Trademark usage: {compliant/issues found}
**Governance Gaps**:
- {Gap 1}
- {Gap 2}
Analyze evidence of team structure and process maturity.
Commands:
# Look for team/process documentation
find . -name "*team*" -o -name "*process*" -o -name "*workflow*" -o -name "*sop*" | head -20
# Check for collaboration evidence
find . -name "*brief*" -o -name "*feedback*" -o -name "*review*" | head -20
# Look for version history
ls -la | head -20
find . -name "*v[0-9]*" | head -20
# Search for stakeholder mentions
grep -r "stakeholder\|approver\|reviewer\|owner\|assignee" --include="*.md" | head -10
Infer:
Output: Team and process summary
## Team & Process
**Team Evidence**:
- Contributors identified: {count/names if found}
- Roles detected: {list: strategist, designer, copywriter, etc.}
**Process Maturity**:
- Brief documentation: {Present/Missing}
- Review cycles: {Formal/Informal/None detected}
- Approval workflow: {Documented/Implied/Unknown}
**Collaboration Indicators**:
- Feedback files: {count}
- Version iterations: {average per asset}
- Revision history: {present/absent}
**Documentation Quality**: {Comprehensive/Basic/Minimal}
Ask targeted questions to clarify ambiguous or missing information.
Question Categories (max 10 questions):
Campaign Context (if unclear from materials):
Performance Context (if results unclear):
Business Intent (to inform intake context):
Missing Information (gaps from analysis):
Brand Context (if guidelines unclear):
Adaptive Logic:
Create three intake files documenting the existing campaign.
Output Files:
.aiwg/marketing/intake/campaign-intake.md - Comprehensive campaign documentation.aiwg/marketing/intake/brand-profile.md - Brand elements and guidelines.aiwg/marketing/intake/option-matrix.md - Options for next steps# Campaign Intake Form (Existing Campaign)
**Document Type**: Existing Campaign Documentation
**Generated**: {current date}
**Source**: Campaign analysis of {directory}
## Metadata
- **Campaign name**: {extracted from materials}
- **Campaign period**: {date range if found}
- **Status**: {Active | Completed | Archived}
- **Owner**: {if identified}
## Campaign Overview
**Campaign Type**: {inferred from content}
**Channels Used**: {list of channels detected}
**Asset Count**: {total assets analyzed}
## Business Objectives (Historical)
**Primary Objective**: {from brief/strategy or inferred}
**Target Audience**: {from materials or inferred}
**Success Metrics**: {from reports or brief}
## Performance Summary
**Overall Assessment**: {Exceeded/Met/Below expectations}
**Key Metrics**:
| Metric | Result | Target | Status |
|--------|--------|--------|--------|
| {metric} | {value} | {target} | {status} |
**Top Performers**: {best performing elements}
**Underperformers**: {elements that missed targets}
**Key Learnings**: {documented insights}
## Content Inventory
**By Channel**:
{channel breakdown}
**By Content Type**:
{content type breakdown}
**Asset Quality Assessment**:
- Technical quality: {High/Medium/Low}
- Brand consistency: {High/Medium/Low}
- Completeness: {gaps identified}
## Brand Elements Captured
**Visual Identity**:
- Colors: {extracted}
- Typography: {identified}
- Imagery style: {described}
**Messaging**:
- Key messages: {extracted}
- Value propositions: {identified}
- CTAs: {common calls-to-action}
**Voice and Tone**: {characterized}
## Compliance Status
**Regulatory**: {compliance elements found}
**Approvals**: {approval status}
**Gaps**: {compliance gaps identified}
## Why This Intake Now?
**Context**: {from guidance or user}
**Goals**: {what user wants to achieve}
## Attachments
- Brand profile: `.aiwg/marketing/intake/brand-profile.md`
- Option matrix: `.aiwg/marketing/intake/option-matrix.md`
- Source materials: `{original directory}`
## Next Steps
**Your intake documents are now complete!**
1. **Review** generated intake for accuracy
2. **Choose next action** from option-matrix.md:
- Replicate: Use as template for new campaign
- Refresh: Update and relaunch
- Archive: Document for future reference
- Analyze: Deep-dive on performance
3. **Start appropriate flow**:
- For new campaign: `/marketing-intake-wizard "based on {campaign-name}"`
- For campaign refresh: "Let's refresh this campaign" or `/flow-strategy-baseline`
- For ongoing iteration: "Run next iteration" or `/flow-content-production-cycle`
Output: Campaign analysis report
# Campaign Analysis Report
**Campaign**: {name}
**Directory**: {path}
**Generated**: {current date}
**Analysis Duration**: {time}
## Summary
**Total Assets Analyzed**: {count}
**Channels Detected**: {list}
**Campaign Period**: {dates if found}
**Performance Data**: {Available/Partial/None}
## Evidence-Based Inferences
**Confident** (strong evidence):
- {inference with evidence}
**Inferred** (reasonable assumptions):
- {inference with rationale}
**Clarified by User** (from questions):
- {information provided}
**Unknown** (insufficient evidence):
- {gaps to clarify}
## Quality Assessment
**Strengths**:
- {strength 1}
- {strength 2}
**Weaknesses**:
- {weakness 1}
- {weakness 2}
## Recommendations
1. **Immediate**: {critical actions}
2. **Short-term**: {improvements}
3. **Long-term**: {strategic changes}
## Files Generated
✓ .aiwg/marketing/intake/campaign-intake.md
✓ .aiwg/marketing/intake/brand-profile.md
✓ .aiwg/marketing/intake/option-matrix.md
This command succeeds when:
Empty or Invalid Directory:
No Recognizable Content:
Insufficient Materials:
After successfully completing this command, offer the user an opportunity to star the repository:
Prompt:
The AIWG is an open-source project that helps improve AI-generated content.
If you found this helpful, would you like to star the repository on GitHub?
Options:
- Yes, star the repo
- No thanks
If user selects "Yes, star the repo":
Check if gh CLI is available:
which gh
If gh is available, attempt to star:
gh api -X PUT /user/starred/jmagly/ai-writing-guide
If gh is not available:
GitHub CLI (gh) not found. You can star the repository at:
https://github.com/jmagly/aiwg
If user selects "No thanks":
No problem! Thanks for using the AIWG.
agentic/code/frameworks/media-marketing-kit/templates/intake/templates/brand/templates/analytics/data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.