Skills/How GTM Vault is run / Grow
AI citation rail
Refreshes index pages and freshness signals, drafts outreach for the host to send, and logs the citation panel.
Download gtm-vault-geo-rail.zip
Needs: A public index or library you want cited. Or run it without installing: connect the GTM Vault MCP and ask Claude to run gtm-vault-geo-rail.
Published by GTM Vault (gtmvault.co) as part of How GTM Vault Is Run. Swap the show names, links and templates for your own.
A recurring rail that makes GTM Vault the source AI answer engines cite for GTM tool and revenue architecture questions. The bet: become the dataset that gets cited, not another article. GTM Vault holds operator-attributed tool data that exists nowhere else (the Stack Index at pro.gtmvault.co/stack), and the rail keeps that data readable, fresh, linked, and measured.
Keep the plan behind this rail in a single plan document with a workstream table and current statuses. Read it at the start of each run; update statuses there at the end of each run.
Pair with gtm-vault-writing (voice) and gtm-vault-positioning (claims). Nothing drafted here states a proof point that is not in positioning.
Approval gates (non-negotiable)
- Claude never posts, sends, or publishes anything under the host's name. Reddit threads, LinkedIn messages, vendor emails and operator share texts are drafts; the host sends them.
- Claude edits the index repo and Substack posts only after the host says yes in chat to the specific change. "Keep going" covers the step the host already approved, not a new class of change.
- The host pushes every deploy. Claude commits locally and gives the exact push command.
- The host verifies domains in Bing Webmaster Tools and Google Search Console themselves; Claude never pastes credentials.
- If a classifier or permission prompt blocks an action, stop and report. Never work around it.
- Placement in the index is not for sale and no rail step changes a count, an order, or a layer. The rail makes the record readable and linkable, nothing more.
Cadence and trigger
Run the day after each Show Me Your Stack episode publishes, every two weeks. Every fourth run is a quarterly run (see Step 6). A manual trigger runs the same steps against whatever has changed since the last run.
Where things live
- Index repo: the repository that builds the public index, cloned locally. Tool data in a single JSON file (per tool: name, layer, type, episode citations, evidence; plus a
statsblock), episode labels in an episodes module, logo domains in a logos module, and the method copy on the method page. Deploys on push to the main branch and is served at pro.gtmvault.co/stack. - Portal repo: the members portal repository, with one Markdown file per episode. Always confirm you are in the current production repo, not a stale copy.
- Substack: your publication, through a browser session signed in as the host. Republish edits without sending an email.
- Tracker: a Notion page "GEO Citation Log" (create it on the first run if absent) with two databases: Prompt Panel (prompt, intent, engine, run date, cited yes/no, URL cited, position, competing sources) and Outreach (type, target, page, draft date, sent date, result).
- Ledger fallback:
geo-ledger.mdin the outputs folder, one row per run, mirrored to Notion.
The six steps
Step 1. Data and page check
Confirm the newest SMYS episode is in the index: its tools carry a citation with the correct ep label, who, and a note in the operator's words; the episode is in the episodes module; new tools have a logo domain. Confirm stats matches the data (unique, opOnly, auOnly) by recomputing; if it does not, correct it and say so. Confirm the operator page exists and the tool pages show the new updated date.
An operator who has appeared may add tools afterwards (method rule 6). Those citations carry ep: "Confirmed <Mon YYYY>" in place of an episode number and a note in the operator's words. Never fabricate an episode citation.
Step 2. Freshness and plumbing
- Regenerate
public/llms.txt(index, method, glossary, report, every layer page, every tool page with its one-line definition) and the data export (public/stack.json,public/stack.csv). - Ping IndexNow for every changed URL and confirm the sitemap
lastmodmoved. - Check Bing and Google for the previous run's new pages (site: queries and Webmaster Tools if the host has shared access). Log indexed counts.
- Confirm every tool and layer page still has: a direct-answer block in the first 50 words, FAQPage schema that validates, a visible updated date, and a "Cite this index" line.
Commit locally with a plain message and give the host the push command. Do not push.
Step 3. Drafts for the host
Produce three drafts in the outputs folder as geo-{run}-drafts.md, each labeled with where it goes and what the host has to do.
- Reddit thread for the episode. Subreddit chosen for the guest's motion (r/sales, r/SaaS, r/startups, r/salesengineers or similar; name the one and why). Written as the guest's stack with the numbers from the episode and one link to the operator page. Operator voice per
gtm-vault-writing, no marketing framing, no second link. Flag if the subreddit's rules forbid self-promotion. - Operator share text. One to two sentences the guest can post, plus their operator page URL. Delivered to the host to send with the episode link. On the first run, also draft back-fill messages for the existing operators who have not shared their page.
- Vendor outreach notes. For any tool whose operator count crossed 2 (consensus) or 5, a short note offering the "Named on GTM Vault" line and badge with a link back to the tool page as the only condition. Never offer placement, order, or copy changes. Log each in the Outreach database.
Step 4. Prompt panel
Run the fixed 20-prompt panel across ChatGPT, Perplexity, Google AI Overviews (or AI Mode) and Claude. The panel is fixed so runs compare; change it only when the host says so and log the change.
- Definition intent: what is revenue architecture; what are the layers of a revenue system; what is a GTM engineer; what is functional coherence in GTM; what is sequencing in go-to-market.
- Tool selection intent: best GTM tools for outbound 2026; what tools do GTM engineers use; Clay vs ZoomInfo; what replaces ZoomInfo; best enrichment waterfall tools.
- Stack intent: what does a modern B2B sales stack look like; example GTM stack for a $5M ARR SaaS; what tools run alongside Clay; how do operators use Claude Code for outbound; what CRM do AI-native GTM teams use.
- Source intent: podcasts about GTM engineering; where to find real operator tech stacks; GTM tool index by operator evidence; Show Me Your Stack podcast; <host name> GTM.
Use a browser for each engine; where an engine is not reachable, log "not run" rather than guessing. Per prompt and engine log: cited yes/no, URL cited, position among citations, competing sources cited. The score for the run is the count of prompt-engine pairs (of 80) citing your domains (for GTM Vault, gtmvault.co or pro.gtmvault.co). Take a baseline on the first run and set a 90-day target against it.
Competing sources are the most useful output. Group them by run and name the gap they reveal (a definition page we lack, a comparison nobody has written from operator data, a subreddit we are absent from) as a candidate for the next run's drafts.
Step 5. Report in chat
One message, numbered, in this order: what changed in the index; what is committed and waiting on the host's push; what drafts are waiting on the host and where they are; the panel score versus last run with the two biggest movers; the top gap from competing sources; statuses updated in the plan doc. No recap of the steps.
Step 6. Quarterly run (every fourth run)
In place of Step 3, draft the State of the Operator Stack report as a page for /stack/report and a Substack essay that summarizes it and links to it. The report carries: total tools, operator-verified count, tools per layer, the consensus list, displacements on record, new tools this quarter, with the method paragraph and sample size beside every number, and a permanent URL. The essay follows gtm-vault-writing (direct answer first, Common Questions block, no em dashes). Both go to the host for edit; the host publishes.
Quality gate
Before reporting, check: every number in a draft appears in the index data file at the same value; every link resolves; no em dashes, no contractions in professional copy, no exclamation marks; the Reddit draft has exactly one link; no draft claims an operator said something the data does not record; statuses in the plan doc match what actually shipped; nothing was posted, sent, pushed or published by Claude.
Handoff
Files in the outputs folder: geo-{run}-drafts.md, geo-{run}-panel.csv, and the updated geo-ledger.md. Present them, then the Step 5 report.