From GTM Engine
Interactive setup wizard that configures the GTM Engine for a new user. Collects company context, team info, ICP, personas, messaging, and signals, then generates all config and context files.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gtm-engine:setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interactive setup wizard that configures the GTM Engine for a new user. Collects company context, team info, ICP, personas, messaging, and signals, then generates all config and context files.
Interactive setup wizard that configures the GTM Engine for a new user. Collects company context, team info, ICP, personas, messaging, and signals, then generates all config and context files.
/setup -- Full 8-step wizard/setup --icp -- Just ICP Workshop (Step 4)/setup --personas -- Just Pain & Persona Mapping (Step 5)/setup --messaging -- Just Messaging & Objections (Step 6)/setup --signals -- Just Signal Playbook (Step 7)/setup --reinstall -- Regenerate config, CLAUDE.md, and reinstall skills from current configParse $ARGUMENTS to determine mode:
$ARGUMENTS contains --icp -> run only Step 4$ARGUMENTS contains --personas -> run only Step 5$ARGUMENTS contains --messaging -> run only Step 6$ARGUMENTS contains --signals -> run only Step 7$ARGUMENTS contains --reinstall -> run only Step 8For individual steps (--icp, --personas, --messaging, --signals), first read config/config.yaml to load existing config. If it does not exist, tell the user to run /setup first.
Display this welcome message:
## Welcome to the GTM Engine
This is a Claude Code-powered sales system that gives you:
- Sales frameworks baked into every conversation
- Daily rituals (/good-morning, /good-night) to stay focused
- Self-improving skills that learn from your feedback
- Linear-based pipeline + task management
Let's get you set up. This takes about 10-15 minutes.
You can skip sections and come back to them later with flags like /setup --icp.
Then ask these questions one at a time, waiting for each answer:
"What CRM/project tracker do you use? Linear is required for the GTM Engine."
linear_confirmed = true"Do you use a call recording tool for sales calls? (e.g., Fathom, Fireflies, Otter, Grain, or something else)"
call_recording_enabled = true, call_recording_provider = "{tool_name_lowercase}" (e.g., "fathom", "fireflies", "otter", "grain")call_recording_enabled = false"Do you use Google Workspace (Gmail, Google Calendar, Google Sheets)?"
google_workspace_enabled = truegoogle_workspace_enabled = false"Will you use a Google Sheet to track outreach/leads?"
outreach_sheet_enabled = true, store IDoutreach_sheet_enabled = falseSummarize what integrations will be enabled and confirm before proceeding.
Based on the integrations from Step 1, guide the user through MCP server setup.
Always required -- Linear MCP:
Say: "The Linear MCP server connects Claude Code to your Linear workspace. Let me check if it's already installed."
mcp__linear__list_teams to test the connection
To install the Linear MCP server:
1. Get your Linear API key from Settings -> API -> Personal API keys
2. Add this to your Claude Code MCP config:
Server name: linear
Command: npx
Args: ["@anthropic/linear-mcp-server"]
Env: LINER_API_KEY=your-key-here
See docs/mcp-setup.md for detailed instructions.
Wait for user to confirm it's working, then verify with mcp__linear__list_teams again.
If Google Workspace enabled:
Say: "The Google Workspace MCP server connects Gmail, Calendar, Sheets, and Docs."
mcp__google-workspace__time_getCurrentDate to test
If call recording enabled (API-based provider — fathom, fireflies):
Say: "Your call recording tool ({provider}) uses an API key stored in your .env file."
.env file exists in the repo rootFATHOM_API_KEY (get from Fathom Settings -> Integrations -> API)FIREFLIES_API_KEY (get from Fireflies Settings -> Integrations -> API).env doesn't exist or doesn't contain the key, tell user to add it: {ENV_VAR_NAME}=your-key-hereIf call recording enabled (manual provider — otter, grain, etc.):
Say: "{provider} doesn't require an API key. You can import transcripts manually using /sync-calls — it will prompt you to paste or drop transcript files."
Ask these questions one at a time:
Then ask about Linear teams:
Then ask about team members:
mcp__linear__list_users to get all usersStore all values for config generation in Step 8.
If user chose to skip: Display "Skipping ICP for now. You can run /setup --icp anytime to come back to this." and move to Step 5.
Say:
## ICP Workshop
Let's define your Ideal Customer Profile using a three-layer model:
- **IMP** (Ideal Market Profile) -- which markets to target
- **ICP** (Ideal Customer Profile) -- which companies within those markets
- **IPP** (Ideal Prospect Profile) -- which people within those companies
This usually takes 5-10 minutes.
IMP Layer:
Ask:
ICP Layer:
Ask:
IPP Layer:
Ask:
Scoring and No-Go Rules:
Generate the file:
Read the template from templates/icp-definition.md, fill in all collected answers, and write to my-context/icp-definition.md.
Show the user what was generated and ask: "Does this look right? Want to change anything?"
If user chose to skip: Display "Skipping personas for now. Run /setup --personas anytime." and move to Step 6.
Say:
## Pain & Persona Mapping
Let's map out your buyer personas and their pains.
We'll do 2-3 personas. For each one, I'll ask about their world and what hurts.
For each persona (repeat 2-3 times):
Ask: "Want to add another persona?" -> repeat or move on.
Generate the file:
Read the template from templates/persona-pain-map.md, fill in all collected answers, and write to my-context/persona-pain-map.md.
Build the Persona-Pain Matrix at the bottom by cross-referencing all pains across all personas (High/Medium/Low relevance for each).
If user chose to skip: Display "Skipping messaging for now. Run /setup --messaging anytime." and move to Step 7.
Part A: Company Overview
Say: "Let me generate your company overview based on what you've told me so far."
templates/company-overview.mdmy-context/company-overview.mdPart B: Objections Playbook
Say:
## Objections Playbook
Let's document the objections you hear most often.
For each one, we'll build a response framework.
Ask: "What are the top 5 objections you hear from prospects? Give me the exact words they say."
For each objection:
Read template from templates/objections-playbook.md, fill in answers, write to my-context/objections-playbook.md.
If user chose to skip: Display "Skipping signals for now. Run /setup --signals anytime." and move to Step 8.
Say:
## Signal Playbook
Intent signals tell you WHEN to reach out. Let's catalog the signals
that indicate a company might need your product.
Walk through each signal category:
For each signal they mention:
Read template from templates/signal-playbook.md, fill in answers, write to my-context/signal-playbook.md.
This step generates all config files and completes setup.
8a: Generate config/config.yaml
Read config/config.example.yaml as the schema reference. Generate config/config.yaml with all values collected during setup:
8b: Generate CLAUDE.md
Generate a CLAUDE.md file in the repo root with:
# GTM Engine — [Company Name]
## Project
This is the GTM Engine for [Company Name]. It contains sales frameworks, customer context, and automated skills for running outbound sales with Claude Code.
## Linear Configuration
- **Pipeline team (leads/deals):** [pipeline_team]
- **Action team (tasks/follow-ups):** [action_team]
- **Default label:** [default_label]
- **Default assignee:** [default person name] — user ID `[their ID]`
[For each additional team member:]
- **[Name] ([Role]):** user ID `[their ID]` — [role-appropriate task description]
## Linear Two-Team Workflow
### [pipeline_team] team = Pipeline tracking (leads/deals only)
### [action_team] team = Action tasks (follow-ups, emails, outreach, CS, strategy)
**Cross-team rules:**
- When creating a [action_team] task for a [pipeline_team] lead, always reference the ticket ID in the description
- When updating a [pipeline_team] deal, check if a [action_team] follow-up task is needed
- When completing a [action_team] task, update the corresponding [pipeline_team] ticket
**Email/Message workflow:**
1. Draft emails/messages as comments on the relevant [action_team] ticket
2. After user confirms sent, create a follow-up task in [action_team] Backlog with a due date
3. Follow-up timing: 2-3 days for warm leads, 1 week for cold outreach
## Sales Frameworks Reference
[List all frameworks in frameworks/ as a table: Framework | File | When to Apply]
## Key Context Files
- Company overview: `my-context/company-overview.md`
- ICP definition: `my-context/icp-definition.md`
- Persona-pain map: `my-context/persona-pain-map.md`
- Objections playbook: `my-context/objections-playbook.md`
- Signal playbook: `my-context/signal-playbook.md`
## Config
- Config file: `config/config.yaml`
- To update config: edit directly or run `/setup --reinstall`
- To check for updates: run `/whats-new`
Populate the frameworks table by reading all .md files in frameworks/ and listing them.
8c: Install skills
Copy skill SKILL.md files from skills/ to ~/.claude/skills/:
skills/~/.claude/skills/[skill-name]/ if it doesn't existlearnings.md, create an empty one in the destinationsync-calls -> skip if call_recording not enabledReport which skills were installed.
8d: Create support files
memory/ directory if it doesn't existmemory/daily_streak.md with initial content:# Daily 3+2 Streak
## Current Streak: 0 days
## Last Scored: never
## History
| Date | Meaningful (done/planned) | Light (done/planned) | Score |
|------|--------------------------|---------------------|-------|
8e: Show summary
Display a summary:
## Setup Complete!
### Company
- [Company name] ([stage])
- [one-liner]
### Linear
- Pipeline: [pipeline_team] | Tasks: [action_team]
- Label: [default_label]
- Team: [list names and roles]
### Integrations
- Linear: Connected
- Google Workspace: [Enabled/Disabled]
- Call Recording: [Enabled/Disabled] ([provider name] if enabled)
- Outreach Sheet: [Enabled/Disabled]
### Context Files Generated
- [list each my-context/ file that was created]
- [show "skipped" for any that were skipped]
### Skills Installed
- [list each skill installed to ~/.claude/skills/]
### What's Next
- Try `/good-morning` to see your first daily briefing
- Run `/setup --icp` if you skipped the ICP workshop
- Run `/whats-new` to check for updates anytime
npx claudepluginhub himanshusaleria/gtm-engine --plugin gtm-engineGo-to-market strategy planner. Generates a complete GTM plan across paid, unpaid, marketing, sales, and AI-automation channels for any project — and hands executable campaigns off to /marketing.
Designs B2B sales processes with stage goals, actions, exit criteria, SPICED qualification, conversion metrics, Bowtie handoffs, forecasting, and inspection cadences based on Winning by Design's GTM Playbook Kit.
Persistent intelligence layer that accumulates deal knowledge, competitive intel, product context, and team patterns over time — making every other skill smarter with use. This skill should ALWAYS be checked at the start of any GTM-related task. It reads from and writes to a structured knowledge base so that insights from one conversation carry into the next. Use this skill on every interaction that involves sales, marketing, CS, partnerships, or RevOps context. Also trigger proactively when the user shares deal outcomes, competitive intel, product updates, rep feedback, or customer insights — capture it even if they didn't ask you to.