Agency brand scoping
Shared skills, prompts, and tooling for Picsart's gen-ai CLI and generative-AI workflows
npx -y skills add PicsArt/gen-ai-skills --skill agency-brand-scopingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Five brand direction variations for pitch discovery.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
9.1 KB, as published. Nobody here has run it
Agency brand scoping
A fast discovery pass for a new client: gather brand signals (site, deck, competitors, audience, tone), lock them into a reusable brand-system.json file, and produce 5 on-direction visual explorations to validate with the client before any production spend.
URL / deck in → brand-system.json + 5 direction variations out. One hour, under $1 in generation cost, reusable across the rest of the engagement.
When to Use
- Responding to an RFP and need 5 distinct visual directions for the first review
- Net-new client pitch — you've read the brief, now you need on-brand sketches
- Kickoff phase of a signed engagement, before production generations start
- Scoping a rebrand: grab the existing brand, propose 5 evolution paths
- Any moment where "what does this brand look like in AI generation" is the open question
Do not use for finished campaign assets — this is discovery only. Lock the system here, then run agency-pitch-mockups or agency-multi-brand-pack for deliverables.
Prerequisites
Ask the user (batch in one message):
- Client name + slug — used for folder + manifest tags (e.g.
acme-fintech) - Brand references — URL, existing deck, Figma file, or "no brand yet, we're defining it"
- Competitors / comparable brands — 2-3 names; informs what NOT to look like
- Audience + tone — who buys, what feeling ("premium + restrained" vs "bold + irreverent")
- Deliverable type the scope is for — pitch deck, campaign, launch film, product shoot (informs aspect ratios)
- Confidentiality — is this NDA? If yes, never name the client in public Drive folders or prompts
If the user gives a URL or deck, read/fetch it first and extract palette, typography impression, imagery style, and tone words. Propose the brand-system.json back for confirmation before generating.
How to Run
1. INGEST → read URL / deck / Figma, extract signals
2. DRAFT → propose brand-system.json (palette, type-feel, imagery, tone, do-nots)
3. CONFIRM → user locks the system; save to clients/<slug>/brand-system.json
4. ESTIMATE → gen-ai pricing on the 5-direction batch (< $1 target)
5. GENERATE → 5 directions, each with a single-word descriptor tag
6. REVIEW → contact-sheet the 5 outputs, get client pick
7. LOCK → winning direction becomes clients/<slug>/brand.md for all future work
Rules:
- Never skip step 2. Without
brand-system.json, every future generation for this client re-litigates brand from scratch. - Always estimate before generating. 5 variants at
recraftv4≈ 10 credits, but confirm in-session. - Keep pitch outputs watermark-free only if the client has signed. For cold pitches, add
"obvious mockup"language in prompt. - Never mix clients in a single Drive folder or manifest. Namespace everything under
clients/<slug>/.
Quick Reference
{
"client_slug": "acme-fintech",
"brand_system": "clients/acme-fintech/brand-system.json",
"defaults": { "model": "recraftv4", "aspectRatio": "16:9" },
"variants": {
"direction": ["editorial", "bold", "minimal", "playful", "cinematic"]
},
"jobs": [
{ "id": "{direction}", "prompt": "<client descriptor> — {direction} direction" }
]
}
Lock the winning direction back into clients/<slug>/brand.md — a 10-line markdown file Claude + downstream batches can include in prompts.
Quick Reference
| Sub-task | Model | Why |
|---|---|---|
| Direction exploration (default) | recraftv4 | Design-forward, honors palette + type feel, cheap |
| Photo-led brands (fashion, hospitality) | flux-2-pro | Photoreal, better lighting, for brands that live in photography |
| Typography-centric directions (editorial posters, quote slides) | ideogram-v3 | Only model that renders readable headlines reliably |
| Quick cheap drafts when testing 10+ directions | gemini-3.1-flash-image or gemini-3.1-flash-image | ~1 credit each; use for throwaway iteration |
Check live IDs with gen-ai models --mode image before committing — names shift.
Procedure
- Always scope brand before generating production work. One hour of scoping saves a week of misaligned deliverables.
- Descriptor-per-direction beats vague prompts. "Editorial" + specific cues > "something clean and modern".
- Never leak other clients' assets into a new client's prompt. No
-ifrom a different client folder, ever. - Save
brand-system.jsonto the repo, not Drive. It's versioned alongside code and MRs. - Propose 5, not 10. Client decision fatigue is real; 5 distinct directions forces a real pick.
- For NDA clients, don't name them in prompts. Use a generic descriptor ("a premium fintech for seed-stage founders") — prompts are logged.
- Build a reusable prompt library per client at
clients/<slug>/prompts/— hero, tile, social, OG templates that all reference the locked direction.
Pitfalls
- Generating before locking
brand-system.json→ 5 gorgeous directions that don't fit the brand - Brand cross-contamination — reusing a prior client's
brand.md"because it looked nice" — your competitive moat is per-client rigor, don't blow it - Descriptor overlap — "bold" and "cinematic" blur if prompts aren't distinct enough; each direction needs a clearly different visual hypothesis
- Over-polished scoping — if the scoping output looks like a finished ad, the client will ask "why not use this?" and you've skipped production
- Missing competitor check — landing on a direction that looks identical to the client's biggest rival
- Public Drive folder for an NDA client — always use
--drive-folder "internal-$CLIENT"or a private workspace
Verification
Run gen-ai whoami to confirm authentication, then re-run the failed command with --debug.
Step 1: Ingest + propose brand-system.json
Pull signals from whatever the client gave you. If it's a URL, fetch it. If it's a deck, read it. Summarize into:
{
"client_slug": "acme-fintech",
"brand": {
"palette": { "primary": "#0B1F3A", "accent": "#00D4A3", "neutral": "#F5F3EE" },
"typography_feel": "geometric sans, tight tracking, editorial weights",
"imagery_direction": "abstract finance, muted photography, no stock clichés",
"tone_words": ["trustworthy", "calm", "precise"],
"do_not": ["cartoon illustration", "neon gradients", "tech-bro stock photos"]
},
"competitors": ["wise.com", "mercury.com"],
"audience": "seed-stage founders, CFO buyers",
"confidentiality": "NDA"
}
Save to clients/<slug>/brand-system.json. This file is the single source of truth referenced by every downstream skill.
Step 2: Generate 5 directions
Each direction gets a single-word descriptor. Standard starter set: editorial, bold, minimal, playful, cinematic. Swap any that clashes with the brand's tone words (e.g. drop "playful" for a private bank).
CLIENT="acme-fintech"
OUT="clients/$CLIENT/scoping"
mkdir -p "$OUT"
# Check per-call pricing first, then multiply by 5 directions.
gen-ai pricing recraftv4
# Run as 5 discrete jobs so each can get its own direction prompt
cat > /tmp/$CLIENT-scoping.json <<EOF
{
"defaults": { "model": "recraftv4" },
"jobs": [
{ "id": "01-editorial", "prompt": "$CLIENT hero — editorial magazine feel, restrained palette, generous whitespace, confident typography", "aspectRatio": "16:9" },
{ "id": "02-bold", "prompt": "$CLIENT hero — bold graphic, high contrast, oversized type, flat color blocking", "aspectRatio": "16:9" },
{ "id": "03-minimal", "prompt": "$CLIENT hero — minimal composition, single focal element, muted neutrals, precise negative space", "aspectRatio": "16:9" },
{ "id": "04-playful", "prompt": "$CLIENT hero — playful abstract shapes, warm palette, hand-drawn accent, approachable energy", "aspectRatio": "16:9" },
{ "id": "05-cinematic", "prompt": "$CLIENT hero — cinematic photography, shallow depth of field, moody lighting, filmic grain", "aspectRatio": "16:9" }
]
}
EOF
gen-ai batch run /tmp/$CLIENT-scoping.json -c 5 -o "$OUT"
Results land at clients/<slug>/scoping/0X-<direction>.webp + results.json. Present the 5 side-by-side to the client.
Cost & time
| Phase | Typical spend | Typical time |
|---|---|---|
Scoping (this skill, 5 directions, recraftv4) | ~$0.50–$1 | 15-30 min incl. review |
| Production (after direction lock) | $5–$50 per asset set | Per deliverable |
Keep scoping under $1. If a client won't approve a direction after 5, the brief is broken — don't burn credits, push back on the brief.
See also
workflows/agency-pitch-mockups/— once direction is locked, produce pitch assetsworkflows/agency-multi-brand-pack/— run scoping-plus-production across many retainer clientsworkflows/agency-client-handoff/— package final work at engagement endgen-ai-workflows.md— general multi-step patternsgen-ai-batch.md— manifest shapes and concurrency tuning