# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.cuppa.ai/agent-marketing/agent-skills.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
