# Agent Skills

name: brand-engineering\
description: Orchestrate full brand engineering across SEO, AI Search, Social, Email, Creative (images/video), and Brand Core using Cuppa's 65+ MCP tools. Use when the user mentions brand strategy, content pipeline, multi-channel publishing, brand audit, performance analysis, newsletter, social campaign, content calendar, image generation, video creation, mood board, carousel, visual content, or any cross-channel brand workflow.

## Brand Engineering with Cuppa

Cuppa agents operate across 6 channels: **SEO**, **AI Search**, **Social**, **Email**, **Creative**, **Brand Core**. Every workflow starts with brand context and ends with performance measurement.

### Channel Map

| Channel     | Purpose                       | Primary Tools                                                                                         |
| ----------- | ----------------------------- | ----------------------------------------------------------------------------------------------------- |
| SEO         | Organic search visibility     | `research_keywords`, `create_content`, `grade_content`, `optimize_content`, `publish_content`         |
| AI Search   | LLM citation visibility       | `create_knowledge`, `update_brand_context`, `get_ai_visibility`                                       |
| Social      | Platform distribution         | `generate_social`, `generate_social_multi`, `publish_social`, `schedule_social`, `generate_carousel`  |
| Email       | Newsletter distribution       | `generate_newsletter`, `list_newsletters`, `get_newsletter`                                           |
| Creative    | Images, video, mood boards    | `generate_image`, `create_video`, `generate_video_script`, `generate_mood_board`, `generate_carousel` |
| Brand Core  | Voice, identity, visual style | `get_brand`, `update_brand_context`, `update_brand_visual_style`, `generate_mood_board`               |
| Performance | Cross-channel measurement     | `get_brand_performance`, `get_content_health`, `get_ai_visibility`, `get_backlinks`                   |
| Links       | Backlink acquisition + engine | `list_link_sites`, `get_link_stats`, `get_backlinks`, Link Marketplace (UI)                           |
| Services    | Expert human review           | Expert Reviews (UI), available via Authorship subscription                                            |

#### Performance Hub Data Sources

The Performance Hub aggregates data from 7 external sources into a unified view:

| Source                    | What It Feeds                                                            |
| ------------------------- | ------------------------------------------------------------------------ |
| **Google Search Console** | Organic clicks, impressions, CTR, position, top pages, content decay     |
| **Google Analytics 4**    | Sessions, pageviews, users, engagement metrics                           |
| **Ahrefs**                | Domain rating, backlinks, referring domains, Brand Radar, competitor gap |
| **Firehose**              | Web mentions, brand monitoring across the internet                       |
| **LLM Tracking**          | ChatGPT and Google AI Overview citations, prompts, cited pages           |
| **DataForSEO**            | LLM cross-aggregated data, competitor LLM mentions, domain intersection  |
| **Late.dev**              | Social post analytics (impressions, engagements, clicks by platform)     |

### Starting Any Workflow

Always begin with context:

```
1. list_sites → Get available brands/sites
2. get_brand (site_id) → Load Brand DNA (voice, identity, industry)
3. get_content_strategy (site_id) → Current automation settings
```

This gives you brand voice, visual identity, and current configuration before any action.

### Workflow: Brand Audit

Full-stack brand health check in one conversation:

```
1. get_brand_performance (site_id)
   → KPIs: organic clicks, impressions, CTR, AI citations,
     social reach, sessions, content grade
   → Brand Visibility Score (organic + AI + content + social)
   → Quick Wins: decaying pages, uncited pages, stale content,
     striking distance keywords

2. get_content_health (site_id)
   → Top pages, content decay, cannibalization

3. get_ai_visibility (site_id)
   → LLM mentions, citation gaps vs competitors

4. get_backlinks (site_id)
   → Domain rating, referring domains (via Ahrefs)

5. get_link_stats
   → Link Engine overview: active sites, URLs indexed

6. get_social_analytics (site_id)
   → Live analytics: impressions, engagements, reach, followers, best posting times, content decay, top posts with links (via Zernio)

7. get_content_calendar (site_id)
   → Upcoming pipeline across articles + social + local

8. list_newsletters (site_id)
   → Recent newsletter performance
```

Synthesize into a report with:

* Strengths (top-performing channels/content)
* Weaknesses (gaps, decay, low engagement)
* Opportunities (striking distance, uncited pages, citation gaps)
* Recommended actions (specific tool calls)

### Workflow: Content Pipeline (SEO + Social + Email)

End-to-end from keyword to multi-channel distribution:

```
1.  research_keywords (seed terms)
2.  create_content (keyword, site_id)
3.  get_content_status (id) → poll until complete
4.  grade_content (id)
5.  optimize_content (id) → if grade suggests improvements
6.  generate_images_bulk ([id], use_brand_colors: true)
7.  publish_content (id, platform) → push to CMS
8.  generate_social_multi (article_title, article_summary,
    platforms: ["linkedin", "twitter", "threads"])
9.  generate_carousel (site_id, topic, generate_images: true)
    → LinkedIn deep-dive version
10. schedule_social → distribute across optimal times
11. generate_video_script (brief: article_summary,
    format: "tutorial_howto", site_id)
    → Optional: create video for social
12. generate_newsletter (site_id) → if enough articles this week
```

### Workflow: Standalone Social Campaign

Topic-based social without article creation:

```
generate_social (site_id,
  topic: "Your topic here",
  platform: "linkedin",
  tone: "professional",
  hook_type: "contrarian")

generate_social_multi (site_id,
  topic: "Same topic",
  platforms: ["twitter", "linkedin", "threads", "instagram"])

schedule_social → stagger across days
generate_carousel → LinkedIn deep-dive version
```

Hook types: `curiosity`, `story`, `value`, `contrarian`, `social_proof`

### Workflow: Visual Content Production

Create brand-consistent images, videos, and mood boards:

#### Standalone image generation

```
generate_image (
  prompt: "Describe the image",
  model: "gpt-image-1",         # or flux-1.1-pro, imagen-4.0, etc.
  aspect_ratio: "16:9",
  site_id: site_id               # uses brand colors automatically
)
list_image_models → see all available models
```

#### Article images (bulk)

```
generate_images_bulk (
  article_ids: ["id1", "id2", "id3"],
  model: "gpt-image-1",
  use_brand_colors: true
)
```

#### Video creation (script -> generate -> poll)

```
1. generate_video_script (
     brief: "Product showcase of our new feature",
     format: "product_showcase",   # 10 formats available
     platform: "instagram",
     site_id: site_id              # brand-aware script
   )
   → Returns: prompt, duration, aspect ratio, shot breakdown

2. create_video (
     prompt: <from script>,
     model: "sora-2",             # or replicate:kling-v2.6
     duration_seconds: 10,
     aspect_ratio: "9:16",
     use_brand_context: true
   )
   → Returns: video ID

3. get_video_status (id) → poll until complete → get URL
```

Video formats: `product_showcase`, `lifestyle_aesthetic`, `ugc_style`, `before_after`, `cinematic_broll`, `logo_brand_reveal`, `tutorial_howto`, `testimonial_talking_head`, `seasonal_campaign`, `abstract_mood`

#### Mood boards (brand visual exploration)

```
1. create_mood_board (name: "Q2 Campaign", site_id)
2. generate_mood_board (mood_board_id, site_id)
   → Auto-generates images + colors from Brand DNA
3. get_mood_board (id) → view all items (images, colors, fonts)
```

#### LinkedIn carousels (slides + images)

```
1. generate_carousel (site_id,
     topic: "5 Ways to Improve Your SEO",
     slide_count: 8,
     tone: "educational",
     generate_images: true)
2. publish_carousel (site_id, caption, image_urls)
   → Or schedule with scheduled_at parameter
```

### Workflow: Performance Feedback Loop

Data-driven strategy adjustment:

```
1. get_brand_performance → identify KPI trends
2. get_content_health → find decay + opportunities
3. get_ai_visibility → check citation coverage
4. get_social_analytics → platform performance

Decision framework:
- Striking distance keywords (pos 4-20) → create_content targeting them
- Decaying pages → optimize_content on those articles
- Citation gaps → create_knowledge to improve AI visibility
- Top social platforms → generate_social_multi on those platforms
- Low-engagement platforms → adjust content_strategy defaults
```

### Workflow: Strategy Configuration

Programmatic setup of all automation:

```
update_content_strategy (site_id, {
  article_defaults: {
    model: "claude-sonnet-4-5",
    generate_ai_images: true,
    target_length: "long"
  },
  social_publishing: {
    enabled: true,
    auto_post_on_publish: true,
    default_platforms: ["twitter", "linkedin"],
    default_tone: "professional",
    generate_images: true
  },
  newsletter: {
    enabled: true,
    cadence: "weekly",
    send_day: "friday",
    send_hour: 9
  },
  automation: {
    default_posts_per_week: 5,
    preferred_publish_days: ["monday", "wednesday", "friday"],
    auto_generate_social_on_publish: true,
    auto_add_to_newsletter: true
  }
})
```

### Tool Quick Reference

#### Research

`research_keywords` `research_serp` `research_competitors` `generate_cluster` `list_clusters`

#### Content

`create_content` `get_content_status` `get_content` `list_contents` `publish_content` `delete_content`

#### Grading

`grade_content` `get_content_grade` `optimize_content` `fetch_serp_data` `get_serp_data`

#### Social

`generate_social` `generate_social_multi` `publish_social` `schedule_social` `list_social_posts` `get_social_post` `update_social_post` `delete_social_post` `generate_carousel` `publish_carousel` `list_social_platforms` `get_social_analytics`

#### Performance

`get_brand_performance` `get_content_health` `get_ai_visibility` `get_backlinks`

#### Newsletters

`generate_newsletter` `list_newsletters` `get_newsletter`

#### Brand

`get_brand` `update_brand_context` `update_brand_visual_style` `get_notebook`

#### Knowledge

`list_knowledge` `create_knowledge` `get_knowledge`

#### Planning

`list_planner` `create_planner_item` `update_planner_item` `delete_planner_item` `get_content_calendar` `get_content_strategy` `update_content_strategy`

#### Projects (Bulk)

`create_project` `list_projects` `get_project` `export_project`

#### Images

`generate_image` `generate_images_bulk` `list_image_models`

#### Video

`generate_video_script` `create_video` `get_video_status` `delete_video`

#### Mood Boards

`list_mood_boards` `create_mood_board` `get_mood_board` `delete_mood_board` `generate_mood_board`

#### Link Engine

`list_link_sites` `get_link_stats` `update_link_site` `bulk_update_link_sites` `refresh_link_sitemaps` `get_link_categories` `create_link_category` `delete_link_category`

#### Infrastructure

`list_sites` `create_site` `get_gsc_queries` `list_models` `list_image_models` `chat`

### Key Patterns

**Social: article-based vs standalone**

* Article-based: provide `article_title` + `article_summary`
* Standalone: provide `topic` instead

**Partial updates**: `update_content_strategy` accepts partial objects. Only send sections you want to change.

**Grading loop**: Always `grade_content` after `create_content`. If score < 70, run `optimize_content` and re-grade.

**Newsletter prereq**: `generate_newsletter` requires at least one completed article in the target week.

**AI visibility improvement**: Create knowledge sources (`create_knowledge`) with structured, factual content. This improves how LLMs reference your brand.

**Image brand awareness**: Pass `site_id` to `generate_image` for automatic brand color injection. Use `use_brand_colors: true` with `generate_images_bulk`.

**Video pipeline**: Always start with `generate_video_script` to get optimized prompts, then pass the result to `create_video`. Poll `get_video_status` until complete.

**Mood board as creative brief**: Use `generate_mood_board` to auto-create visual direction from Brand DNA, then reference the mood board when generating images/videos for campaigns.

**Link Engine for internal linking**: Use `list_link_sites` to see your network, `get_link_stats` for overview, and `refresh_link_sitemaps` to re-index after publishing new content.

**Link Marketplace** (UI only): Browse guest post and link insertion opportunities from 1000s of publishers. Filterable by DR, traffic, price, language, region, category. Available at `/link-marketplace` in the app. Powered by FatGrid.

**Expert Reviews** (UI only): Request human expert reviews of your articles from industry specialists. Available via the Authorship subscription add-on. Experts are matched by industry from your Brand DNA.
