GTM Engineer Skills is a collection of agent workflows that research brands and markets, plan searchable content, audit websites for visibility in AI-generated answers, and produce related marketing files or code changes. Marketing and growth operators use it to improve how websites are discovered, cited, and understood by search engines and AI assistants. The catalogue entries are the project's individual skills.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add onvoyage-ai/gtm-engineer-skills --skill build-resource-pagesgit clone --depth 1 https://github.com/onvoyage-ai/gtm-engineer-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/onvoyage-ai/gtm-engineer-skills/build-resource-pages)<a href="https://agentmods.dev/skills/onvoyage-ai/gtm-engineer-skills/build-resource-pages"><img src="https://agentmods.dev/badge/skills/onvoyage-ai/gtm-engineer-skills/build-resource-pages/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/onvoyage-ai/gtm-engineer-skills/build-resource-pages"><img src="https://agentmods.dev/badge/skills/onvoyage-ai/gtm-engineer-skills/build-resource-pages.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00072 | $0.03061 |
| Opus 5.5 | $0.00029 | $0.01224 |
| Sonnet 5.5 | $0.00014 | $0.00612 |
| Haiku 4.5 | $0.00007 | $0.00306 |
Grade A, and why
build-resource-pages scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
Copies of this mod
1 near-identical copy found in the catalogue:
- build-resource-pages — 95% identical, 18 lines differ
How it starts
The opening of the file, as written. The whole thing — 260 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Build Resource Pages
You are a senior frontend engineer building resource centers for professional websites. You take existing content (markdown files produced by the content writing skills) and implement production-final resource pages — listing pages, article pages, navigation, and cross-linking — using the client's existing tech stack and design system.
Your output ships directly to production. Every page must be indistinguishable from the rest of the site. No rough edges. No placeholder text. No prototype styling. No "we'll polish this later." The pages you build are the pages visitors see.
Your output is code, not content. The content already exists.
Workflow
Phase 1: Discover the Stack
Before writing any code, understand what you're working with.
- Find the frontend codebase — ask the user for the path if not obvious
- Identify the framework — Next.js, Astro, Nuxt, SvelteKit, Remix, plain React, etc.
- Find the design system — look for:
- Theme files (CSS variables, Tailwind config, styled-components theme)
- Color tokens (backgrounds, accents, text colors)
- Typography (font families, sizes, weights, line heights)
- Existing components (cards, shells, layouts, navigation, buttons, CTAs)
- Spacing system (margin/padding tokens, section spacing patterns)
- Find existing content patterns — how does the site already render markdown or structured content? Look for MDX loaders, content collections, CMS integrations, or static generation patterns
- Find the routing pattern — file-based routing, dynamic routes, or manual route config
- Study the site's page structure — look at how existing pages handle
<head>metadata, Open Graph tags, canonical URLs, and structured data. Match the exact pattern.
Report findings to the user before proceeding. Confirm: framework, styling approach, existing components to reuse, and content loading mechanism.
Phase 2: Load the Content
- Read the content architecture — load the customer's
content_architecture.mdfrom their workspace folder - Read the markdown files — scan
workspace/[brand]/content/resources/for all existing content across learn/, guides/, blog/, comparisons/ - Map content to pages — build a manifest of: slug, title, section, subsection, date, keywords, description, and any relationships (supports, internal links)
- Identify what to build — confirm with user which sections to implement (all, or a subset)
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 260 lines · 72 tokens per session scan A b207baad2e8c
build-resource-pages is a skill published in the GitHub repository onvoyage-ai/gtm-engineer-skills (1,339 stars, last pushed 16d ago), licensed MIT. It adds 72 tokens to every session and 3,061 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
bytesagain-geo-seo
GEO SEO — Generative Engine Optimization reference. Complete guide for optimizing websites for AI search engines. Covers llms.txt spec, GEO checklist, automated scanning, AI bot tracking with nginx, AEO (Answer Engine Optimization) for getting cited by ChatGPT/Perplexity/Gemini, citation monitoring, and content…
geo-optimizer
Audit and fix a website for AI search visibility (Generative Engine Optimization). Use when asked to check whether a site or page can be found and cited by ChatGPT Search, Perplexity, Claude or Google AI Overviews, to score it 0-100 with geo audit, or to fix robots.txt AI crawler rules, llms.txt, JSON-LD schema, meta…
backlink-outreach
Find, evaluate, pitch and track natural backlink and content partnerships. Prospects come from the GEO citation data rather than a generic blog search: the targets are the pages an AI already cites when answering your category questions. Research runs on the Monid tool layer (web search and scrape, authority metrics…
content-thicken
Evidence-driven blog driver. Takes ONE target from the fused search plus AI-answer content library, pulls the real questions it has to answer, drafts a thick long-form guide against a template contract, validates it deterministically, and stops at preview. Two modes, thicken an already-earning post IN PLACE (never…
geo-monitor
Run and read the GEO pipeline, which measures whether AI answer engines mention, recommend and cite your site. Puts a fixed registry of real user questions to an answer engine through the Monid tool layer, detects the three signals plus competitors, and turns "a rival is named and we are not" into a tracked work…
seo-intake
Run and read the SEO intake pipeline. Pulls the organic keyword set for your domain and for each competitor through the Monid tool layer, computes the gap locally, and routes every keyword to the one action that can help it (write-new / striking / build-depth / defend / noise). Use when asked to refresh the SEO queue…