agentsclimarketplace

Agency multi brand pack

Skill PicsArt/gen-ai-skills/skills/agency-multi-brand-pack

Shared skills, prompts, and tooling for Picsart's gen-ai CLI and generative-AI workflows

Install
npx -y skills add PicsArt/gen-ai-skills --skill agency-multi-brand-pack

Assembled 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

Per-client asset templates scoped by workspace.

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

8.7 KB, as published. Nobody here has run it

Agency multi-brand pack

Run generations for N retainer clients in one coordinated pass — each client's output strictly namespaced, each job gated by that client's brand rules, every run audit-ready for legal and billing.

N clients × M templates per client → one batch, zero cross-contamination. For agencies running weekly/monthly creative cycles across a client portfolio.

When to Use

  • Weekly/monthly retainer refresh across multiple retainer clients
  • Portfolio-wide seasonal re-skin (e.g. holiday refresh for all 8 retainer brands in one batch)
  • Multi-client pitch week where each pitch needs its own branded mockup set
  • Audit-ready production runs where finance/legal need a per-client spend breakdown
  • Any agency workflow where "run the same pipeline for every client, with their rules" is the task

Do not use for single-client deep-production work — drop to agency-pitch-mockups or a client-specific workflow. Multi-brand is for portfolio parallelism.

Prerequisites

Ask the user (one message):

  1. Client list — slugs of clients in scope (e.g. acme-fintech, zest-retail, nova-travel). Each must have a locked brand-system.json.
  2. Template set per client — same across all clients (hero + 3 social + OG) or does each client have a different deliverable?
  3. This week's theme / brief — one brief that gets re-expressed per client (e.g. "Q2 product refresh") or fully independent briefs per client?
  4. Output destination — Drive folder per client? Dropbox / S3? Internal repo path?
  5. Billing scope — tag each job with client:<slug> so per-client spend can be pulled from gen-ai history
  6. Concurrency ceiling — default 4, raise to 8 if clients all have premium rate limits

If any client in the list lacks brand-system.json or brand.md, stop and run agency-brand-scoping for that client first — do not batch-generate without locked brand files.

How to Run

1. VERIFY BRANDS  → every client in scope has clients/<slug>/brand.md + brand-system.json
2. SCAFFOLD       → build per-client manifest fragments, merge into one master manifest
3. ESTIMATE       → gen-ai batch run <manifest.json> --dry-run + estimate; break into smaller batches if > $20
4. RUN            → `gen-ai batch run <manifest.json>` with client names in job IDs and a resume-ready output dir
5. VERIFY         → per-client output folders populated; cross-check any NULLs in results.json
6. AUDIT          → export per-client spend + asset list for billing
7. DELIVER        → folder per client, approved files uploaded or linked in the retainer channel

Rules:

  • One folder per client. out/<slug>/... — never a shared output folder where filenames can collide.
  • One brand context per job, not per batch — each job prompt should include the relevant client brand.md constraints. Batch-level generic prompts are the biggest source of cross-contamination.
  • Use stable job IDs. Put client or campaign names in each id so downloaded files and results.json remain easy to group.
  • Resume with gen-ai batch resume <output-dir> by default. gen-ai batch resume <output-dir> so mid-run failures don't cost the completed half.

Quick Reference

{
  "batch_kind": "multi-brand-pack",
  "week": "2026-04-22",
  "defaults": { "model": "recraftv4", "aspectRatio": "1:1" },
  "clients": [
    { "slug": "acme-fintech", "templates": ["hero", "social-1", "og"] },
    { "slug": "zest-retail",  "templates": ["hero", "social-1", "og"] }
  ]
}

A scaffolding script expands this into the flat jobs[] manifest the CLI expects. Keep the expanded manifest checked in under out/retainer-<date>/manifest.json for reproducibility.

Quick Reference

Sub-taskModelNotes
Per-client hero (default)recraftv4Design-forward, respects brand palette
Per-client hero (photo-led brands)flux-2-proOverride at the job level for photo-heavy clients
Social tiles (1:1, 9:16)recraftv4Same brand rules, cheaper
OG / readable-headline slidesideogram-v3Only reliable text rendering
Background replacement on product shotsrecraftv3-replace-bgFor ecomm retainers
Video cuts per brandkling-v3-standard (draft) / kling-v3-pro (final)Per-client concurrency 2

Procedure

  • One brand file per client, no shared "agency-style" rules. Each client pays for their own brand rigor.
  • Namespace every output by slugout/<slug>/, drive:retainer-<date>/<slug>/, results.json job IDs. Redundant is good.
  • Script the manifest. For > 3 clients, a Node/Python scaffold that iterates clients[] × templates[] beats copy-paste errors.
  • Estimate before every run. Multi-brand batches cross the $20 threshold easily — pause and confirm.
  • Persist results.json to the repo. Audit trail for legal, billing input, and reproducibility.
  • Keep a per-client prompt library at clients/<slug>/prompts/ — manifest references these, edits propagate.
  • review brand-sensitive output. `` — better a missing asset than a mis-branded one.
  • Weekly cadence deserves a cron + Slack webhook on completion; see gen-ai-batch.md §CI recipes.

Pitfalls

  • Brand cross-contamination — missing rules on a single job, entire batch suspect. Fix: per-job rules, not batch-level.
  • Filename collisions without slug prefixes — client B's hero.webp overwrites client A's.
  • Running without gen-ai batch resume <output-dir> on a 100-job batch — one provider hiccup costs the whole run.
  • Shared Drive folder — client A sees client B's folder, NDA breach.
  • Tagless jobs — can't produce per-client billing; finance asks, you can't answer.
  • Flagship models applied everywhere — $40 weekly batch instead of $15. Draft-then-upgrade selectively.

Verification

Run gen-ai whoami to confirm authentication, then re-run the failed command with --debug.

Step 1: Verify brands + build manifest

CLIENTS=("acme-fintech" "zest-retail" "nova-travel")
WEEK=$(date +%Y-%m-%d)

# Sanity check: every client has a brand file
for c in "${CLIENTS[@]}"; do
  test -f "clients/$c/brand.md" || { echo "Missing brand.md for $c"; exit 1; }
done

Step 2: Per-client manifest fragments, merged

cat > /tmp/multi-brand-$WEEK.json <<'EOF'
{
  "defaults": { "model": "recraftv4", "aspectRatio": "1:1" },
  "jobs": [
    { "id": "acme-fintech/hero",    "prompt": "acme-fintech Q2 hero — editorial, restrained", "aspectRatio": "16:9" },
    { "id": "acme-fintech/og",      "prompt": "acme-fintech OG — headline: Q2 launch", "aspectRatio": "1200x630", "model": "ideogram-v3" },
    { "id": "zest-retail/hero",     "prompt": "zest-retail Q2 hero — playful, bold color", "aspectRatio": "16:9" },
    { "id": "nova-travel/hero",     "prompt": "nova-travel Q2 hero — cinematic wide", "aspectRatio": "16:9", "model": "flux-2-pro" }
  ]
}
EOF

gen-ai batch run /tmp/multi-brand-$WEEK.json --dry-run
gen-ai batch run /tmp/multi-brand-$WEEK.json -c 4 -o "out/retainer-$WEEK"

The / in each job id creates the per-client subfolder automatically — outputs land at out/retainer-<date>/<client-slug>/<asset>.webp plus results.json.

Step 3: Per-client audit + delivery

# Per-client completion breakdown from results.json
node -e '
  const r = require("./out/retainer-2026-04-22/results.json");
  const by = {};
  for (const j of r.jobs) {
    const c = j.id.split("/")[0];
    by[c] ||= { completed: 0, failed: 0 };
    by[c][j.status] = (by[c][j.status] || 0) + 1;
  }
  console.table(by);
'

Create an archive sub-folder retainer-$WEEK/<client-slug>/ per client, drop a summary with asset list + estimated spend from gen-ai pricing. Share only the per-client folder link — never the master folder.

Cost & time

PhaseTypical spendTypical time
Scoping (per new client, one-time)~$130 min
Production (weekly retainer, 8 clients × 4 assets)$15-3020-40 min batch + review
Flagship-model upgrade pass (2-3 hero upgrades)$5-1010-15 min

Per-client weekly spend should be trackable from results.json — if it isn't, the tagging is broken.

See also

  • workflows/agency-brand-scoping/ — required prerequisite per client
  • workflows/agency-pitch-mockups/ — per-client pitch variant
  • workflows/agency-client-handoff/ — package retainer history at engagement end
  • gen-ai-batch.md — concurrency, gen-ai batch resume <output-dir>, audit recipes

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.