hyperfx-ai/marketing-skills

slack

Slack messaging, file sharing, Block Kit formatting, and channel management.

Vedi sorgente
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

Slack Messaging

This skill provides comprehensive guidance for Slack messaging, file sharing, and formatting.

Requirements

When NOT to Respond

Return ONLY the text [NO_RESPONSE] (nothing else) in these situations:

  1. Message mentions another user, not you: If the user mentions another person (e.g., @John or @SomeOtherBot) and the message is directed at that person, not you.
  2. User explicitly asks to be ignored: If the user says something like "ignore this", "don't respond", or similar.
  3. Message is clearly not for you: If the conversation is between other users and doesn't require your input.
  4. Simple acknowledgments between users: Messages like "thanks", "ok", "got it" directed at another person.

IMPORTANT:

  • When you decide not to respond, return ONLY the exact text [NO_RESPONSE] with nothing before or after it.
  • When in doubt, respond. It's better to be helpful than to stay silent when someone needs you.
  • If someone mentions you by name or asks you a direct question, always respond.
  • In DMs (direct messages), always respond unless explicitly asked not to.

File Sharing - Critical Rules

CRITICAL: Files can ONLY be shared in Slack via upload. URLs and file paths do NOT render as viewable content in Slack.

  • Use slack_files_upload to share any file in Slack
  • Always upload to both the channel AND thread you are responding in, unless requested otherwise
  • The slack_files_upload tool accepts a file_id parameter for files already stored in the system

Sharing Generated Images

When you generate an image (e.g., via images_generate), the result includes a file_id. This image is NOT automatically displayed in Slack. You MUST explicitly upload it:

  1. Generate the image using the image generation tool
  2. Note the file_id from the result
  3. Call slack_files_upload with that file_id, the current channel_id, and thread_ts

Example workflow:

  • User asks: "Generate an image of a sunset"
  • You call the image generation tool, which returns file_id: "abc123"
  • You then call slack_files_upload(channel_id="C...", file_id="abc123", thread_ts="...")
  • Now the image appears in Slack

Do NOT just say "Here's your image" without uploading it. The user will see nothing.

Sharing Other Files

For any file you want to share (documents, CSVs, etc.), use slack_files_upload with either:

  • file_id: For files already in the system
  • file_path: For local files
  • content: For text content to upload as a file

Message Formatting

When to Use Plain Text vs Block Kit

  • Simple messages: Use plain markdown text via slack_messages_send or slack_threads_replies_send
  • Tables, lists, structured data: Use Block Kit rich_text blocks via slack_messages_send_block_kit
  • Messages over 3000 characters: Use slack_messages_send_large

Slack Markdown

Slack uses a simplified markdown:

  • *bold* (single asterisks, not double)
  • _italic_
  • ~strikethrough~
  • code ` for inline code
  • code block for code blocks
  • <url|display text> for links (NOT [text](url))

Block Kit Rich Text

Block Kit's rich_text block provides flexible formatting:

Available Elements:

  • rich_text_section: Single line of text with inline formatting
  • rich_text_list: Bulleted or ordered lists (style: "bullet" or style: "ordered")
  • rich_text_quote: Quote blocks with vertical bar styling

Element Types Within Sections:

  • text: Plain or styled text (supports bold, italic, strike, code)
  • link: Hyperlinks with optional display text
  • emoji: Emoji by name
  • user: User mentions
  • channel: Channel mentions

Bulleted List Example:

json
{
    "type": "rich_text",
    "elements": [
        {
            "type": "rich_text_list",
            "style": "bullet",
            "elements": [
                {
                    "type": "rich_text_section",
                    "elements": [{"type": "text", "text": "First item"}]
                },
                {
                    "type": "rich_text_section",
                    "elements": [{"type": "text", "text": "Second item"}]
                }
            ]
        }
    ]
}

Ordered List: Use "style": "ordered" instead of "bullet".

Nested Lists: Use the indent property:

json
{
    "type": "rich_text_list",
    "style": "ordered",
    "indent": 1,
    "elements": [...]
}

Inline Styling:

json
{
    "type": "text",
    "text": "Bold text",
    "style": {"bold": true}
}

Available styles: bold, italic, strike, code

Links in Text:

json
{
    "type": "rich_text_section",
    "elements": [
        {"type": "text", "text": "Click "},
        {"type": "link", "text": "here", "url": "https://example.com"},
        {"type": "text", "text": " to continue"}
    ]
}

Messaging Tools Quick Reference

ActionTool
Send a messageslack_messages_send
Reply in a threadslack_threads_replies_send
Upload/share a fileslack_files_upload
Send Block Kit messageslack_messages_send_block_kit
Send long message (>3000 chars)slack_messages_send_large
Update a messageslack_messages_update
Delete a messageslack_messages_delete
Add a reactionslack_reactions_add
Pin a messageslack_messages_pin
Search messagesslack_messages_search

Channel Management Quick Reference

ActionTool
List channelsslack_channels_list
Get channel infoslack_channels_get
Create a channelslack_channels_create
Set channel topicslack_channels_topic_update
Set channel purposeslack_channels_purpose_update
Invite usersslack_channels_users_invite
Get channel membersslack_channels_members_list

User Operations Quick Reference

ActionTool
List workspace usersslack_users_list
Get user profileslack_users_profile_get
Find user by emailslack_users_search_by_email
Get user presenceslack_users_presence_get
Set your statusslack_users_status_update
Create a reminderslack_reminders_create
dallo stesso repository

Altri Skills

Tutti gli Skills
hyperfx-ai
Community

ad-creative-generation

Generate on-brand ad creatives — visuals + copy — for Google, Meta (Facebook / Instagram), and other paid platforms via the Hyper MCP. Extracts brand identity from a website, writes ad copy variants, and produces brand-consistent images using reference-based image generation. Use when the user asks for ad creative, ad copy variants, RSA headlines, Meta ad creative, display ads, carousel ads, or A/B test variants.

installazioni
1
GitHub Stars
83
Aggiornato
25 ago
hyperfx-ai
Community

amazon-ads

Plan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads, set up Sponsored Products, manage keyword targeting and bids, configure ASIN or category product targeting, add negative keywords, automate budget rules, analyze ACoS / ROAS, or generate Sponsored Products reports. Also triggers on amazon ppc, amazon campaign, amazon keywords, or amazon report.

installazioni
1
GitHub Stars
83
Aggiornato
25 ago
hyperfx-ai
Community

analytics-insights

Drive Google Analytics (GA4), Google Tag Manager, Google Search Console, and BigQuery from chat — tracking plans, GA4 reports, key-event (conversion) setup, custom dimensions and metrics, GTM audits, GSC performance, and GA4 BigQuery export queries. Use when the user wants an analytics audit, a GA4 report, a tracking plan, conversion setup, GTM cleanup, search-performance data, or asks "how is the site performing?" or "are my conversions firing?".

installazioni
1
GitHub Stars
83
Aggiornato
25 ago
hyperfx-ai
Community

blog-generation

Generate one excellent, on-brand blog post per run for any business, built to rank on Google and get cited by AI search (ChatGPT, Claude, Perplexity, AI Overviews). A stateful engine: reads a brand strategy doc, picks a fresh topic (never repeats), researches, writes in the brand's voice, and logs the post back. Use when the user wants to write a blog post, run a daily or recurring blog task, or generate SEO / AEO / blog content. For keyword data and audits, defer to seo-research.

installazioni
1
GitHub Stars
83
Aggiornato
25 ago