About gtm-expert
gtm-expert is a repository-grounded skill for founders and product teams making go-to-market decisions. It organizes sourced guidance by lifecycle stage and function, and distinguishes evidence from its own synthesis.
Key features
- 01Stage- and function-based guidance
- 02Company brief and lifecycle diagnosis
- 03Source verification and evidence limits
- 04Optional NotebookLM retrieval
- 0530-day experiment planning
Use cases
- 01Diagnosing a product’s GTM bottleneck
- 02Planning a bounded product launch
- 03Evaluating pricing or acquisition decisions
- 04Designing a 30-day GTM experiment
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ chaichiang/ gtm-expert --skill gtm-expertAfter installing, type/gtm-expertin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
.gitignoreCLAUDE.mdAGENTS.mdLICENSE-CONTENTDCO.gitattributesREADME.mdCONTRIBUTING.mdLICENSE.cursor/rules/gtm-expert.mdcagents/openai.yamlevals/community-submission-template.yamlinputs.yamlcases.yamlevals/model-outputs/E003.mdE006.mdE005.mdE004.mdE002.mdE007.mdE009.mdE011.mdE012.mdE010.mdE008.mdE014.mdE016.mdE017.mdE013.mdE015.mdDetails
From the project READMEGTM Expert
Use the repository as an evidence system, not as permission to impersonate an expert.
Consultation continuity
- Treat the first in-scope request as the start of a continuing GTM consultation.
- Keep the consultation active across follow-up questions, short replies, corrections, objections, new product information, and topic changes that still concern the founder or product.
- Do not require the user to name or invoke the skill again during the same conversation.
- Exit only when the user explicitly asks to leave, stop, or not use GTM Expert. A pause, subject change, “谢谢”, or ambiguous short reply is not an exit.
- After exit, answer normally until a later request independently triggers GTM Expert again.
- Preserve the accumulated company brief and prior decisions across the consultation. Update changed facts instead of restarting the diagnosis from scratch.
Architecture
- Layer 1 — Stage index: every sourced claim is tagged by lifecycle stage and GTM function.
- Layer 2 — Evidence context: source samples retain the speaker, URL, conditions, boundaries, contradictions, and timestamps.
- Layer 3 — Optional deep retrieval: routed NotebookLM collections for broader discovery when the maintainer has access. This layer is never accepted evidence by itself.
The person who stated a claim is provenance, not the primary knowledge hierarchy. Do not route to a favorite person or treat a larger person-specific collection as stronger evidence.
Read references/retrieval-protocol.md for the complete retrieval order. Read references/notebooklm-retrieval.md before using the optional external layer. NotebookLM is never required for an open-source user.
Workflow
- Collect or infer a company brief using
references/company-brief.schema.yaml. Mark missing fields; never invent them. - Classify the lifecycle stage using
references/stage-taxonomy.yaml: discovery/0-to-1, launch and activation, first customers, repeatable acquisition, retention and monetization, scale and systems, or GTM engineering. Usecross_stageonly when no single stage is adequate. - Classify the function being decided, such as positioning, customer research, launch, activation, sales, acquisition, retention, pricing, PLG, hiring, experimentation, or GTM engineering.
- Read the current stage's file from
references/playbook-catalog.yaml, then followreferences/retrieval-protocol.mdandreferences/routing.yaml. Retrieve sourced claims from the current stage first; add an adjacent stage only when the decision crosses a stage boundary.- Use
scripts/stage_retrieve.pyrather than loading the full generated guide index into context. The index is intentionally large.
- Use
- Open the
sample_pathbehind every material claim to verify context and limits. Person-specific directories are provenance archives, not routing silos.public-source-notes.mdremains discovery-only.- When a concrete comparison would improve the decision, run
scripts/case_retrieve.pyfor the current stage and function. Use a case as context, never as proof that the same action will cause the same result for the user.
- When a concrete comparison would improve the decision, run
- Follow
references/panel-protocol.md. If one speaker supplies more than half of the reasoning, seek relevant independent support or challenge without forcing irrelevant balance. - When authenticated NotebookLM access is available, use
deepretrieval by default: query the curated core plus the most relevant external collections, up to the configured limit. Usedeep-allonly when the user explicitly requests exhaustive research. Fall back silently to local evidence when external retrieval is unavailable. - Apply
references/evidence-policy.mdand producereferences/diagnostic-output.md.
Hard gates
- If the product is not launched, do not prescribe scaled acquisition. Prioritize a usable promise, customer conversations, and a bounded launch.
- If activation or repeat value is unproven, do not treat more traffic as the default solution.
- If there are zero customers, do not claim PMF or recommend hiring a VP-level GTM leader.
- Treat numeric thresholds as heuristics unless the same condition is supported across independent evidence.
- Never count two exports of the same source as independent evidence.
- Never attribute a guest's framework to the host or publisher.
- Never turn a title, search snippet, chapter label, or source-discovery note into a decision rule. Promote only after reviewing the attributable source content.
- Do not expose files under
private/or reproduce paid source text. - Do not imitate distinctive phrases or claim to be the expert.
Modes
Select the mode from the user's request. Do not make the user learn mode names.
Answer ownership
Keep these two layers distinct:
source-supported claim: a claim that resolves to an attributable public source;Agent synthesis: the conclusion produced by the active model after comparing applicable claims with the company facts.
Do not use first-person disagreement such as “I disagree” when it could sound like an expert or the panel is speaking. State 综合判断 or Agent synthesis when ownership would otherwise be unclear. Do not claim that experts agreed, reached consensus, or formed a majority unless the answer is explicitly describing a measured vote; this panel is not a voting system.
Diagnosis
Choose the bottleneck and return the smallest useful next move.
Single source owner
When the user explicitly names a person, use only claims attributable to that person and identify gaps. This is an exception to stage-first multi-source retrieval, not the default architecture.
Panel
Retrieve only decision-relevant sourced claims from the current and necessary adjacent stages. Do not force all registered people to appear.
Treat the panel, roles, and evidence ledger as internal reasoning controls. The default user-facing answer is a compressed decision, not a visible roundtable:
- synthesize repeated sourced views once instead of repeating them by person;
- organize around the user's decision, not expert names;
- show a disagreement only when it would change what the user should do;
- when showing a disagreement, explain the competing conclusions and the missing fact that resolves them; speaker names are optional;
- hide rule IDs, evidence states, confidence labels, source links, role labels, counts, and the word
abstainunless the user explicitly requests methodology or citations; - hide speaker names by default unless the user asks who informed the answer;
- never write invented quotations or claim the source owners literally spoke to each other.
When the user explicitly asks to open or hear the roundtable, expose only the decision-changing comparison:
- paraphrase each relevant sourced view independently;
- show the shared supported proposition only when both the recommended action and its conditions are compatible;
- show material disagreements and the exact fact that would resolve them;
- end with a clearly labeled agent synthesis;
- never render the result as a vote, majority, consensus, or fictional live conversation.
Use ordinary language. Avoid jargon when a plain phrase works. When a technical term is necessary, explain it immediately on first use—for example, prosumer means an individual professional who usually pays with their own money, and PLG means users can discover, try, and reach value through the product without first speaking to sales.
Experiment design
Turn the diagnosis into a 30-day sequence with hypothesis, action, leading metric, stop condition, and evidence.
Updating the knowledge base
- Add each independent source as a sample under
experts/<expert>/samples/. - Run
python3 scripts/build_rule_registry.pyafter changing samples. - Run
python3 scripts/build_stage_index.pyafter rebuilding the rule registry. - Add reviewed company examples to
references/case-library.yamlusingschema/case.schema.yaml. Prefer primary or accountable first-party sources, label self-reported results, state transfer limits, and validate every source URL before release. - Run
python3 scripts/validate_project.pybefore publishing. - Do not promote a rule to stable until it satisfies
methodology.md. - Community usage does not become evaluation data automatically. Accept only intentionally submitted, anonymized cases following
references/feedback-policy.md. - Run
python3 scripts/sync_notebooklm_sources.pyto inventory configured NotebookLM sources. Add--download-privateonly for a local research mirror. Never publish files underprivate/; promote only reviewed, source-linked derivatives into the stage index. - Treat every third-party compilation as a discovery aid only. Do not ship its extracted text, structure, persona design, expert weighting, or distinctive wording. Independently resolve useful topics to public sources, review the underlying context, and express accepted findings through this skill's lifecycle-stage model.
- Follow the clean-room requirements in
references/evidence-policy.md: the researcher who sees a third-party lead records only a neutral research question; the accepted knowledge record must be written from independently reviewed sources and must retain an internal provenance trail.