with one click
agency-client-handoff
Export a white-label client deliverable as a zip.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Export a white-label client deliverable as a zip.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Five brand direction variations for pitch discovery.
Per-client asset templates scoped by workspace.
Client-branded pitch mockups: hero, tiles, slides.
Generate icons, empty states, onboarding for apps.
Deterministic default-avatar generator per user.
Polish raw screenshots into LP-ready heroes.
Based on SOC occupation classification
| name | agency-client-handoff |
| description | Export a white-label client deliverable as a zip. |
| license | MIT |
| metadata | {"author":"Picsart","version":"1.0.0","hermes":{"category":"agency","tags":["picsart","agency","creative","client-work"]}} |
Package a completed engagement for transfer to the client's in-house team, DAM, or next agency — with the asset set, prompt library, model pins, rights documentation, and everything else the receiving team needs to regenerate consistent work without you in the loop.
Engagement done → reproducible handoff bundle. Knowledge transfer over lock-in: the receiving team should be able to keep the brand on-model without calling the agency back.
Do not use for work-in-progress reviews (use Drive links), approvals (use proof PDFs), or internal archival (use your agency's backup). Handoff is the formal, client-owned, reproducible bundle.
Ask the user (one message):
If the client needs regeneration capability, they'll need the gen-ai CLI themselves — add an install guide to the bundle.
1. INVENTORY → pull every asset + results.json from clients/<slug>/ across the engagement
2. FILTER → exclude drafts, rejected variants, internal-only WIP
3. STRIP → white-label: remove agency tags, internal prompt notes, competitor refs
4. PIN MODELS → lock every prompt's model to an exact ID + version (not "latest")
5. DOCUMENT → generate README, RIGHTS.md, CHANGELOG, prompt library
6. PACKAGE → zip with consistent folder structure + naming
7. VERIFY → extract and cold-test: can a fresh machine regenerate one asset?
8. DELIVER → upload to client destination, share link, brief the receiving team
Rules:
recraftv4 → recraftv4@2026-03-15 (or the exact ID returned by gen-ai models info). "Latest" will drift and break reproducibility.retainer-week-2026-04-22 or pitch-concept-b are internal — not for client eyes.{
"handoff_kind": "client-final",
"client_slug": "acme-fintech",
"engagement": "2025-Q3 to 2026-Q2 retainer",
"delivered_at": "2026-04-22",
"brand_system": "docs/brand-system.json",
"brand_rules": "docs/brand.md",
"pinned_models": "docs/model-pins.json",
"assets_count": 247,
"prompts_count": 54,
"rights_status": "all generated, no licensed stock",
"regeneration_supported": true,
"support_window_days": 30
}
Include this as docs/handoff-manifest.json — a single file that tells the receiving team what they got and what they can do with it.
Handoffs don't generate new assets — they package existing ones. But for reproducibility checks:
| Task | Model | Notes |
|---|---|---|
| Dry-run regeneration test (cheapest) | gemini-3.1-flash-image | Use to verify payload validity, not output quality |
| Full regeneration proof (one asset) | Same as original, pinned | Matches the original bundle; compare outputs visually |
| Re-export at higher resolution | topaz-upscale-image | If the client DAM wants 4K versions |
Never substitute a newer model for the pinned one during handoff — the whole point is that the client can reproduce the agency's output exactly.
handoff-v1/, handoff-v2/. Don't overwrite if an updated bundle is requested later.gen-ai models info <id> --json — preserves capabilities at handoff time.gen-ai install.gen-ai CLI only.Run gen-ai whoami to confirm authentication, then re-run the failed command with --debug.
CLIENT="acme-fintech"
HANDOFF="handoff/$CLIENT-$(date +%Y-%m-%d)"
mkdir -p "$HANDOFF"/{assets,prompts,source,docs}
find "clients/$CLIENT" -name "results.json" -exec cp {} "$HANDOFF/source/" \;
cp -r "clients/$CLIENT/deliverables/"* "$HANDOFF/assets/"
node scripts/extract-prompts.js "$HANDOFF/source/" > "$HANDOFF/prompts/prompt-library.json"
# Get pinned model IDs for every model the engagement used
for model in $(jq -r '.jobs[].model' "$HANDOFF/source/"*.json | sort -u); do
gen-ai models info "$model" --json >> "$HANDOFF/docs/model-pins.json"
done
# Strip internal tags from the prompt library
jq 'del(.jobs[].tags[] | select(startswith("internal-") or startswith("retainer-")))' \
"$HANDOFF/prompts/prompt-library.json" > "$HANDOFF/prompts/prompt-library.clean.json"
mv "$HANDOFF/prompts/prompt-library.clean.json" "$HANDOFF/prompts/prompt-library.json"
Generate a README.md covering: folder walkthrough, regeneration steps (CLI install + one worked example), pinned model note, rights status, support contact + sunset date. Include docs/brand-system.json, docs/brand.md, docs/model-pins.json, docs/RIGHTS.md, docs/CHANGELOG.md.
Minimum regeneration steps to include in the README:
1. Install CLI: curl -fsSL https://picsart.com/gen-ai-cli/install.sh | bash
2. gen-ai login
3. Pick a prompt from prompts/prompt-library.json
4. gen-ai generate -m <pinned-model-id> -p "<prompt>"
cd handoff
zip -r "$CLIENT-handoff-$(date +%Y-%m-%d).zip" "$CLIENT-$(date +%Y-%m-%d)/" \
-x "*.DS_Store" "*/.git/*"
# Cold test — extract to a clean dir, regenerate one asset
tmpdir=$(mktemp -d) && unzip -q "$CLIENT-handoff-$(date +%Y-%m-%d).zip" -d "$tmpdir"
cd "$tmpdir/$CLIENT-$(date +%Y-%m-%d)"
SAMPLE_PROMPT=$(jq -r '.jobs[0].prompt' prompts/prompt-library.json)
SAMPLE_MODEL=$(jq -r '.jobs[0].model' prompts/prompt-library.json)
gen-ai generate -m "$SAMPLE_MODEL" -p "$SAMPLE_PROMPT" --dry-run --debug
# Dry-run validates = bundle is regeneration-ready.
| Phase | Spend | Time |
|---|---|---|
| Inventory + filter + strip | $0 | 1-2 hrs |
| Documentation (README, RIGHTS, CHANGELOG) | $0 | 1-2 hrs |
| Cold-test regeneration (1-2 assets) | ~$0.50 | 15 min |
| Total handoff | <$1 | ~4 hrs |
The real cost is time, not credits. Budget a half-day per handoff; cutting corners creates support calls for months after.
workflows/agency-brand-scoping/ — brand-system.json + brand.md that ship in the handoffworkflows/agency-multi-brand-pack/ — source of per-client results.json archiveworkflows/agency-pitch-mockups/ — pitch bundles that become part of the final handoffgen-ai-use.md — regeneration reference for the client