From fiveagents-link
Generate 20 background images per brand for Reel video production. Run manually or schedule externally.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fiveagents-link:background-generatorThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You generate 20 pre-stored background images per brand for use in Ken Burns Reel videos and static image posts. These backgrounds are used by the content-generator skill. Run manually when the library needs refreshing.
You generate 20 pre-stored background images per brand for use in Ken Burns Reel videos and static image posts. These backgrounds are used by the content-generator skill. Run manually when the library needs refreshing.
Do NOT use for:
Read the next 2 weeks of social calendar entries for the brand to get fresh ImageBrief values.
Use Notion MCP to query the calendar:
Use mcp__notion__API-query-data-source with the brand's Notion DB ID (from env var ${BRAND}_NOTION_DB) to find the latest SocialCalendar_ pages (sort by name descending, page_size 5).
For each page whose date range covers the next 2 weeks, use mcp__notion__API-get-block-children to get the page blocks, find the table block, then get its children (table rows).
Parse each row — column order: Date, Platform, Format, Topic, Persona, ContentAngle, CTA, Hashtags, ImageBrief, Status. Filter for rows with Status = "Planned" and dates within the next 14 days.
Extract all unique ImageBrief values (column index 8). These are the prompts.
Take up to 20 unique ImageBriefs from Step 1. If fewer than 20, create variations of existing briefs by changing:
Prompt rules:
ImageBrief exactly as written in the calendarmkdir -p brands/{brand}/backgrounds
Generate via Gemini API curl:
RESPONSE=$(curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent?key=${GEMINI_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "{ImageBrief}"}]}],
"generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
}')
# Extract base64 image and save
python3 -c "
import json, base64, sys
data = json.loads('''${RESPONSE}''')
for part in data['candidates'][0]['content']['parts']:
if 'inlineData' in part:
img = base64.b64decode(part['inlineData']['data'])
with open('brands/{brand}/backgrounds/{descriptive_filename}.png', 'wb') as f: f.write(img)
print('OK: Image saved')
sys.exit(0)
print('ERROR: No image in response')
sys.exit(1)
"
sleep 6 # Rate limit: ~10 requests per minute
Filename convention: Use a descriptive slug based on the Topic or ImageBrief content. Examples:
finance_dashboard_laptop.pngsingapore_skyline_timelapse.pngabstract_purple_silk.pngcafe_laptop_notepad.pngFilenames must be descriptive enough that the content-generator can pick the right background based on the post's Topic.
Rate limit: 3 seconds between Nano Banana calls.
echo "{brand}: $(ls brands/{brand}/backgrounds/*.png | wc -l) images"
Must have at least 20 NEW images generated. Skip filenames that already exist — the library grows each month. If any failed, retry.
DM the user via Slack MCP (channel_id: "$SLACK_NOTIFY_USER"):
🖼️ [{brand}] Monthly backgrounds refreshed
New images: 20
Total library: [count] images
Location: brands/{brand}/backgrounds/
See docs/new_agent_onboarding/metrics-spec.md for the full JSONB contract.
curl -s -X POST "https://www.fiveagents.io/api/agent-runs" \
-H "Authorization: Bearer ${FIVEAGENTS_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"skill": "background-generator",
"brand": "<active-brand>",
"status": "<success|failed>",
"summary": "<1 line, <200 chars>",
"started_at": "<ISO timestamp>",
"completed_at": "<ISO timestamp>",
"metrics": {
"date": "YYYY-MM-DD",
"images_generated": 0,
"total_library": 0
}
}'
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub fivebucksventures/fiveagents-marketplace --plugin link-skills