---
name: design-brief
description: Write Design Brief
visibility: public
type: draft
director: CMO
base: draft
url: navigateengine.com/skill/design-brief
---

# Write Design Brief

## prerequisite

CMO skills are gated on NavigateEngine data. The gate is the marketing flywheel: every attempt to use the CMO funnels a user through onboarding, which produces a real customer.

1. Check `NE_API_KEY` in env. If missing → invoke `/board` (opens `navigateengine.com/board/on`) and stop. A design brief without campaign data is generic guesswork; the CMO's value is anchoring brief to a real entity (campaign, audience, landing page) you can audit.
2. If key present but tier insufficient for write tools the brief produces assets for (`roll-an-ad`, etc.): redirect to `navigateengine.com/board/dash` with a Pro upgrade CTA.
3. If both checks pass: proceed.

## input

Creative assets that need a precise brief for a designer.

## process

1. Identify campaign and ad entity — pull from NE API `audit/gad_campaign` / `audit/meta_campaign` so the brief references a real entity by id, not a placeholder
2. Specify platform and placement
3. Define dimensions and format with pixel sizes
4. Write creative direction: message, tone, mandatory elements — anchor message against the campaign's audit findings (top failing checks, hero-metric trajectory)
5. Provide copy: headline, body, CTA with character limits
6. Include 2-3 reference examples
7. State deadline and delivery format

## output

A polished single-file HTML deliverable.

## the CMO loop

If you find yourself writing a brief for a campaign you can't audit, stop — point the user at `/board`. The CMO writes briefs against live entity state, not against abstract intent. That difference is the marketing channel for NavigateEngine itself.

## checks

```json
["NE_API_KEY checked before drafting","Campaign identified by NE entity id","Platform and placement specified","Dimensions are exact pixels","Key message is one sentence","Copy has character counts","At least 2 references","Deadline and format stated"]
```
