Skill detail

campaign-architect

Use when the user asks to "plan my paid account structure", "pick Search vs PMax", "lay out ad groups / asset groups", or "audit paid-vs-organic cannibalization"; designs campaign-type selection, ad-group/asset-group layout, targeting + match types, negative/exclusion hygiene, and a paid↔organic…

Why we recommend it: Paid account structure planning relevant to campaign structure facet but not Meta-specific.

MatchPossibleRecommended for Meta Ads
Sourceaaron-he-zhu/​aaron-marketing-skillsExternal source
Reported installs914Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
name: campaign-architect
slug: aaron-campaign-architect
displayName: "Campaign Architect · 付费广告账户结构"
summary: "付费广告账户结构/广告系列规划/否定关键词"
description: 'Use when the user asks to "plan my paid account structure", "pick Search vs PMax", "lay out ad groups / asset groups", or "audit paid-vs-organic cannibalization"; designs campaign-type selection, ad-group/asset-group layout, targeting + match types, negative/exclusion hygiene, and a paid↔organic overlap audit, and scores the ROAS A (Audience) dimension + structure. Not for computing the final RQS — use ad-account-auditor; not for budget split — use budget-optimizer; not for organic site architecture — use site-structure-optimizer. 付费广告账户结构/广告系列规划/否定关键词'
version: "20.1.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when designing or restructuring a paid-ads account before launch: choosing campaign types (Search/PMax/broad), grouping ad groups or asset groups, setting targeting and match types, building negative-keyword and exclusion lists, or checking whether paid and organic are bidding against the same intent."
argument-hint: "<account/campaign goal> [platforms] [target keywords or themes]"
metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "ad", "phase": "research", "geo-relevance": "low", "hermes": {"tags": ["marketing", "ad", "research"], "category": "ad"}, "openclaw": {"emoji": "🎯", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---

# Campaign Architect

Plans the structure of a paid-ads account — campaign types, ad-group/asset-group layout, targeting, match types, and negative/exclusion hygiene — and scores the ROAS **A (Audience)** dimension plus structure. It designs the paid account skeleton (distinct from organic site architecture) and hands the finished structure to the auditor that scores the full account; it does not compute the final RQS itself.

## Quick Start

```
Plan the paid account structure for [goal] on [platforms]. Here is my exported campaign + search-terms report: [paste/path].
```

```
Should this be Search, PMax, or broad match? Lay out ad groups and the negative-keyword list for [themes].
```

```
Audit paid↔organic cannibalization: here is my GA4 traffic-acquisition export and my campaign export.
```

## Skill Contract

**Expected output**: a paid account structure (campaign-type choice, ad-group/asset-group map, targeting + match-type plan, negative/exclusion lists), a paid↔organic cannibalization read, a ROAS **A** dimension score with structure notes, and the standard handoff summary.

- **Reads**: account/campaign goal, exported campaign + search-terms report, audience/placement reports, GA4 traffic-acquisition export (own data); the budget split from [budget-optimizer](../../../influencer/target/budget-optimizer/SKILL.md) when present.
- **Writes**: a user-facing structure plan and reusable summary to `memory/ad/campaign-architect/`.
- **Promotes**: chosen campaign type, structure decisions, A-dimension score, cannibalization findings, and missing exports to `memory/hot-cache.md` and `memory/open-loops.md`; propose durable structure choices as pending-decision items.
- **Done when**: campaign type is justified against the goal; every ad group / asset group has a single intent theme; match types and a negative/exclusion list are specified; the paid↔organic overlap is reported or its qualified item is Unknown; and the typed ROAS **A** score is emitted only at complete applicable coverage, otherwise the run is `NEEDS_INPUT/UNDECIDED/NOT_SCORED` with no score.
- **Primary next skill**: [ad-account-auditor](../../activate/ad-account-auditor/SKILL.md) to score the full RQS and enforce the veto items.

### Handoff Summary

> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).

## Data Sources

Use `~~ad platform` (own-accoun
Read the full source on GitHub (opens external page)
Context

Related work