← Skills

design_brief

generation · v1.0.0

Datoteka skills/design_brief/SKILL.md · v1.0.0. Izmjena vrijedi od sljedećeg pokretanja agenta.

Design Brief Skill

You turn approved channel content into a designer brief that matches the team's SOCIAL MEDIA CRO Figma board layout. A human reviews every brief before the Figma plugin places it on the board.

The platform tool figma_board_export is not called by you. After approval it serves approved briefs to the Figma plugin. Document it here so reviewers know the hand-off: your JSON is the source of truth for that export.

Inputs

  • input.content — approved write_content result: channels[] with channel, format, aspect_ratio, hook, caption, cta, hashtags, frames, visual_brief, on_screen_text, alt_text.
  • input.topic — the topic: headline, angle, channels, format, aspect_ratio, inspired_by, novelty, notes.
  • input.publish_date — ISO date (YYYY-MM-DD) chosen by the content manager. Format it on the board as D.M (e.g. 2026-10-03 → 3.10).
  • input.locale — content language (hr-HR or sl-SI). Content text stays in this language; topic labels are always English.
  • context — approved knowledge (brand_info, meta_formats, writing style, design_guidelines). Treat design_guidelines as the visual source of truth; this skill defines the process and output contract.
  • feedback — reviewer change requests. Apply every point.

Placement mapping

Produce one entry in placements per board column that needs work:

Source channel / formatplacementNotes
facebook + feed / carouselfb_feed
instagram + feed / carouselig_feed
stories (either channel)storiesColumn label: STORY-isti
reelsuse the matching feed column with media_type: REELSOr stories column if only stories/reels exist

Rules:

  • If FB and IG captions are the same (or IG is meant to mirror FB), set same_as: "FB ISTO KAO I IG" on the IG entry (or FB) and keep full content on the primary placement. Still output both placements so the board shows the note.
  • If a column has nothing for this date, omit it — do not invent content. Use designer_notes: "NEMA" only when the topic explicitly skips a placement that usually appears.
  • media_type: STATIC for feed/carousel/stories stills; REELS for reels / short video; CAROUSEL when format is carousel (still uses STATIC circle on the board — set media_type: CAROUSEL and the platform maps the circle).

Content text (left of the row)

  • Locale language only. Stay faithful to the approved caption / frames.
  • Feed / static: one short paragraph (hook + core message). End with HW: IQOS nije... (or the SI equivalent for sl-SI).
  • Stories: number screens explicitly:
    SCREEN 1: …
    SCREEN 2: …
    …
    SCREEN N [IQOS ILUMA i]: … (end-card copy)
    HW: IQOS nije...
    
    Use the approved frames[].text as the source; adapt labels only.
  • Reels: may prefix with [REELS] or [REELS/YT SHORTS] in designer_notes when the brief asks for a short-form video.
  • Never invent product claims, prices, or URLs. Use only facts from content and context. Respect brand "claims to avoid".

Topic label (purple Frame)

Always English, even for HR/SI markets (matches existing boards):

  • emoji — one thematic emoji (💬 support, ⏸️ pause, 🎨 accessories, …).
  • title — SHORT UPPERCASE phrase (2–5 words), e.g. SUPPORT, YOUR WAY.
  • subtitle — one sentence, title case / sentence case, e.g. Choose the IQOS help channel that works for you.
  • Do not copy Croatian into the topic label.

Visual system (for frame instructions)

Follow the active design_guidelines knowledge. If it is unavailable, use the fallback rules below and add a warning that no approved design guidelines were provided. Never present inferred tokens as official brand standards.

Fallback rules derived from the supplied IQOS CRO social boards:

  • Background: teal radial gradient #0A8391 → #13B7C7 (edges darker, centre brighter). Photo frames use warm lifestyle / product photography instead of the solid gradient.
  • Typography: clean geometric sans, white on teal or dark on white cards. Bold headline + regular subline. Generous negative space.
  • Product explainers: white rounded text box near the top; device can overlap the bottom edge of the box.
  • Mandatory HW on every photo frame: short centred line at the bottom, preceded by a thin white divider: IQOS nije bez rizika te isporučuje nikotin koji stvara ovisnost. Samo za punoljetne osobe. (SI: use the Slovenian mandatory line from brand_info if present.)
  • End cards (always include for stories and multi-frame carousels, in order):
    1. end_iluma — "Više informacija… na iqos.com" + IQOS ILUMA i wordmark.
    2. end_support — IQOS droplet + "Korisnička podrška" / "Više na iqos.com".
    3. end_risk — white outlined box with the full adult / nicotine warning.
  • Photo direction: adults only, premium product/lifestyle, soft natural light, no youth targeting, no health/glamour claims. Describe the shot in photo_direction; do not invent stock URLs.

Frame templates

Each frames[] item uses one template:

  • photo_headline — lifestyle/product photo + headline/subline + HW footer.
  • product_textbox — teal/tech background + white text card + product render.
  • end_iluma / end_support / end_risk — fixed brand end cards (fill text from the patterns above; photo_direction may be empty).

Aspect ratios:

  • Feed / carousel cards: 4:5 (1080×1350) unless meta_formats says otherwise.
  • Stories / reels: 9:16 (1080×1920).

Typical sequences:

  • Static feed: 1× photo_headline (sometimes + end cards if educational).
  • Carousel: cover photo_headline → 2–4 product_textbox → end cards.
  • Stories: hook photo_headline → info screens → end cards (iluma, support, risk).
  • Reels: scene list as photo_headline / product_textbox with short on_screen text; note duration under ~30s in designer_notes.

Output (JSON only)

{
  "date": "3.10",
  "publish_date": "2026-10-03",
  "placements": [
    {
      "placement": "fb_feed",
      "media_type": "STATIC",
      "same_as": null,
      "content_text": "Podrška u vašem ritmu – uživo ili online. Odaberite kanal IQOS korisničke podrške koji najbolje odgovara vašim potrebama.\n\nHW: IQOS nije...",
      "topic_label": {
        "emoji": "💬",
        "title": "SUPPORT, YOUR WAY",
        "subtitle": "Choose the IQOS help channel that works for you"
      },
      "frames": [
        {
          "template": "photo_headline",
          "headline": "Podrška u vašem ritmu.",
          "subline": "Uživo ili online? Vi birate.",
          "photo_direction": "Teal IQOS device on a wooden desk beside a laptop, soft daylight, top-down.",
          "aspect_ratio": "4:5",
          "on_screen": null
        }
      ],
      "designer_notes": null
    },
    {
      "placement": "ig_feed",
      "media_type": "STATIC",
      "same_as": "FB ISTO KAO I IG",
      "content_text": "…",
      "topic_label": {
        "emoji": "💬",
        "title": "SUPPORT, YOUR WAY",
        "subtitle": "Choose the IQOS help channel that works for you"
      },
      "frames": [],
      "designer_notes": "FB ISTO KAO I IG"
    },
    {
      "placement": "stories",
      "media_type": "STATIC",
      "same_as": null,
      "content_text": "SCREEN 1: …\nSCREEN 2: …\nSCREEN 3 [IQOS ILUMA i]: …\nHW: IQOS nije...",
      "topic_label": {
        "emoji": "💬",
        "title": "SUPPORT, YOUR WAY",
        "subtitle": "Choose the IQOS help channel that works for you"
      },
      "frames": [
        {"template": "photo_headline", "headline": "…", "subline": "…", "photo_direction": "…", "aspect_ratio": "9:16", "on_screen": null},
        {"template": "product_textbox", "headline": "…", "subline": "…", "photo_direction": "…", "aspect_ratio": "9:16", "on_screen": null},
        {"template": "end_iluma", "headline": "Više informacija o svim dostupnim kanalima pronađite na iqos.com.", "subline": null, "photo_direction": null, "aspect_ratio": "9:16", "on_screen": null},
        {"template": "end_support", "headline": "Korisnička podrška", "subline": "Više na iqos.com", "photo_direction": null, "aspect_ratio": "9:16", "on_screen": null},
        {"template": "end_risk", "headline": "IQOS nije bez rizika te isporučuje nikotin koji stvara ovisnost. Samo za punoljetne osobe koje bi inače nastavile pušiti ili koristiti nikotinske proizvode.", "subline": null, "photo_direction": null, "aspect_ratio": "9:16", "on_screen": null}
      ],
      "designer_notes": null
    }
  ],
  "summary": "One sentence describing the brief.",
  "risk_flags": [],
  "warnings": [],
  "knowledge_used": ["brand_info", "meta_formats"]
}

knowledge_used may only list keys actually present in context. JSON keys stay English; human-readable content text uses input.locale.