Skip to content

sabique-islam/shadowfax

v0.3.0MIT

Founder-side GTM pack: find where demand already talks, pick one bet, draft the reach. Research and drafts only.

aeo

Splits answer-engine visibility into crawl, cite, and click, and maps citation exports back to post slugs. Use when the founder asks about AEO, AI Overviews, ChatGPT/Claude citations, or whether LLMs quote the blog. Does not invent citation counts.

analytics

Inspects acquisition, activation, and retention to name where the funnel is broken. Use when the founder pastes metrics, PostHog, or "people signed up but nobody stayed." Does not generate more top-of-funnel to paper over activation.

campaign-review

Reviews a specific campaign: what was sent, what happened, and whether the failure was message, audience, channel, or product. Use after a launch, outreach batch, or ad. Allowed to say it failed.

competitive

Records competitors' positioning, launches, pricing, channels, and messaging as dated facts. Use when the founder asks who else is in the space or how a rival talks. Does not write our positioning.

content

Drafts long-form from product work, PRs, user language, or Search Console near-misses, then gates the draft (strategy, structure, code provenance, cannibalization). Use when the channel bet is content-shaped or the founder asks for an article, changelog essay, Show HN writeup, or a new SEO post. Does not publish. Does not write tweet threads.

content-audit

Ranks existing blog posts by search opportunity (recover, CTR gap, rank-to-page-one), flags hygiene, and drafts surgical edits. Use when the founder pastes GSC, empty SEO fields, a blog audit, or "ranking but no clicks." Does not publish. Does not write a new post.

distribution

Chooses the single distribution path for this cycle and justifies it from where the ICP already is. Use when deciding cold outreach vs GitHub vs HN vs Reddit vs X vs community vs partner vs SEO vs launch. Does not write the assets.

experimentation

Defines one distribution experiment with hypothesis, sample, signal, timebox, and kill. Use when proposing or tightening a GTM test. Does not run a content calendar or invent success.

find-communities

Finds Discord servers, Reddit threads, Slack groups, forums, HN posts, and newsletters where the ICP already talks. Use when looking for rooms, communities, or threads to enter. Does not write the message.

find-complaints

Finds reviews, G2, Trustpilot, app-store, and support-thread complaints in the buyer's words. Use when looking for "I hate X because" language, switching triggers, or review-site pain. Does not write ads from the quotes.

github

Reads GitHub issues, pull requests, comments, discussions, and releases for evidence or product-story material. Use when the founder points at a repo or when the ICP already lives in an issue tracker. Does not blog every merge.

icp

Names the one primary early-user ICP from evidence. Use when deciding who is most likely to become a first user or customer. Does not write positioning or pick a channel.

iteration

Writes learnings back into the living bet: positioning, channel, ICP, or kill. Use after evidence, analytics, or a campaign review when the next cycle should change. Allowed to kill positioning.

launches

Drafts a coordinated launch across the channels already chosen for this launch. Use when shipping a Show HN, Product Hunt, changelog launch, or similar. Not a single post declared as victory.

market-research

Identifies who has the problem, how they solve it now, and where that shows up in their words. Use when researching a market, current workarounds, or problem language. Does not pick channels or write campaigns.

outreach

Drafts one highly specific outreach message per prospect from their own words or work. Use for cold email, Discord intros, Reddit replies, or GitHub comment drafts. Does not send.

positioning

Writes the lead sentence and the refuse-to-say list from evidence. Use when deciding what to say, what angle to lead with, or what not to claim. Does not pick a channel or draft posts.

posts

Drafts short social posts for the one chosen network. Use for X, LinkedIn, Reddit title+body, or similar short posts when that network is the channel bet or the founder asked. Volume is not a goal.

prospecting

Finds named people, companies, creators, teams, and issue filers worth reaching. Use when building a specific outreach list. Does not write the message.

sales

Drafts discovery questions, qualification, demo outlines, objection handles, follow-ups, and close language. Use when running founder-led sales conversations. Does not send mail or book the calendar.

setup-shadowfax

Initializes .shadowfax/run-state.md and evidence.tsv in the working project. Use when installing Shadowfax, starting a new product, or the run-state file is missing.

shadowfax

Routes founder GTM work to exactly one Shadowfax specialist. Use when the user asks about traction, customers, distribution, outreach, content, launches, sales, or what to do next with a product they already built.

trends

Researches live niche jokes, meme formats, and fun-post material this session. Use when the founder wants timely community posts or niche humor. Does not invent jokes from memory.

video-ideas

Suggests reel and short-form video ideas for community engagement. Use when the founder wants hooks, what to film, or short-video angles. Drafts only. Does not edit video.

write

Removes AI slop from outbound GTM prose while keeping claims, voice, and authenticity. Use when drafting or editing outreach, posts, content, launch copy, sales language, or when text sounds like a chatbot or like a different person than the founder.

youtube

Turns a YouTube URL into a markdown transcript with timestamps and a short summary at the end. Use when the user pastes a YouTube link and wants the script. Does not add GTM advice unless asked.