GEO-First SEO Audit Tool
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
Generates a 3-month SEO performance HTML report for any domain using DataForSEO data.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills growth-report --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/growth-report .claude/skills/growth-report && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "growth-report" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-report into .claude/skills/growth-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "growth-report", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-reportType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills growth-report --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/growth-report .agents/skills/growth-report && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "growth-report" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-report into .agents/skills/growth-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "growth-report", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills growth-report --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/growth-report .cursor/skills/growth-report && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "growth-report" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-report into .cursor/skills/growth-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "growth-report", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git --path skills/growth-report--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills growth-report --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/growth-report .gemini/skills/growth-report && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "growth-report" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-report into .gemini/skills/growth-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "growth-report", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills growth-reportInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/growth-report .github/skills/growth-report && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "growth-report" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-report into .github/skills/growth-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "growth-report", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills growth-report --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/growth-report .opencode/skills/growth-report && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "growth-report" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/growth-report into .opencode/skills/growth-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "growth-report", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
growth-reportGenerates a 3-month SEO performance HTML report for any domain using DataForSEO data.
Growth Report is an agent skill from Infrasity-Labs/dev-gtm-claude-skills. Generates a 3-month SEO performance HTML report for any domain using DataForSEO data. Fetches baseline vs current traffic, keyword rankings, top content pages, and competitive landscape, then outputs a report styled with the Infrasity brand design system: 0D0A1A background, 8157F2 purple accent, Instrument Sans + DM Sans + DM Mono typography. Use this skill whenever a user provides a target domain and a list of competitor URLs and asks for an SEO report, performance report, SEO analysis, competitive SEO…
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `README.md` and `references/html-template.md`).
It sits in Marketing & SEO, covering Logo and visual identity, SEO audit and Schema markup. The repository describes itself as: Open-source Claude skills for GEO, AI discoverability, and developer GTM workflows. Built for developer-focused companies that want their documentation to be found, parsed, and… The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 02cfefb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Growth Report loads about 4k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 240 tokens; SKILL.md has 1,694 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Infrasity-Labs/dev-gtm-claude-skills at commit 02cfefb, republished under its MIT licence (© Infrasity-Labs). 1,694 words, ~4,022 tokens.
.claude/skills/growth-report/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Generates a comprehensive 3-month SEO performance HTML report using live DataForSEO data. The report covers traffic trends, keyword rankings, top content clusters, competitive positioning, strategic priorities, and an executive summary — all in the Infrasity brand design system.
All four inputs are mandatory. Do not make any API calls until all four are confirmed.
Collect them in a single message using this exact format — ask for everything at once, never ask for inputs one at a time:
If the user has NOT provided all four inputs, ask:
To generate the report I need 4 things:
- Target domain — the site to report on, e.g.
firefly.ai- Competitor domains — up to 5–6 competitors, e.g.
spacelift.io, env0.com, terraform.io- Date range — start and end date for the 3-month window (default: Feb 20 → May 20, 2026)
- Location — country for search data (default: United States)
Which of these do you want to change from the defaults?
If the user has already provided the target domain and competitors (e.g. "generate SEO report for firefly.ai vs spacelift.io, env0.com"), confirm the two optional inputs:
Got it — I'll generate the report for firefly.ai vs spacelift.io, env0.com.
Just confirming the defaults:
- Date range: Feb 20 → May 20, 2026
- Location: United States
OK to proceed with these, or would you like to change either?
Input parsing rules:
| Input | Rules |
|---|---|
TARGET_DOMAIN | Strip https://, http://, www., and trailing slashes. Store bare domain only (e.g. firefly.ai) |
COMPETITORS | Strip same prefixes from each. Accept comma-separated or space-separated list. Min 2, max 6 competitors. |
START_DATE | Parse any human date format → YYYY-MM-DD. Default: 2026-02-20 |
END_DATE | Parse any human date format → YYYY-MM-DD. Default: 2026-05-20 |
LOCATION | Accept country name. Default: United States. Must be a valid DataForSEO location_name (full country name only, never city or region). |
After confirmation, echo back the resolved inputs clearly before proceeding:
✓ Target: firefly.ai ✓ Competitors: spacelift.io, env0.com, controlmonkey.io, scalr.com, terraform.io ✓ Date range: Feb 20, 2026 → May 20, 2026 ✓ Location: United States
Fetching data now...
Always use ignore_synonyms: false on every DataForSEO call.
Using the default ignore_synonyms: true underreports traffic and keyword counts by 30–50%.
This is the single most important parameter to get right — never omit it.
Call dataforseo_labs_google_historical_rank_overview with:
target: TARGET_DOMAIN
location_name: LOCATION
language_code: en
ignore_synonyms: falseFrom the returned monthly array, find the snapshot closest to START_DATE (match by year+month). Extract and store:
baseline_traffic = metrics.organic.etvbaseline_keywords = metrics.organic.countbaseline_top3 = metrics.organic.pos_1 + metrics.organic.pos_2_3⚠️ There is NO
pos_1_3field in DataForSEO. Always compute Top 3 aspos_1 + pos_2_3.
Also extract all monthly snapshots between START_DATE and END_DATE for the traffic trend bars in the report (typically 3–4 data points):
month_label (e.g. "Feb 2026"), etv, year, monthTREND_LABEL_1..4, TREND_ETV_1..4 in the HTML templateCall dataforseo_labs_google_domain_rank_overview with:
target: TARGET_DOMAIN
location_name: LOCATION
language_code: en
ignore_synonyms: falseExtract from metrics.organic:
current_traffic = etvcurrent_keywords = countcurrent_top3 = pos_1 + pos_2_3current_pos_1 = pos_1current_pos_2_3 = pos_2_3current_pos_4_10 = pos_4_10current_pos_11_20 = pos_11_20current_pos_21_100 = sum of pos_21_30 + pos_31_40 + pos_41_50 + pos_51_60 + pos_61_70 + pos_71_80 + pos_81_90 + pos_91_100Calculate all deltas:
traffic_growth_pct = ((current_traffic - baseline_traffic) / baseline_traffic) * 100
keywords_change = current_keywords - baseline_keywords
keywords_change_pct = (keywords_change / baseline_keywords) * 100
top3_growth_pct = ((current_top3 - baseline_top3) / baseline_top3) * 100Format rules:
+ for positive values, - is automatic for negativepos CSS class for positive deltas, neg for negativeCall dataforseo_labs_bulk_traffic_estimation with:
targets: [TARGET_DOMAIN, ...COMPETITORS] ← all domains in a single API call
location_name: LOCATION
language_code: en
item_types: ["organic"]
ignore_synonyms: falseFor each domain returned, extract: etv, count.
Sort all domains descending by etv. Assign rank 1 = highest traffic. Determine:
competitive_rank = rank position of TARGET_DOMAIN (1 = #1)total_domains = total count of all domains in the tabledomain_above = domain ranked one position above TARGET_DOMAIN (if any)domain_below = domain ranked one position below TARGET_DOMAIN (if any)gap_to_next_above = etv of domain_above − current_traffic (0 if TARGET_DOMAIN is #1)lead_over_next_below = current_traffic − etv of domain_below (0 if TARGET_DOMAIN is last)For each competitor (not the target domain), call dataforseo_labs_google_historical_rank_overview:
target: COMPETITOR_DOMAIN
location_name: LOCATION
language_code: en
ignore_synonyms: falseFrom the returned monthly array:
comp_baseline_etvcomp_current_etvcomp_trend_pct = ((comp_current_etv - comp_baseline_etv) / comp_baseline_etv) * 100Trend badge assignment rules (±5% stability threshold):
| Condition | Badge | CSS class |
|---|---|---|
comp_trend_pct > +5% | ↑ +X.X% | trend-up (green) |
comp_trend_pct < -5% | ↓ -X.X% | trend-down (red) |
-5% ≤ comp_trend_pct ≤ +5% | → Stable (X.X%) | trend-stable (gray) |
TARGET_DOMAIN trend for the competitive table must also use the same START_DATE → END_DATE window for consistency. The historical data fetched in Step 1 already contains this:
target_table_trend_pct = ((end_date_snapshot_etv - baseline_traffic) / baseline_traffic) * 100Where end_date_snapshot_etv is the ETV from the Step 1 historical array snapshot closest to
END_DATE (not current_traffic from Step 2, which is a live figure).
Apply the same ±5% threshold rules to derive the target's trend badge.
⚠️
traffic_growth_pctfrom Step 2 (baseline → live) is used for the timeline cards, delta badges, and executive summary — but NOT for the competitive table trend column. The competitive table trend column usestarget_table_trend_pct(START_DATE → END_DATE) for all domains including the target, ensuring a consistent apples-to-apples comparison.
⚠️ Never default any competitor to "Stable" without running this calculation. Every trend badge in the competitive table must be derived from real historical ETV data.
Call dataforseo_labs_google_relevant_pages with:
target: TARGET_DOMAIN
location_name: LOCATION
language_code: en
order_by: ["metrics.organic.etv,desc"]
limit: 3
ignore_synonyms: falseFor each of the top 3 pages extract:
page_address — shorten display URL: remove https://www. prefix, keep pathmetrics.organic.etv → page_etv (format with commas, round to nearest integer)metrics.organic.count → page_keywordsHomepage concentration check:
If page_1_etv / current_traffic > 0.80, set homepage_concentration = true.
This triggers a specific paragraph in the executive summary.
IF traffic_growth_pct >= 0:
traffic_goal = round(current_traffic * (1 + traffic_growth_pct/100))
ELSE:
traffic_goal = round(baseline_traffic * 0.9) ← recovery target
keywords_goal = max(round(current_keywords * 1.2), round(baseline_keywords * 0.95))
top3_goal = round(current_top3 * 1.3)
IF competitive_rank == 1:
target_badge = "Maintain #1"
ELSE:
target_badge = "Challenge #" + str(competitive_rank - 1)Format traffic_goal as e.g. 62,000+. Round to nearest thousand for clean presentation.
Always generate exactly 6 cards. Use actual data values in every description — no generic text. Reference competitor trend data from Step 3b to enrich card descriptions where relevant.
| # | Card title formula | Content rule |
|---|---|---|
| 1 | "Close Gap to #[rank_above]" | Name domain_above, state gap_to_next_above as ETV and its trend badge (growing/declining). If declining, frame as narrowing window opportunity. |
| 2 | "Defend vs. / Watch [domain_below or fastest_growing_competitor]" | If a lower-ranked competitor is growing fast (>+20%), flag it as a rising threat. Otherwise name domain_below, state lead_over_next_below. |
| 3 | Traffic recovery OR scale | If declined: "Reverse the [X]% Decline" with pos_4_10 count as pipeline. If grew: "Sustain [X]% Growth Trajectory" and note market context (e.g. if most competitors declined) |
| 4 | "Scale Top Content Clusters" | Reference page_1 URL and its ETV; flag homepage concentration if true |
| 5 | "Recover/Expand Keyword Coverage" | Use keywords_change as the specific number to recover or build on |
| 6 | "Convert Pos 4–10 to Top 3" | Use current_pos_4_10 count; state that converting 20% would add ~N new top-3 rankings |
Write naturally — no bullet points inside the paragraphs. All numbers must be real API values.
Para 1: Overall result. State traffic_growth_pct, competitive_rank of total_domains. State the trend distribution of competitors (how many are growing, stable, or declining derived from Step 3b) and whether the target is the fastest growing. Name the domains ranked immediately above and below with their ETVs and trend directions.
Para 2: If homepage_concentration = true: flag that X% of traffic comes from one page,
frame it as both a risk and an opportunity to diversify.
Otherwise: describe content breadth advantage — keyword count vs competitors.
Para 3: Top 3 keywords trend (top3_growth_pct). Flag keywords_change — if negative, state the specific number lost and the urgency to recapture. If positive, call it momentum.
Para 4: Q2 strategy. Name the specific gap to close (gap_to_next_above), the competitor to chase (domain_above) and whether it is growing or declining. If domain_above is declining, frame the opportunity as a narrowing window. Name the recovery/scale action most impactful based on the data.
Fastest growing determination — compare target_table_trend_pct against all competitors'
comp_trend_pct values from Step 3b. If TARGET_DOMAIN has the highest trend percentage in the
set, set is_fastest_growing = true. Use this in Para 1 and the summary badge.
Summary badge format:
Rank #[competitive_rank] | [current_traffic_K]K Traffic | [traffic_growth_pct]% Growth | [current_top3] Top-3 Keywords | [Fastest Growing / Declining / Stable]
Where the last label is:
Read references/html-template.md for the complete HTML structure, CSS, and variable map.
The template uses the Infrasity brand design system exclusively:
#0D0A1A (Blackish-Violet) — never white, never any other dark#8157F2 — the only accent colour; never substitute blue or greenInstrument Sans for all headings / KPI values / section numbers,
DM Sans for all body / labels / UI text, DM Mono for paths / code / data values#5DCEA6 (positive delta), #F07070 (negative delta)Do not alter, override, or mix in any other colour palette or font stack.
Fill every {{VARIABLE}} with real data. Output the file to:
/mnt/user-data/outputs/{TARGET_DOMAIN}_seo_report.htmlThen call present_files to deliver it to the user.
| Situation | Action |
|---|---|
| Domain returns no data from bulk_traffic_estimation | Omit that domain from the competitive table; add a footnote |
| Historical snapshot missing for START_DATE or END_DATE month | Use nearest available month; note actual date used in report footer |
baseline_traffic is 0 (division by zero) | Set traffic_growth_pct to "N/A", skip all delta badges that depend on it, and note in the report footer that baseline data was unavailable for START_DATE |
baseline_top3 is 0 (division by zero) | Set top3_growth_pct to "N/A" and skip the delta badge |
comp_baseline_etv is 0 (division by zero for competitor trend) | Mark that competitor as "N/A" in the trend column |
backlinks_bulk_ranks 40204 error | Do not call this endpoint — it requires a separate subscription. Skip entirely. |
ai_opt_llm_ment_agg_metrics 40204 error | Do not include AI citations section. It is excluded from this skill. |
ignore_synonyms: true — always false, no exceptionsreferences/html-template.md — Full Infrasity-branded HTML template with CSS design system,
all section markup, competitive table row patterns, and complete variable substitution map.
Always read this file before writing any HTML. The Infrasity design is the only permitted
output design — do not use any other colour palette, font stack, or layout.© Infrasity-Labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/growth-report of Infrasity-Labs/dev-gtm-claude-skills.
Open the folder on GitHubat commit 02cfefb
Growth Report next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Growth Report this skillInfrasity-Labs/dev-gtm-claude-skills | 136 | — | ~4k | Automated safety check: Pass | MIT | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | Automated safety check: Notes | MIT | |
| SEO Optimizerailabs-393/ai-labs-claude-skills | 455 | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| SEO and GEO Auditdageno-agents/seo-geo-audit | 176 | — | ~2k | Automated safety check: Pass | MIT | |
| SEO Setupalisamadiii/Portfolio | 180 | — | ~1.7k | Automated safety check: Pass | None | |
| Universal SEO AnalysisAgriciDaniel/claude-seo | 19k | — | ~4.9k | Automated safety check: Pass | MIT |
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
ailabs-393/ai-labs-claude-skills
This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices.
dageno-agents/seo-geo-audit
Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.
alisamadiii/Portfolio
Full SEO/metadata setup and audit for client websites (Astro, Next.js, any static site).
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
minhnv0807/ai-business-skills
Covers six SEO layers for a website: crawl and index audit, local SEO, search-intent content, AI search visibility, schema markup and backlink or directory distribution.
Infrasity-Labs/dev-gtm-claude-skills
Generates a fully structured SEO content outline (not a finished brief) and exports it as a formatted .docx Word document.
Infrasity-Labs/dev-gtm-claude-skills
Generates a fully structured SEO content brief for a target keyword and optionally pushes it to a Notion database.
Infrasity-Labs/dev-gtm-claude-skills
Audits any API documentation site by crawling every endpoint page and scoring each one across 5 checks: description quality, OpenAPI spec presence, body param descriptions, response codes, and…
Infrasity-Labs/dev-gtm-claude-skills
Audits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check.
Infrasity-Labs/dev-gtm-claude-skills
Email triage system that handles both one-time setup and recurring triage in a single skill.
Infrasity-Labs/dev-gtm-claude-skills
Audits any domain's AI-readiness by using curl to directly probe robots.txt, llms.txt, and llms-full.txt, then scores each file against a structured checklist and delivers a formatted report with…
Generates a 3-month SEO performance HTML report for any domain using DataForSEO data. Growth Report is an agent skill from Infrasity-Labs/dev-gtm-claude-skills. Generates a 3-month SEO performance HTML report for any domain using DataForSEO data.
Growth Report fits situations like: A user provides a target domain and a list of competitor URLs and asks for an SEO report; performance report; competitive SEO comparison; 3-month SEO summary.
Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a claude-code`. Or copy the skill folder (skills/growth-report in Infrasity-Labs/dev-gtm-claude-skills) into .claude/skills/growth-report in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a codex`. Or copy the skill folder (skills/growth-report in Infrasity-Labs/dev-gtm-claude-skills) into .agents/skills/growth-report in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill growth-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/growth-report, .gemini/skills/growth-report, .github/skills/growth-report and .opencode/skills/growth-report in your project.
SKILL.md names no scripts, command-line tools or credentials: Growth Report is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Growth Report is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Growth Report: GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars), SEO Optimizer (ailabs-393/ai-labs-claude-skills, 455 stars), SEO and GEO Audit (dageno-agents/seo-geo-audit, 176 stars) and SEO Setup (alisamadiii/Portfolio, 180 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Infrasity-Labs (a GitHub user) maintains it in Infrasity-Labs/dev-gtm-claude-skills, which has 136 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on June 28, 2026.
Source: Infrasity-Labs/dev-gtm-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.