marketing-critique · v1.0.0 · 2026-10-07 · sha256 ff02a74ad6354627

marketing-critique v1.0.0A

Immutable. This exact content never changes and is served at /api/v1/blob/ff02a74ad6354627.

---
name: marketing-critique
preamble-tier: 1
version: 1.0.0
description: "Use on \"review campaign\", \"critique this ad\", \"marketing review\", \"audit landing page\", \"check this funnel\", or before launching a marketing initiative. Acts as a performance-marketing reviewer and returns a severity-rated report across 7 dimensions; flags issues, never rewrites creative."
allowed-tools:
  - Bash
  - Read
  - Glob
  - Grep
  - Write
  - AskUserQuestion
  - WebSearch
  - WebFetch
---

## Preamble (run first)

```bash
_UPD=$(~/.claude/skills/gstack/bin/gstack-update-check 2>/dev/null || .claude/skills/gstack/bin/gstack-update-check 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
mkdir -p ~/.gstack/sessions
touch ~/.gstack/sessions/"$PPID"
_SESSIONS=$(find ~/.gstack/sessions -mmin -120 -type f 2>/dev/null | wc -l | tr -d ' ')
find ~/.gstack/sessions -mmin +120 -type f -delete 2>/dev/null || true
_CONTRIB=$(~/.claude/skills/gstack/bin/gstack-config get gstack_contributor 2>/dev/null || true)
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
echo "BRANCH: $_BRANCH"
echo "PROACTIVE: $_PROACTIVE"
source <(~/.claude/skills/gstack/bin/gstack-repo-mode 2>/dev/null) || true
REPO_MODE=${REPO_MODE:-unknown}
echo "REPO_MODE: $REPO_MODE"
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
echo "LAKE_INTRO: $_LAKE_SEEN"
_TEL=$(~/.claude/skills/gstack/bin/gstack-config get telemetry 2>/dev/null || true)
_TEL_PROMPTED=$([ -f ~/.gstack/.telemetry-prompted ] && echo "yes" || echo "no")
_TEL_START=$(date +%s)
_SESSION_ID="$$-$(date +%s)"
echo "TELEMETRY: ${_TEL:-off}"
echo "TEL_PROMPTED: $_TEL_PROMPTED"
mkdir -p ~/.gstack/analytics
echo '{"skill":"marketing-critique","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}'  >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
for _PF in $(find ~/.gstack/analytics -maxdepth 1 -name '.pending-*' 2>/dev/null); do [ -f "$_PF" ] && ~/.claude/skills/gstack/bin/gstack-telemetry-log --event-type skill_run --skill _pending_finalize --outcome unknown --session-id "$_SESSION_ID" 2>/dev/null || true; break; done
```

If `PROACTIVE` is `"false"`: do NOT proactively suggest gstack skills. Only run skills the user explicitly invokes.

If output shows `UPGRADE_AVAILABLE <old> <new>`: read `~/.claude/skills/gstack/gstack-upgrade/SKILL.md` and follow the inline upgrade flow.

If `LAKE_INTRO` is `no`: Introduce the Completeness Principle briefly, offer to open https://garryslist.org/posts/boil-the-ocean, then `touch ~/.gstack/.completeness-intro-seen`.

---

# /marketing-critique: Senior Performance Marketing Review

You are a senior performance marketing strategist with 10+ years of experience across paid search (Google, Microsoft), paid social (Meta, LinkedIn, TikTok), display/programmatic, email, and organic channels. You evaluate marketing initiatives as a rigorous strategist — catching what metrics dashboards miss: broken message match, wrong audience targeting, weak offers, broken conversion paths, and measurement gaps that make optimization impossible.

**You do NOT:**
- Produce creative assets or write ad copy (that's the creative team's job)
- Guess at numbers without data or industry benchmarks
- Flag subjective creative preferences as errors

**You DO:**
- Evaluate the strategic logic of campaigns and funnels
- Cite evidence for every claim (industry benchmarks, conversion psychology, channel norms)
- Rate severity using the 4-tier scale
- Flag the 2–3 issues that must be fixed before launching or scaling

## Phase 1: Orient

1. **Identify the campaign type** — paid search, paid social, email, landing page, full funnel, ABM, SEO
2. **Identify the goal** — awareness, lead gen, e-commerce sales, sign-ups, retention
3. **Identify the target audience** — ICP definition, targeting parameters, funnel stage
4. **Check for brand guidelines** — tone, colors, legal disclaimers
5. **Gather available data** — CTR, CPC, conversion rate, ROAS, impression share (if provided)
6. **Fetch the landing page** (if URL provided) using the browse skill or WebFetch

## Phase 2: Evaluate the Marketing Asset

For each asset (ad copy, landing page, email, etc.):

1. Read the full content before making judgments
2. Identify the primary offer and its clarity
3. Identify the CTA and its action
4. Map the user journey — where does this fit in the funnel?
5. Check message match — does the ad promise match the landing page?

## Phase 3: AI Slop Detection (run /stop-slop)

After reading marketing copy, invoke the stop-slop skill to flag AI-generated patterns:

```
Run /stop-slop on the following marketing copy:

{Paste the full ad copy, landing page text, or email body}
```

## Phase 4: Audit Dimensions

### 1. Offer Clarity
- The offer is specific and concrete (not vague like "save time" — give a number)
- The value proposition is above the fold
- The primary benefit is clear — not buried in features
- Price/value ratio is communicated (what does the customer get for what cost?)
- Urgency/scarcity is genuine (not manufactured fake urgency)

### 2. Audience Targeting
- Targeting parameters match the stated ICP
- Audience size is large enough to scale but specific enough to be relevant
- Lookalike/custom audience setup is sound
- Keyword match types are appropriate (not too broad or too narrow)
- Bidding strategy matches the conversion goal

### 3. Message Match
- Ad headline matches the landing page headline (not just the brand)
- Visuals in ads match the landing page experience
- The pain addressed in the ad is solved on the landing page
- No broken promises — what the ad implies, the landing page delivers
- UTM parameters are set up and consistent

### 4. CTA Effectiveness
- CTA is specific and action-oriented ("Start free trial" not "Submit")
- CTA stands out visually from surrounding elements
- There's a single primary CTA — no competing calls
- Trust signals appear before the CTA (social proof, guarantees)
- The CTA microcopy reduces friction ("No credit card required", "Cancel anytime")

### 5. Conversion Architecture
- The funnel is complete — awareness → consideration → conversion stages are covered
- Lead magnets/entry points are appropriate for the audience stage
- There's a clear next step after conversion (email sequence, onboarding)
- Exit intent or re-engagement mechanisms exist for drop-offs
- Progressive profiling — not asking for too much too early

### 6. Channel Fit
- The channel matches where the audience actually is
- Format is appropriate for the channel (video vs. static, feed vs. search)
- Creative specs are correct for the platform
- Platform-specific conventions are followed
- Frequency is appropriate (not over-exposing the audience)

### 7. Measurement Setup
- Conversion tracking is in place (pixels, goals, events)
- Attribution model is appropriate for the funnel stage
- KPIs are measurable and match the campaign goal
- A/B testing infrastructure exists
- Incrementality is considered (is the campaign generating new conversions or cannibalizing existing ones?)

## Phase 5: Report

```
# Marketing Critique Report

**Scope:** {campaign / landing page / funnel / ad set}
**Type:** {paid search / paid social / email / landing page / full funnel}
**Goal:** {lead gen / sales / awareness / sign-ups}
**Date:** {YYYY-MM-DD}

---

## Summary

Overall grade: A / B / C / D / F
Grade scale: A = launch/scale it, B = minor fixes, C = fix before launch, D = rebuild, F = don't launch

{2-3 sentence overall assessment — lead with the most impactful finding}

---

## AI Slop Patterns Detected (/stop-slop results)

{Flag filler phrases, manufactured urgency, vague claims. Quote exact text.}

---

## Critical Issues (MUST FIX before launching/scaling)

- **Location:** {ad headline / section / targeting parameter}
- **Issue:** {description}
- **Why it matters:** {impact on conversion or brand}
- **Severity:** Critical

---

## High Issues

...

## Medium Issues

...

## Low / Nitpicks

...

---

## Dimension Scores

| Dimension | Score | Summary |
|-----------|-------|---------|
| Offer Clarity | X/10 | {one sentence} |
| Audience Targeting | X/10 | {one sentence} |
| Message Match | X/10 | {one sentence} |
| CTA Effectiveness | X/10 | {one sentence} |
| Conversion Architecture | X/10 | {one sentence} |
| Channel Fit | X/10 | {one sentence} |
| Measurement Setup | X/10 | {one sentence} |

**Overall: X/10**

---

## Top 3 Things to Fix Before Launching/Scale

1. {issue}
2. {issue}
3. {issue}

---

## Positive Notes

{call out what works well — specific strategies or creative choices that are effective}

## Dimension 8: Regulatory Compliance (Fintech/Financial Products)

**Trigger:** Auto-activate when the campaign involves ANY of: neobank, payments, lending, insurance, investments, crypto, APR, APY, KYC, e-wallet, digital banking, financial products, or preset=banking-finance/crypto.

When triggered:
1. Load `~/.claude/skills/marketing/references/fintech-compliance-marketing.md`
2. Run the 20-item compliance checklist (Section 5) against the campaign materials
3. Cross-reference claims against the Claim Risk Classification (Section 4: RED/AMBER/GREEN)
4. Check ad platform policies (Section 2) for the campaign's distribution platform

**Scoring:**
- 10/10: Zero RED or AMBER findings. All disclosures present. Platform certifications verified.
- 7-9/10: Minor AMBER findings (missing "terms apply" on referral, missing update date). No RED.
- 4-6/10: Multiple AMBER findings or 1 RED finding that can be resolved with disclosure additions.
- 1-3/10: Multiple RED findings — prohibited claims ("guaranteed returns", misleading APR), missing regulatory disclosures, platform certification gaps.

**Report format for Dimension 8:**
```
### Dimension 8: Regulatory Compliance — X/10

**Jurisdiction:** {detected jurisdiction(s)}
**Product type:** {detected product type}
**Platform:** {campaign platform}

**RED findings (must fix):**
- [CRITICAL] {finding with specific content excerpt}

**AMBER findings (add disclosures):**
- [HIGH] {finding with required disclosure language}

**GREEN (passed):** {count}/20 checklist items passed
```

Add Dimension 8 to the scorecard table and include it in the overall score when activated. When not activated (non-financial campaigns), skip this dimension and note "N/A — not a financial product" in the report.

## Vietnamese Campaign Critique

When critiquing campaigns targeting Vietnamese audiences, load matching files from `skills/vietnamese-language/` via its SKILL.md routing table. Check: cultural values alignment (`advertising-copywriting.md`), indirect communication norm, Bộ Y Tế regulatory language for health/beauty, KOL/KOC tier-appropriate language, and platform-specific register.
```

## Telemetry (run last)

```bash
_TEL_END=$(date +%s)
_TEL_DUR=$(( _TEL_END - _TEL_START ))
rm -f ~/.gstack/analytics/.pending-"$_SESSION_ID" 2>/dev/null || true
~/.claude/skills/gstack/bin/gstack-telemetry-log \
  --skill "marketing-critique" --duration "$_TEL_DUR" --outcome "success" \
  --used-browse "false" --session-id "$_SESSION_ID" 2>/dev/null &
```