From social
Full go-to-market pipeline for your hackathon project. Researches your repo, builds a project brief, then walks you through posting to Instagram, LinkedIn, and generating a pitch deck — all from one command.
How this command is triggered — by the user, by Claude, or both
Slash command
/social:go-to-market [repo path or GitHub URL]commands/This command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# Go To Market — Research, Create, Distribute One command to go from repo to live content across all channels. This command: 1. **Researches** your project and builds a unified brief (`.social/project-brief.json`) 2. **Distributes** content to Instagram, LinkedIn, and generates a pitch deck The brief is the single source of truth — each channel reads from it instead of re-asking for context. Set a runtime path helper once before running any script commands: --- ## Phase 1: Research & Brief ### Step 1: Locate the Project - If the user provided an argument, check whether it's a **loc...
One command to go from repo to live content across all channels. This command:
.social/project-brief.json)The brief is the single source of truth — each channel reads from it instead of re-asking for context.
Set a runtime path helper once before running any script commands:
SOCIAL_ROOT="${CLAUDE_PLUGIN_ROOT:-social}"
if [[ ! -f "$SOCIAL_ROOT/scripts/generate_image.py" && -f "$SOCIAL_ROOT/social/scripts/generate_image.py" ]]; then
SOCIAL_ROOT="$SOCIAL_ROOT/social"
fi
/tmp/research-repo and work from there.Read the following files (whichever exist) and extract project context:
git log --oneline -20) — team members, build velocity, recent activitygit shortlog -sn --no-merges) — team compositionFor each piece of information extracted, mark it as evidence (directly from repo artifacts).
Fill in these brief sections from repo data:
meta.repo_url — from git remoteproject.name — from manifest or READMEproject.description — from README first paragraphproject.tech_stack — from dependencies and file typesproject.key_features — from README feature liststeam.members — from git contributorsnarrative.traction.bullets — from commit count, recency, contributor count.social/project-brief.json in the project directory.references/project-brief-template.json.Present what was auto-extracted in a summary, then use AskUserQuestion to fill in critical fields that couldn't be inferred:
Always ask (if not already filled):
narrative.problem, audience.target_users, audience.pain_pointshackathon.*content_anglesAsk only if relevant and empty:
4. "What's your one-liner pitch?" — fills project.one_liner
5. "What stage is the project?" (hackathon / pre-seed / seed / growth) — fills project.stage
6. "Are you fundraising? If so, how much and what milestones?" — fills fundraising.*
Mark user-provided answers as evidence when they state facts, or assumptions when they express goals or projections.
Ask the user: "Want me to research competitors, market size, and trends to strengthen your narrative?"
If yes:
narrative.market (market size, competitors) and narrative.why_now (trends, timing).evidence with source URLs.If no, skip this step.
meta.created_at to the current ISO timestamp (or keep existing if updating).meta.updated_at to the current ISO timestamp..social/project-brief.json in the project directory.After the brief is saved, present the user with a distribution menu. They can pick which channels to activate, or run them all.
Use AskUserQuestion with multi-select:
"Which channels do you want to publish to?"
The user can select one, two, or all three. Execute the selected channels in the order below. Between each channel, confirm with the user before proceeding to the next.
Read .social/project-brief.json and use the instagram-content-strategy skill. Follow these steps:
Pick a content angle — Use content_angles from the brief. Ask which angle to use if multiple exist.
Choose media type — Ask the user:
Generate media (if AI-generated):
project, narrative.problem, narrative.solutionGEMINI_API_KEY="$GEMINI_API_KEY" python3 $SOCIAL_ROOT/scripts/generate_image.py \
--prompt "<crafted prompt>" \
--output /tmp/instagram_post_image.png \
--model imagen \
--aspect-ratio 1:1
GEMINI_API_KEY="$GEMINI_API_KEY" python3 $SOCIAL_ROOT/scripts/generate_video.py \
--prompt "<crafted prompt>" \
--output /tmp/instagram_post_video.mp4 \
--model veo3 \
--aspect-ratio 9:16 \
--duration 8
Craft caption — Use brief context (project.one_liner, hackathon, narrative.problem.headline, meta.repo_url). Include hook, story, CTA, 15-20 hashtags.
Present draft to user for approval or edits.
Post — Use post_photo or post_reel MCP tools. Share result with Media ID and link.
Read .social/project-brief.json and use the linkedin-cli skill. Follow these steps:
Pick a content angle — Use content_angles from the brief. Can use a different angle than Instagram.
Choose post format — Ask:
Generate image (if requested):
GEMINI_API_KEY="$GEMINI_API_KEY" python3 $SOCIAL_ROOT/scripts/generate_image.py \
--prompt "<crafted prompt>" \
--output /tmp/linkedin_post_image.png \
--model nanobanana-pro \
--aspect-ratio 4:3
Craft LinkedIn post — Use brief context (project, audience, narrative.*, hackathon, meta.repo_url, meta.website). Follow LinkedIn best practices:
Present draft to user for approval or edits.
Post — Use LinkedIn CLI:
python3 $SOCIAL_ROOT/skills/linkedin-cli/scripts/linkedin_cli.py post create \
--text "<the post text>" \
--visibility public
Read .social/project-brief.json and use the repo-to-fundraising-pitchdeck skill. Follow these steps:
Read required references:
references/pitch-framework-borys-musielak.mdreferences/slidev-playbook.mdMap brief to 8-slide framework:
brief.project → Slide 1 (Company + one-line pitch)brief.team → Slide 2 (Team)brief.narrative.problem → Slide 3 (Problem)brief.narrative.solution → Slide 4 (Solution)brief.narrative.why_now → Slide 5 (Why now)brief.narrative.traction → Slide 6 (Traction)brief.narrative.market → Slide 7 (Market)brief.fundraising → Slide 8 (Ask)Generate Slidev deck:
python3 $SOCIAL_ROOT/skills/repo-to-fundraising-pitchdeck/scripts/generate_slidev_pitchdeck.py \
--brief .social/project-brief.json \
--out slides.md \
--repo-path .
Polish — Review the generated slides, ensure one idea per slide, add presenter notes with evidence/assumptions.
Export to PDF:
slidev export slides.md --format pdf
Present the deck summary to the user. Offer to open for review or export to PPTX if needed.
After all selected channels are complete, print a summary:
.social/project-brief.json (saved / updated)slides.md + PDF) or skippedRemind the user they can re-run /go-to-market to update the brief and publish to additional channels.
npx claudepluginhub barteksad/top-notch-europe-mesh-ai --plugin social/launchGenerates platform-specific copy for Product Hunt, Twitter/X, LinkedIn, Hacker News, plus launch checklist, press kit, and timeline.
/fundraiseCreates pitch deck outline, one-pager, and investor email templates for fundraising, using prior project research in 01-03 folders.
/create-pitchGenerates a 37signals 'Shape Up' pitch for a new feature, covering problem, appetite, solution, rabbit holes, no-gos, out-of-bounds; creates GitHub issue.
/investor-pitch-deck-builderGenerates a 10-15 slide HTML investor pitch deck covering startup story, market opportunity, traction, team, financials, and funding ask. Integrates data from prior commands.
/social-mediaGenerates authentic social media posts for developer audiences on Twitter, LinkedIn, Reddit. Outputs formatted content with threads, 2-3 A/B variations, hashtags, links, and posting recommendations.