{"$schema":"https://soulcraft.com/schemas/kit/v2.json","id":"modern-marketing-studio","type":"soulcraft","role":"primary","status":"released","name":"Modern Marketing Studio","description":"Marketing for tech products. 10 AI marketing experts (brand, copy, social, PR, launch, growth, email, community, founder voice, analytics) work against a shared graph of personas, campaigns, channels, and KPIs. 30+ ready-to-fill artifacts. 4 operational dashboards (Venue-implemented). Knows Hacker News, Product Hunt, Show HN, dev Twitter.","longDescription":"Modern Marketing Studio is the complete marketing operating system for tech founders and product marketers. Ten specialised AI personas — brand strategist, copywriter, social media manager, PR publicist, product launch coordinator, growth marketer, email marketer, community builder, founder voice, and analytics advisor — work against a shared knowledge graph of personas, campaigns, channels, content pieces, launches, media contacts, competitors, experiments, and KPIs. Twelve phase-numbered folders take a marketing program from positioning → go-to-market plan → editorial calendar → launch runbook → social and PR campaigns → email sequences → community programs → growth experiments → founder thought leadership → sales enablement → measurement. Every artifact is real — press releases, landing pages, blog post templates, Product Hunt launch kits, Show HN strategy, email onboarding sequences, KPI trees, A/B test designs — and every skill knows the unwritten rules of the surfaces tech buyers actually trust: Hacker News, Product Hunt, Show HN, dev Twitter, Indie Hackers, the AI-beat press, B2B SaaS funnels, PLG metrics, OSS distribution. Four Venue dashboards (Campaigns, Editorial Calendar, Press Kit, Experiments) make the live state of your marketing operation visible at a glance — declared by the kit and implemented by the Venue platform for consistency and accessibility. Built for founders launching their own products and for marketing leads joining early-stage tech companies. Search terms: marketing, marketing strategy, marketing plan, product marketing, growth marketing, content marketing, social media, press release, email marketing, email sequence, drip campaign, launch plan, Product Hunt, Hacker News, Show HN, brand positioning, ICP, persona, copywriter, B2B SaaS, developer marketing, devtool marketing, founder content, build in public, KPI, OKR, growth experiment, A/B test, funnel optimization.","version":"0.3.2","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"🚀","tags":["marketing","marketing-strategy","marketing-plan","product-marketing","growth","content-marketing","social-media","press-release","email-marketing","launch","product-hunt","hacker-news","campaigns","founder","saas","devtool","go-to-market","studio"],"previewImageUrl":"kits/modern-marketing-studio/images/preview.svg","variables":[{"key":"productName","label":"Product Name","description":"The name of the product you're taking to market (e.g. \"Soulcraft\", \"Brainy\", \"Linear\").","type":"string","required":true,"example":"Soulcraft","default":"Soulcraft"},{"key":"productTagline","label":"Product Tagline","description":"One-line positioning that fits in a tweet (~80 chars).","type":"string","required":true,"example":"The operating system for AI-native products.","default":"Your product, in a sentence."},{"key":"productCategory","label":"Product Category","description":"What kind of tech product this is. Drives the flavor of every skill — a devtool launch is not a B2B SaaS launch is not an AI launch.","type":"string","required":true,"example":"ai-platform","default":"saas"},{"key":"companyName","label":"Company Name","description":"The legal/marketing company behind the product.","type":"string","required":true,"example":"Soulcraft Labs","default":"Acme Labs"},{"key":"foundedYear","label":"Founded Year","description":"The year your company was founded. Used in press boilerplates and About pages.","type":"number","required":false,"example":"2024","default":"2025"},{"key":"targetAudience","label":"Primary Audience","description":"Who the product is for, in one specific phrase. \"indie developers\" beats \"developers\". \"VP engineering at series B SaaS companies\" beats \"engineering leaders\".","type":"string","required":true,"example":"indie developers shipping AI-native side projects","default":"tech founders building their first product"},{"key":"brandVoice","label":"Brand Voice","description":"Tonal direction every copywriter output respects.","type":"enum","required":true,"example":"warm-expert","default":"warm-expert","options":["warm-expert","punchy-direct","academic-precise","playful","dry-technical"]},{"key":"pricingModel","label":"Pricing Model","description":"How the product makes money. Shapes the funnel, the trial flow, and the email sequences.","type":"enum","required":true,"example":"usage-based","default":"freemium","options":["freemium","usage-based","tiered-saas","open-core","enterprise-only","lifetime","donation"]},{"key":"primaryDomain","label":"Primary Domain","description":"Your product's primary URL (without protocol).","type":"url","required":true,"example":"soulcraft.com","default":"example.com"},{"key":"founderEmail","label":"Founder Email","description":"Email address for press / partnership inquiries that founders should see directly.","type":"email","required":true,"example":"founders@soulcraft.com","default":"founders@example.com"},{"key":"launchType","label":"Launch Type","description":"What kind of launch you're orchestrating.","type":"enum","required":true,"example":"product-hunt","default":"public-beta","options":["stealth","public-beta","product-hunt","hacker-news","invite-only","oss-release","conference-keynote"]},{"key":"northStarMetric","label":"North Star Metric","description":"The single metric that means the product is winning. Phrased as a sentence, not an acronym.","type":"string","required":true,"example":"Weekly active users who shipped at least one project","default":"Weekly active users"}],"shared":{"industry":"technology","category":"marketing-operations","glossary":{"ICP":"Ideal Customer Profile — the narrow, specific person the product is for. Not a demographic — a job, a context, a moment of need.","Positioning":"The one true sentence that distinguishes this product from every alternative the buyer is considering, including doing nothing.","PLG":"Product-Led Growth — distribution model where the product itself does the marketing and selling, and humans only intervene at the edges (enterprise sales, support).","TTV":"Time To Value — how long from sign-up until the user experiences the moment that justifies the product. The single biggest leverage point in a funnel.","Activation":"The first user action that predicts retention. Defined by data, not by gut.","ARR":"Annual Recurring Revenue — sum of contract value normalised to one year.","NRR":"Net Revenue Retention — what one cohort of customers is worth today vs. one year ago, including expansion and churn.","CAC payback":"Months of gross margin needed to recover the cost of acquiring one customer.","Show HN":"Hacker News post format prefixed `Show HN:` — the launch surface for technical products. Subject to specific timing, copy, and engagement rules.","Product Hunt":"Daily product launch site. Voting opens at midnight Pacific. Comments, hunter selection, maker presence all materially affect ranking.","Embargo":"Press agreement to hold a story until a specific time. Used to coordinate multiple publications dropping coverage simultaneously."},"aiExpertise":["Go-to-market strategy for technical products and developer tools","Brand positioning, messaging hierarchy, and voice for tech founders","Launch orchestration across Hacker News, Product Hunt, dev Twitter, press, and community","Content strategy for B2B SaaS, devtools, AI-native products, and PLG funnels","Email sequence design for trial conversion, onboarding, and re-engagement","Community building patterns (Discord, GitHub, Slack, in-product) for early-stage tech","Founder voice — building in public, conference talks, podcast prep, op-eds","Measurement, north-star metric design, and growth experimentation"],"dataModelHints":["person","event","concept","document"],"suggestions":[{"label":"Draft my positioning","prompt":"Run me through the brand-strategist skill to draft my positioning statement. Start by helping me articulate the one specific buyer I'm for."},{"label":"Plan my Product Hunt launch","prompt":"Use the product-launch skill to design my 30-day pre-launch plan, launch-day runbook, and post-launch 30-day plan for a Product Hunt launch."},{"label":"Write a Show HN post","prompt":"Help me draft a Show HN post using the social-media-manager skill. I want to land on the front page without violating any of the unwritten rules."},{"label":"Onboarding email sequence","prompt":"Using the email-marketer skill, design a 5-email onboarding sequence that gets users to first value as quickly as possible."},{"label":"Find the right journalists","prompt":"Use the pr-publicist skill to help me build a targeted media list. I want 20 reporters who actually cover my category, not a blast list."},{"label":"Define my north star metric","prompt":"Walk me through the analytics-advisor skill to define my north star metric and the leading indicators that predict it."}],"dataModel":{"entities":[{"domain":"persona","type":"Person","description":"An Ideal Customer Profile — a specific person, role, and moment the product is for. Not a demographic segment.","products":{"workshop":{"view":"gallery","icon":"🎯"},"venue":{"mapsTo":"CustomerMeta","pos":false}}},{"domain":"campaign","type":"Event","description":"A coordinated marketing push with a goal, dates, channels, KPIs, and a status.","products":{"workshop":{"view":"timeline","icon":"📣"},"venue":{"mapsTo":"BookingMeta","pos":false}}},{"domain":"channel","type":"Concept","description":"An owned or earned distribution channel — site, blog, X, LinkedIn, HN, podcast circuit, etc. — with cadence, owner, and metrics.","products":{"workshop":{"view":"board","icon":"📡"},"venue":{"mapsTo":"ConceptMeta","pos":false}}},{"domain":"content_piece","type":"Document","description":"A single artifact (blog post, social thread, email, landing page, video, deck). Has type, status, channel, scheduled-at, published-at.","products":{"workshop":{"view":"board","icon":"📝"},"venue":{"mapsTo":"DocumentMeta","pos":false}}},{"domain":"launch","type":"Event","description":"A coordinated multi-channel release. Pre-launch + launch day + post-launch are tracked as a single timeline.","products":{"workshop":{"view":"timeline","icon":"🚀"},"venue":{"mapsTo":"BookingMeta","pos":false}}},{"domain":"media_contact","type":"Person","description":"A journalist, podcaster, newsletter writer, or analyst worth talking to — with beat, outlet, recent coverage, and last-touched date.","products":{"workshop":{"view":"gallery","icon":"📰"},"venue":{"mapsTo":"CustomerMeta","pos":false}}},{"domain":"competitor","type":"Concept","description":"A real alternative the buyer is comparing the product to — including \"do nothing\" and adjacent categories.","products":{"workshop":{"view":"matrix","icon":"⚔️"},"venue":{"mapsTo":"ConceptMeta","pos":false}}},{"domain":"experiment","type":"Event","description":"A growth experiment with hypothesis, mechanism, success metric, duration, and recorded result.","products":{"workshop":{"view":"matrix","icon":"🧪"},"venue":{"mapsTo":"BookingMeta","pos":false}}},{"domain":"kpi","type":"Concept","description":"A metric with a target, an owner, a measurement cadence, and a definition. Includes north-star, contributing, and leading indicators.","products":{"workshop":{"view":"stats","icon":"📊"},"venue":{"mapsTo":"ConceptMeta","pos":false}}}],"relationships":[{"from":"campaign","to":"persona","verb":"Targets","description":"A campaign is designed for a specific ICP. If you can't name the persona, the campaign isn't focused enough."},{"from":"campaign","to":"channel","verb":"Uses","description":"A campaign deploys across one or more channels. Each channel slice has its own KPIs."},{"from":"content_piece","to":"campaign","verb":"Supports","description":"A content artifact belongs to a campaign. Standalone pieces still belong to an implicit always-on campaign."},{"from":"launch","to":"campaign","verb":"Spans","description":"A launch is a tightly-coordinated bundle of campaigns timed around a single moment."},{"from":"experiment","to":"kpi","verb":"Tests","description":"A growth experiment must move a named KPI; if it doesn't, it isn't an experiment, it's an opinion."},{"from":"media_contact","to":"competitor","verb":"Covers","description":"Tracking which journalists cover which competitors is the fastest way to build a real (small) media list."}]}},"workshop":{"difficulty":"intermediate","templateTier":5,"aiPersona":{"role":"You are a senior go-to-market operator with deep experience taking technical products from zero to launch and through early growth. You've worked at Stripe, Linear, Vercel, Notion, and a half-dozen indie devtools. You think like a founder, write like a craftsperson, and know the unwritten rules of Hacker News, Product Hunt, dev Twitter, and the Indie Hackers community. You'd rather ship one tight artifact than three vague ones, and you say so. You're warm with founders, blunt about what won't work, and you never use the word \"leverage\" as a verb.","expertise":["Positioning and messaging hierarchy for technical products","Launch orchestration across Hacker News, Product Hunt, dev Twitter, and PR","Content strategy: editorial calendars, topic clusters, dev-focused SEO","Email sequences for trial conversion, onboarding, and re-engagement","Community patterns for early-stage tech: Discord, GitHub, beta programs","Founder thought leadership: essays, talks, podcast prep, op-eds","Funnel design for PLG and B2B SaaS — TTV, activation, expansion, churn","Measurement: north-star metrics, KPI trees, growth experiment design"],"tone":"collaborator","avoidances":["Do not produce generic content-marketing advice. If a recommendation would apply equally to a yoga studio, do not give it.","Do not use buzzwords like \"synergize\", \"leverage\" (as a verb), \"unlock\", \"empower\", \"revolutionize\", \"game-changing\", \"world-class\".","Do not recommend posting tactics that violate community norms (HN/Reddit/Show HN/IH have specific rules — respect them).","Do not invent metrics, journalist names, competitor positioning, or quote anyone you haven't actually been told about. Ask before fabricating.","Do not write press releases or copy in a voice the user hasn't confirmed. Always check `01-foundation/voice-and-tone-guide.md` first."]},"workspaceConfig":{"paradigm":"planner","defaultTab":"explore","defaultView":"board","defaultFile":"01-foundation/brand-brief.md","fallbackFiles":["README.md","02-strategy/go-to-market-plan.md","04-launch/launch-plan-30-day.md"]},"graphGuidance":{"conceptCreation":{"triggers":["User describes a specific buyer or ICP","User mentions a launch, campaign, or coordinated push","User names a journalist, podcaster, or media outlet they want to reach","User names a competitor or alternative the buyer is considering","User defines a metric, KPI, or experiment hypothesis","User mentions a channel (HN, PH, X, LinkedIn, newsletter, podcast, etc.) being used"],"typeMapping":{"persona":"person","icp":"person","campaign":"event","launch":"event","experiment":"event","channel":"concept","competitor":"concept","kpi":"concept","metric":"concept","journalist":"person","podcaster":"person","outlet":"concept","post":"document","thread":"document","email":"document","landing":"document","deck":"document","case-study":"document"}},"relationshipPatterns":[{"from":"event","to":"person","verb":"Targets","description":"Campaign or launch targets a specific persona"},{"from":"event","to":"concept","verb":"Uses","description":"Campaign uses a specific channel"},{"from":"document","to":"event","verb":"Supports","description":"Content piece belongs to a campaign or launch"},{"from":"event","to":"concept","verb":"Tests","description":"Experiment targets a specific KPI"}],"rules":["Always create an entity when the user names a real buyer, competitor, journalist, channel, or KPI — vague mentions stay vague, named things become graph nodes.","Never invent a campaign, persona, or KPI the user hasn't approved. Propose, get confirmation, then create.","Use canonical noun types: Person for humans, Event for time-bound efforts, Concept for abstractions, Document for written artifacts.","When the user says \"our audience\" without a specific persona name, ask which persona — do not auto-attribute to a generic 'buyer'."]},"qualityGates":{"fileChecks":[{"path":"01-foundation/brand-brief.md","required":["## Ideal Customer Profile","## Positioning Statement","## Messaging Hierarchy"]},{"path":"02-strategy/go-to-market-plan.md","required":["## Goals","## Channels","## KPIs"]},{"path":"04-launch/launch-plan-30-day.md","required":["## Pre-Launch","## Launch Day","## Post-Launch"]}],"projectChecks":["At least one Persona entity exists in the graph","At least one Channel entity is connected to a Campaign","north-star-metric.md names a single metric, not a list"],"exportReady":["Brand brief is filled in (no placeholder {{...}} tokens remain in 01-foundation/)","Launch plan has been reviewed by at least one human before publication","Press release boilerplate matches the brand voice guide"]},"templateMetadata":{"identifyByStructure":true,"runnable":false},"domainKnowledge":{"glossary":{"Show HN format":"Title prefixed `Show HN: <product> – <one-line value>`. Submitted by maker. First comment is a maker comment with context, motivation, what's hard about the problem, what's next. No marketing copy, no exclamation marks, no emoji.","PH launch window":"Product Hunt voting opens at 12:01 AM Pacific and closes at midnight. Position in the first 4 hours typically predicts top-5. Hunter selection matters less than maker presence.","Dev Twitter wave":"Coordinated launch-day pattern where the founder posts at T-0, 3-5 trusted devs quote-reply within the first hour, a longer thread drops at T+4h, and a follow-up retro thread drops at T+24h.","Embargo lift":"Time agreed with press at which coverage may go live. Always Pacific time unless explicitly negotiated otherwise. Lift times are typically 6 AM Pacific (East-coast morning) or 9 AM Pacific (West-coast morning)."},"conventions":["Positioning sentences use the Wynne template: For <ICP> who <pain>, <product> is a <category> that <unique value>, unlike <alternative>, our product <differentiator>.","Email subject lines under 50 characters. Preview text complements, never repeats, the subject.","Blog post titles use the Beech rule: a working title + a number or specific noun. Avoid \"How to\" titles when the post isn't actually instructional.","Press releases follow inverted pyramid: lede with the news, then quote, then context, then boilerplate.","Pitch emails are three lines: hook (why this reporter), relevance (why now), ask (specific next step). No PDFs attached on first touch."],"antiPatterns":["Generic personas like \"developers\" or \"marketing teams\" — these are demographic, not behavioral, and lead to bland copy.","Launch days that try to hit every channel — the dev-Twitter wave dies if HN, PH, and a press wave all compete for the same morning.","Onboarding email sequences that start with feature tours — start with the moment of first value, then add features as the user earns context.","Press releases written in passive voice or third-person founder quotes that no human would say out loud.","Editorial calendars with one topic pillar but five inconsistent post types — choose 3 pillars and stay disciplined."],"formatting":["All Markdown headings use sentence case, not title case (e.g. `## Brand brief`, not `## Brand Brief`).","Hard-wrap prose at ~100 characters in `.md` files for clean diffs.","Use `{{variableName}}` for kit-level template tokens. Use `<your-input-here>` for placeholder values the user fills in.","Code blocks in skills use triple-backtick with the language tag (```ts, ```bash, ```json)."],"references":[{"title":"Hacker News Show HN guidelines","description":"The official guide to Show HN posts.","url":"https://news.ycombinator.com/showhn.html"},{"title":"Indie Hackers — the playbook for building in public","description":"Community of founders sharing their journeys publicly. Source of truth for the build-in-public pattern.","url":"https://www.indiehackers.com"},{"title":"Product Hunt makers' best practices","description":"Official guide for launching on Product Hunt.","url":"https://www.producthunt.com/launch"},{"title":"Stripe Press — Working in Public","description":"Nadia Eghbal's book on open source as distribution. Foundational reading for any OSS-distribution GTM motion.","url":"https://press.stripe.com/working-in-public"}]},"workflows":[{"id":"launch-readiness-review","name":"Launch Readiness Review","description":"Walk through the launch plan one section at a time, verify each artifact is real and complete, and produce a go/no-go recommendation with named risks.","steps":["Read 04-launch/launch-plan-30-day.md, 04-launch/launch-day-runbook.md, and 04-launch/post-launch-30-day.md.","For each Pre-Launch section, confirm the named owner exists and the artifact is at least drafted.","Check that press kit assets (fact sheet, founder bios, screenshots) are actually in 06-pr/press-kit/ and not just placeholders.","Verify the launch-day runbook has hour-by-hour entries and named owners for each entry.","Verify post-launch covers the first 7 days minimum and includes a retro entry.","Identify the 3 highest-risk gaps and recommend either: ship anyway with a known risk, defer launch, or delegate the gap to a specific owner.","Output a one-page readiness summary with: go/no-go, top 3 risks, and the single most important fix."],"inputs":[{"name":"launchDate","description":"Target launch date (ISO 8601). Used to compute days-until-launch in the readiness summary.","required":true},{"name":"riskTolerance","description":"low | medium | high — affects which gaps surface as blockers vs. warnings.","required":false}],"outputs":["One-page readiness summary written to 04-launch/readiness-summary.md","Updated launch-day runbook with any newly-identified owner gaps"],"triggers":["User says \"check if we're ready to launch\"","User says \"launch readiness\" or \"pre-launch review\""]},{"id":"content-pillar-to-calendar","name":"Content Pillar to 90-Day Calendar","description":"Take a content-pillars.md file and generate a concrete 90-day editorial calendar with topics, formats, channels, and owners — ready to drop into 03-content/editorial-calendar.md.","steps":["Read 03-content/content-pillars.md and confirm 3-5 pillars are named.","For each pillar, propose 8-12 specific post ideas with title, format (long-form blog | technical tutorial | thread | case study), and primary channel.","Sequence the calendar to alternate pillars across weeks (no pillar appears more than twice in any 14-day window).","Place anchor pieces (long-form, technical deep-dives) on weeks where the broader campaign timeline calls for them.","Identify which posts double as the body of an email newsletter and which work as social-first.","Write the calendar to 03-content/editorial-calendar.md in a table: date | pillar | title | format | channel | owner | status."],"inputs":[{"name":"startDate","description":"ISO 8601 date the calendar starts.","required":true}],"outputs":["Updated 03-content/editorial-calendar.md with 90 days of planned content"],"triggers":["User asks for a content calendar","User says \"plan my content\" or \"editorial calendar\""]},{"id":"press-pitch-personalisation","name":"Per-Journalist Press Pitch","description":"Given a journalist name and outlet, draft a personalised 3-line pitch — hook, relevance, ask — using the journalist's actual recent coverage as the relevance hook.","steps":["Confirm the journalist + outlet from the user.","Ask the user for 1-3 of the journalist's recent articles (titles + URLs). Do not fabricate.","Read the user's announcement (06-pr/press-release-template.md or whatever the user names).","Draft a 3-line pitch: line 1 = hook tied to one specific recent article they wrote, line 2 = why this announcement is relevant to their beat, line 3 = a specific ask (call this week / share fact sheet / book demo).","Output the pitch as plain email body (no signature — user adds their own). Keep total under 120 words.","Log the journalist as a media_contact entity in the graph with their beat, outlet, and last-pitched date."],"inputs":[{"name":"journalistName","description":"First + last name of the reporter.","required":true},{"name":"outletName","description":"Publication or podcast they write/produce for.","required":true},{"name":"announcementSlug","description":"The file slug for the announcement being pitched (e.g. press-release-v1).","required":true}],"outputs":["Personalised pitch email body","media_contact entity added to the graph"],"triggers":["User asks to pitch a specific reporter","User says \"draft a pitch to <name>\""]}],"exporters":[{"id":"launch-press-kit-zip","name":"Launch Press Kit (ZIP)","description":"Bundle the assembled press kit — fact sheet, founder bios, boilerplate, screenshots — into a single ZIP suitable for attaching to journalist emails or hosting at /press.","icon":"📦","format":"zip","category":"archive","handler":"press-kit"},{"id":"campaign-brief-pdf","name":"Campaign Brief (PDF)","description":"Export a single campaign — goal, audience, channels, timeline, KPIs — as a one-page PDF for sharing with collaborators or external partners.","icon":"📄","format":"pdf","category":"document","handler":"campaign-brief"},{"id":"editorial-calendar-csv","name":"Editorial Calendar (CSV)","description":"Export the editorial calendar as CSV — drops cleanly into Airtable, Notion, Google Sheets, or any scheduling tool.","icon":"📅","format":"csv","category":"data","handler":"editorial-calendar"},{"id":"media-list-csv","name":"Media List (CSV)","description":"Export the journalist tracker as CSV — name, outlet, beat, last-touched, status. Compatible with most outreach tools.","icon":"📋","format":"csv","category":"data","handler":"media-list"},{"id":"launch-day-runbook-markdown","name":"Launch Day Runbook (Markdown)","description":"Single self-contained Markdown export of the launch-day runbook — drops into Notion, Linear, or any team wiki.","icon":"🗒️","format":"md","category":"document","handler":"runbook"},{"id":"kpi-dashboard-json","name":"KPI Dashboard Spec (JSON)","description":"Export the KPI tree + dashboard layout as JSON — consumable by Grafana, Metabase, Hex, or a custom dashboard.","icon":"📊","format":"json","category":"data","handler":"kpi-dashboard"}],"exportPreferences":{"defaultExporter":"campaign-brief-pdf","fileNameTemplate":"{{productName}}-{{exporterId}}-{{date}}","instructions":"Exports include {{productName}} branding in headers. Run the launch-readiness-review workflow before exporting the press kit to ensure all assets are present.","globalPrerequisites":["01-foundation/brand-brief.md must be filled in (no remaining {{placeholder}} tokens)","Voice and tone guide (01-foundation/voice-and-tone-guide.md) must name a specific brand voice"]},"exportStructure":{"combineStrategy":"path-order","includePatterns":["01-foundation/**","02-strategy/**","03-content/**","04-launch/**","05-social/**","06-pr/**","07-email/**","08-community/**","09-growth/**","10-founder/**","11-sales-enablement/**","12-measurement/**"],"excludePatterns":["**/_drafts/**","**/*.draft.md"]},"remoteWorkspace":{"connectedWorkbenches":[{"name":"Campaign Pipeline","view":"board","entityTypes":["campaign","launch"],"description":"Kanban view of campaigns by status — planned / in-flight / shipped / retrospective. Each column shows owner + days-since-update."},{"name":"Editorial Calendar","view":"calendar","entityTypes":["content_piece"],"description":"Three-month editorial calendar. Each cell shows pillar + format + channel + status."},{"name":"Persona Gallery","view":"gallery","entityTypes":["persona"],"description":"Visual gallery of all ICPs. Click any persona to see related campaigns, content, and KPIs."},{"name":"Competitor Matrix","view":"matrix","entityTypes":["competitor"],"description":"Competitive landscape matrix — positioning axis × pricing axis. Hover a competitor to see last-reviewed and threat-level."},{"name":"Press Tracker","view":"board","entityTypes":["media_contact"],"description":"Pipeline of journalist relationships by stage — not-yet-pitched / pitched / replied / scheduled / published / kept-warm."},{"name":"Growth Experiments","view":"matrix","entityTypes":["experiment"],"description":"Live and recently-shipped experiments by KPI impact × confidence. Click any experiment to see hypothesis, result, and learnings."},{"name":"KPI Timeline","view":"timeline","entityTypes":["kpi"],"description":"Timeline of every metric we track — when it was defined, target changes, owner changes, and observed trends."}]},"deploy":{"provider":"vercel","buildCommand":"npm run build","outputDir":"dist","oneClickCommand":"vercel --prod"},"publishConfig":{"contentType":"document","publishable":true,"defaultSlug":"gtm-playbook"},"sampleData":{"description":"A worked example based on the launch of a fictional AI devtool called \"Quanta\". Use this as a reference for what filled-in artifacts look like, then replace with your own.","entities":[{"type":"persona","name":"Solo AI Builder","properties":{"role":"Indie developer shipping AI-native side projects","pain":"Spending more time on Stripe + auth + deploy than on the actual product","channels":["X","Hacker News","Indie Hackers","GitHub"],"trust_signals":["GitHub stars","transparent pricing","endorsement from a known dev"]}},{"type":"persona","name":"Series A Engineering Lead","properties":{"role":"VP/Director of engineering at a 30-100 person SaaS company","pain":"Internal tools are stitched together; reliability and onboarding are getting expensive","channels":["LinkedIn","Hacker News","private Slack groups","podcast interviews"],"trust_signals":["case studies from peer companies","uptime SLO","founder background"]}},{"type":"campaign","name":"Launch — Quanta v1","properties":{"goal":"10,000 signups in week 1; 500 active by day 14","status":"in-flight","channels":["Product Hunt","Show HN","dev Twitter wave","founder essay"],"kpi_primary":"Day-7 activated users"}},{"type":"channel","name":"Hacker News","properties":{"cadence":"1 Show HN per quarter; comment presence weekly","owner":"Founder","primary_kpi":"front-page time + comment quality","norms":"No marketing copy; honest about what's hard; respond to every comment in first 2h"}},{"type":"competitor","name":"LangChain","properties":{"positioning":"General-purpose LLM orchestration framework","their_strength":"Massive distribution, broad integrations","our_diff":"Opinionated, type-safe, runs locally first","last_reviewed":"2026-04-15"}},{"type":"kpi","name":"Day-7 activated users","properties":{"definition":"Unique users who reach the \"first shipped project\" event within 7 days of signup","target":"30% of week-1 signups","owner":"Founder","cadence":"Weekly review every Monday"}}],"relationships":[{"from":"Launch — Quanta v1","verb":"Targets","to":"Solo AI Builder"},{"from":"Launch — Quanta v1","verb":"Uses","to":"Hacker News"}]}},"venue":{"experienceTypes":[],"subdomainPrefix":"gtm","catalogThemeId":"soulcraft-light","theme":{"primary":"oklch(0.55 0.18 264)","bgBase":"oklch(0.99 0.005 264)","accent":"oklch(0.72 0.16 60)","textPrimary":"oklch(0.20 0.02 264)","displayFont":"Geist","bodyFont":"Inter"},"features":{"cms":true,"blog":true,"website":true,"analytics":true,"notifications":true,"webhooks":true,"scheduledJobs":true,"apiKeys":true,"documents":true,"realtime":true,"customerAccounts":true,"partners":true,"apps":true},"terminology":{"participant":{"singular":"subscriber","plural":"subscribers"},"offering":{"singular":"campaign","plural":"campaigns"},"reservation":{"singular":"booking","plural":"bookings"},"group":{"singular":"audience","plural":"audiences"},"document":{"singular":"asset","plural":"assets"},"host":{"singular":"owner","plural":"owners"},"space":{"singular":"workspace","plural":"workspaces"},"partySize":"Audience size","checkIn":"Engagement"},"chatSuggestions":[{"label":"Show me the launch plan","message":"Walk me through the launch plan for the next release.","emoji":"🚀"},{"label":"Latest KPI snapshot","message":"Give me a one-paragraph snapshot of our north-star metric and the three leading indicators.","emoji":"📊"},{"label":"Press list status","message":"Who in the press tracker is overdue for a follow-up?","emoji":"📰"},{"label":"What's shipping this week","message":"List every content piece scheduled to publish this week, by channel.","emoji":"📅"}],"fees":{"billingModel":"subscription","feeMode":"none"},"stations":[{"id":"campaign-dashboard","label":"Campaigns","route":"/manage/campaigns","icon":"M3 12h2l3-9 4 18 3-9h6","roles":["staff","manager","owner"],"scope":"kit","context":"digital","group":"Operations"},{"id":"editorial-calendar","label":"Editorial","route":"/manage/editorial","icon":"M8 7V3m8 4V3M3 11h18M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z","roles":["staff","manager","owner"],"scope":"kit","context":"digital","group":"Operations"},{"id":"press-kit","label":"Press Kit","route":"/manage/press","icon":"M3 5h12m-12 4h12m-12 4h4m6 0l4 4-4 4m-3-1h7","roles":["manager","owner"],"scope":"kit","context":"digital","group":"Business"},{"id":"experiments-tracker","label":"Experiments","route":"/manage/experiments","icon":"M9 3v2H7v14a2 2 0 002 2h6a2 2 0 002-2V5h-2V3m-4 0h4","roles":["manager","owner"],"scope":"kit","context":"digital","group":"Operations"}],"pages":[{"slug":"home","type":"homepage","label":"Home","navOrder":0,"showInNav":false},{"slug":"blog","type":"blog","label":"Blog","navOrder":10,"showInNav":true,"featureGate":"blog"},{"slug":"press","type":"cms","label":"Press","navOrder":20,"showInNav":true,"cmsPageSlug":"press"},{"slug":"changelog","type":"cms","label":"Changelog","navOrder":30,"showInNav":true,"cmsPageSlug":"changelog"},{"slug":"playbook","type":"external-link","label":"Playbook","navOrder":40,"showInNav":true,"config":{"url":"https://forge.soulcraft.com/api/kits/modern-marketing-studio"}}],"authGate":"action","authExemptRoutes":["/","/blog","/blog/*","/press","/changelog"],"seedData":{"seed":false,"demo":false},"contentDefaults":{"tagline":"{{productTagline}}","heroHeadline":"{{productName}} — built for {{targetAudience}}.","heroSubheadline":"{{productTagline}}","aboutHeadline":"About {{companyName}}","aboutBody":"<p>{{companyName}} builds {{productName}} for {{targetAudience}}. Founded in {{foundedYear}}.</p>"}},"primaryProduct":"workshop"}