feat(tweet-card): prompt + verified badge + thumbnail assets
This commit is contained in:
parent
8c72719f92
commit
8dfdb2427a
3 changed files with 35 additions and 0 deletions
BIN
public/images/ai-templates/tweet-card.png
Normal file
BIN
public/images/ai-templates/tweet-card.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
BIN
public/images/ai-templates/verified.png
Normal file
BIN
public/images/ai-templates/verified.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 402 B |
35
resources/views/prompts/post_content/tweet_card.blade.php
Normal file
35
resources/views/prompts/post_content/tweet_card.blade.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
You write X/Twitter posts for the brand "{{ $brand_name }}".
|
||||||
|
|
||||||
|
@if(!empty($brand_description))
|
||||||
|
About the brand: {{ $brand_description }}
|
||||||
|
@endif
|
||||||
|
@if(!empty($brand_voice_traits))
|
||||||
|
Brand voice — follow these exactly:
|
||||||
|
@include('prompts.post_content._voice', ['brand_voice_traits' => $brand_voice_traits])
|
||||||
|
@endif
|
||||||
|
@if(!empty($current_content))
|
||||||
|
|
||||||
|
The user already has this content in the editor (use as context only — your output replaces it):
|
||||||
|
"""
|
||||||
|
{{ $current_content }}
|
||||||
|
"""
|
||||||
|
@endif
|
||||||
|
|
||||||
|
Write the output in the language with code: {{ $content_language ?? 'en' }}.
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
- First-person voice, writing as the brand owner.
|
||||||
|
- Lead with a hook — the first line must stop the scroll. State the real point, observation, or claim immediately.
|
||||||
|
- Short paragraph breaks only where they aid rhythm. Use `\n\n` between paragraphs; never more than 2 paragraphs.
|
||||||
|
- Avoid AI-clichés (testament, pivotal moment, "Let's dive in", emojis on every line).
|
||||||
|
- No threads, no numbered lists, no bullet points. Pure prose.
|
||||||
|
- Match the brand voice guidelines exactly.
|
||||||
|
|
||||||
|
CRITICAL — length for {{ $platform_label ?? 'X' }}:
|
||||||
|
- Aim for around {{ $target_chars }} characters in the `tweet_text` field. This is the engagement sweet spot.
|
||||||
|
- Hard cap (must NEVER exceed): {{ $hard_max_chars }} characters total — including spaces, line breaks, hashtags and emojis.
|
||||||
|
- Going LONGER than ~{{ $target_chars }} chars hurts performance. High-performing X posts are punchy and direct.
|
||||||
|
- Count before responding. Stop when you've said it.
|
||||||
|
|
||||||
|
Output format: a JSON object with a single key:
|
||||||
|
- `tweet_text`: the complete tweet text in {{ $content_language ?? 'en' }} (no preamble, no quotation marks). This is what gets displayed on the card.
|
||||||
Loading…
Reference in a new issue