Help us improve
Share bugs, ideas, or general feedback.
From gtmvp-gtm-agents
Use when sizing a market and translating it into a horizon-based strategic plan — TAM/SAM/SOM with quick-wins (0-3mo), medium plays (3-12mo), and long bets (12mo+). Includes 6-dimension brand analysis (market, niche, products, opportunities, customer journey, brand & messaging). Cited by the brand-strategist agent and /gtm-audit slash command.
npx claudepluginhub gtmvp/gtmvp-gtm-agents --plugin gtmvp-gtm-agentsHow this skill is triggered — by the user, by Claude, or both
Slash command
/gtmvp-gtm-agents:tam-sam-som-horizonsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill produces a market-sizing + strategic-roadmap pair. The market sizing tells you *how big the prize is*; the horizons tell you *what to do in what order*. Most "strategy decks" do one or the other and produce nothing actionable.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Breaks plans, specs, or PRDs into thin vertical-slice issues on the project issue tracker using tracer bullets. Useful for converting high-level work into grabbable implementation tickets.
Share bugs, ideas, or general feedback.
This skill produces a market-sizing + strategic-roadmap pair. The market sizing tells you how big the prize is; the horizons tell you what to do in what order. Most "strategy decks" do one or the other and produce nothing actionable.
Skip for tactical work. This is the strategist's pass, not the marketer's.
Pull from a website scrape or interview:
competitor-discovery-cot if needed)If competitor data, ICP, or pricing is missing, the analysis will be shallow — flag in confidence.
Work through all six in order. Each feeds the next.
The heart of the skill. Each horizon has its own decision rules:
| Horizon | Time | Decision rule | Examples |
|---|---|---|---|
| Quick wins | 0-3 months | Reversible, low capital, high signal-to-noise | Fix a broken funnel step; launch one new ICP segment; bundle two existing offers |
| Medium plays | 3-12 months | Requires investment but is strategically defensible | Launch a new product module; enter one adjacent vertical; build out a partner channel |
| Long bets | 12+ months | Transformative, harder to reverse, higher payoff | Platform pivot; M&A; new business model; new geography |
Each opportunity gets impact (high/medium/low), effort (high/medium/low), capacity_cost (person-months), and prerequisite_ids (list of initiative IDs that must complete before this one can start) tags.
Solver-backed scheduling (Z3, per skills/solver-patterns Template 5). After generating the candidate initiatives across all three horizons, use the scheduling-with-deps template to produce a feasible schedule that respects:
Solver flow (per skills/solver-patterns §5 and skills/gtm-output-schemas §8):
clear_model — fresh sessionadd_item calls per Template 5solve_model with 10s timeoutclear_model — cleanupCritical-path output. Identify which initiatives are bottlenecks — removing them delays the most downstream initiatives. Surface these as "strategic-path-critical" items that deserve extra resources or de-risking.
Top 3 priorities surface from the solver's optimal schedule, not just the impact-effort grid.
The full output mirrors the donor brand-strategist schema — see gtm-output-schemas skill, §6.2 for the full shape. Required top-level keys:
{
"market": {
"tam": "...",
"sam": "...",
"som": "...",
"marketDynamics": "...",
"growthRate": "...",
"macroTrends": ["..."]
},
"niche": {
"microNiche": "...",
"nicheMaturity": "emerging | growing | mature | declining",
"directCompetitors": [{"name": "...", "positioning": "..."}],
"indirectCompetitors": ["..."],
"competitiveIntensity": "low | medium | high",
"positioningStrength": "weak | moderate | strong | dominant",
"blueOceanScore": 6
},
"productServices": { /* see §6.2 */ },
"strategicOpportunities": {
"topPriorities": [
{ "priority": "...", "reasoning": "...", "impact": "high|medium|low", "effort": "high|medium|low", "capacityCost": 2.0, "prerequisiteIds": [] }
],
"quickWins": ["0-3 month opportunity 1", "..."],
"mediumTerm": ["3-12 month opportunity 1", "..."],
"longTerm": ["12+ month transformative opportunity 1", "..."],
"untappedSegments": ["..."],
"partnershipOpportunities": ["..."],
"riskFactors": ["..."],
"scheduledRoadmap": {
"horizonAssignments": {
"horizon_0_3mo": [{"id": "init_1", "capacityCost": 1.5}],
"horizon_3_12mo": [{"id": "init_2", "capacityCost": 3.0, "blockedBy": ["init_1"]}],
"horizon_12mo_plus": [{"id": "init_3", "capacityCost": 4.0, "blockedBy": ["init_2"]}]
},
"criticalPath": ["init_1", "init_2", "init_3"],
"bottleneckInitiatives": ["init_1"],
"deferredInitiatives": [{"id": "init_4", "reason": "capacity_overflow", "freedCapacity": 2.0}],
"totalCapacityUsed": { "horizon_0_3mo": 1.5, "horizon_3_12mo": 3.0, "horizon_12mo_plus": 4.0 },
"solverStatus": "optimal"
}
},
"customerJourney": { /* see §6.2 */ },
"brandMessaging": { /* see §6.2 */ },
"confidence": 0.78,
"dataQuality": "excellent | good | fair | poor"
}