Draft Brand Tweet
Generate tweet drafts for the @your-brand company account following 's established voice, competitor-informed positioning, and messaging guidelines.
Default: if the user asks to draft a tweet without specifying an account, draft it as @your-brand.
When to Use
- User asks to write, draft, or compose a tweet and doesn't specify an account (assume @your-brand)
- User explicitly wants a tweet for the @your-brand account
- User needs a post about product updates, , model support, partnerships, community, or events
- Use a personal-voice tweet skill only if the user explicitly asks for a specific person's personal voice
Inputs
- Topic or objective (required)
- Tweet type (required):
feature,model-support,demo/showcase,partnership,community,event,POV/opinion,incident - Must-include facts/claims (optional but strongly recommended for technical posts)
- URL/assets to include (optional)
- Person to feature (optional — name and role, for demo/showcase tweets)
- Length target (optional):
short(80-130 chars),180-270 chars)standard(
Process
Validate inputs
- If
topicortweet typeis missing, ask for it. - If the request needs concrete claims but no facts are provided, ask for source facts or continue with clearly non-numeric/high-level wording only.
- If
Pull style anchors from corpus and style notes
- Read
.agents/skills/draft-brand-tweet/style-notes.mdfirst — this is the distilled voice guide with patterns, phrases to use/avoid, emoji conventions, tone calibration examples, and terminology guardrails. - Then scan your brand's recent tweet corpus (if you maintain one) for recent examples matching the tweet type.
- Weight recent tweets highest.
- For each draft, extract 3-5 style cues from matched corpus examples (cadence, phrasing, CTA style, length).
- Read
Check competitor context
- Read
.agents/skills/draft-brand-tweet/competitor-style-notes.mdfor competitor patterns and differentiation angles. - If the topic overlaps with something a competitor recently tweeted about (e.g., model support or a shared feature area), note it and ensure 's angle is differentiated.
- Apply the "where can differentiate" insights when relevant.
- Read
Apply messaging and terminology guardrails
- If you maintain a separate positioning or messaging repo, align with your own style guide and positioning docs.
- Preserve your product naming consistently (product name, sub-products or platforms, and any capitalized feature names).
Ground technical claims in docs
- Check your product docs (if available) for accuracy on technical/product claims.
- If docs are unavailable, skip and note under "Open questions."
Draft candidates
- Produce 3 options:
- Option A: Default voice — product-first, concise
- Option B: Shorter / punchier
- Option C: More editorial / POV angle
- Keep wording natural and post-ready.
- Produce 3 options:
Self-check before output
- Style fidelity: Does this sound like the @your-brand corpus and
style-notes.md? - Terminology: Does it match messaging docs?
- Factual grounding: Are claims sourced? No fabricated features, metrics, or dates.
- Banned phrases: None of the phrases from the "avoid" list in
style-notes.md? - Competitor awareness: If relevant, is 's angle differentiated per
competitor-style-notes.md?
- Style fidelity: Does this sound like the @your-brand corpus and
Output
Return in this format:
- Recommended draft
- Alternative drafts (2)
- Why this matches style (3-5 concise bullets)
- Competitor context (if relevant — what competitors have said on this topic, how this differentiates)
- Source grounding (bullet list mapping non-trivial claims to source file paths)
- Open questions (only if required facts are missing)
Hard Constraints
- Do not fabricate product capabilities, metrics, dates, customer counts, or roadmap commitments.
- Prefer clear, plain language over hype.
- Keep tone confident and product-first, not generic "AI marketing."
- No hashtags. One emoji max.
- If uncertain, ask for missing facts or use bounded language.
Refresh Context
If you maintain tweet corpora and scraper scripts in a separate repo, refresh them there. For example:
- Refresh the @your-brand corpus:
scripts/twitter-scraper/scrape_tweets.py --user your-org --since YYYY-MM-DD --cookies ... - Refresh competitor corpora: same script with
--user <competitor_a>or--user <competitor_b>and--min-likes 100 - Re-run style-anchor selection after refresh.
References
.agents/skills/draft-brand-tweet/style-notes.md— voice and style patterns.agents/skills/draft-brand-tweet/competitor-style-notes.md— Competitor analysis and differentiation- If you maintain a separate positioning or messaging repo, also check your style guide and positioning docs, plus:
- your brand's tweet corpus (e.g.
tweets/your-org.md) - competitor tweet corpora for differentiation (e.g.
tweets/<competitor_a>.md,tweets/<competitor_b>.md) - any scraper tooling used to refresh those corpora
- your brand's tweet corpus (e.g.