SEO Coach
akseolabs-seo/seo-coach
Beginner-first SEO coaching for people who want to learn by doing one safe, verifiable step at a time.
When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance.
$ npx skills add kostja94/marketing-skills --skill google-search-console -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kostja94/marketing-skills google-search-console --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/kostja94/marketing-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/analytics/seo/google-search-console .claude/skills/google-search-console && 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 "google-search-console" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-console into .claude/skills/google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-console", 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/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-consoleType 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 kostja94/marketing-skills --skill google-search-console -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kostja94/marketing-skills google-search-console --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/analytics/seo/google-search-console .agents/skills/google-search-console && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-search-console" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-console into .agents/skills/google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-console", 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 kostja94/marketing-skills --skill google-search-console -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kostja94/marketing-skills google-search-console --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/analytics/seo/google-search-console .cursor/skills/google-search-console && 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 "google-search-console" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-console into .cursor/skills/google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-console", 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/kostja94/marketing-skills.git --path skills/analytics/seo/google-search-console--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 kostja94/marketing-skills --skill google-search-console -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kostja94/marketing-skills google-search-console --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/analytics/seo/google-search-console .gemini/skills/google-search-console && 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 "google-search-console" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-console into .gemini/skills/google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-console", 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 kostja94/marketing-skills google-search-consoleInstalls 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 kostja94/marketing-skills --skill google-search-console -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/analytics/seo/google-search-console .github/skills/google-search-console && 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 "google-search-console" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-console into .github/skills/google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-console", 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 kostja94/marketing-skills --skill google-search-console -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kostja94/marketing-skills google-search-console --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kostja94/marketing-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/analytics/seo/google-search-console .opencode/skills/google-search-console && 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 "google-search-console" agent skill from https://github.com/kostja94/marketing-skills/tree/main/skills/analytics/seo/google-search-console into .opencode/skills/google-search-console/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-search-console", 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.
google-search-consoleWhen the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance.
Google Search Console is an agent skill from kostja94/marketing-skills. When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance. Also use when the user mentions "GSC," "Search Console," "indexing report," "Core Web Vitals," "Enhancements," "Insights report," "search performance," "search queries," "search performance report," "URL inspection," "impressions," "CTR," "average position," "index coverage," "GSC data analysis," "Search Console API," or "searchanalytics.query." When the user wants to rewrite title tags (not only report on…
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering On-page SEO and Web performance. It works with Google Search Console. The repository describes itself as: Agent Skills for Marketing — SEO, Social, Influencer & More. 160+ open-source skills for SEO, content, 40+ page types, paid ads, channels, and strategies. Add project context… The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8dd89c5. 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.
Links to these hosts (documentation or services it may open):
developers.google.comFrom 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.
Google Search Console loads about 3.3k tokens when it runs. Until then it costs about 154 tokens; SKILL.md has 1,535 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 kostja94/marketing-skills at commit 8dd89c5, republished under its MIT licence (© kostja94). 1,535 words, ~3,333 tokens.
.claude/skills/google-search-console/SKILL.md (or your agent's skills folder).Guides analysis of Google Search Console (GSC) data: performance metrics, indexing, sitemaps, Core Web Vitals, and rich results. Covers best practices for monthly monitoring and actionable insights.
When invoking: On first use, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
| Practice | Why |
|---|---|
| Focus one metric at a time | Stacked bar charts hide fluctuations; toggle off other metrics to see each clearly |
| Don't compare just two points | End-of-month vs prior month misses mid-month drama; examine full trend |
| Check beyond top 10 | Many reports default to top 10; scroll or paginate for more rows |
| Screenshot charts | GSC retains limited history; save images for future reference |
| Record in spreadsheet | Export at month-end; use formulas to track correlations over time |
| Track release dates | Join dev standups, read release notes; correlate GSC shifts with deployments |
Location: Performance ? Search results
| Metric | Use |
|---|---|
| Clicks | Traffic from Google Search |
| Impressions | How often site appeared in results |
| CTR | Whether users think page answers query |
| Average position | Ranking trend |
Dimensions: Query, page, country, device, date. Filter by search type: web, image, video, news. Use to find low-CTR high-impression pages (title/meta optimization opportunities).
Search appearance: AMP, blue link, rich results (filterable in UI and API).
Use to compare actual CTR vs expected. Benchmarks vary by SERP features (AI Overviews, featured snippets). Zero-click: When SERP features satisfy intent without a click, organic CTR drops; factor into expectations. See serp-features (Zero-Click section), featured-snippet. Clean SERPs:
| Position | Expected CTR (baseline) | With AI Overviews (lower) |
|---|---|---|
| 1 | 25-35% | ~19% |
| 2 | 12-18% | ~12% |
| 3 | 8-12% | ~7% |
| 4-5 | 5-7% | ~5% |
| 6-10 | 2-5% | 2-5% |
Interpretation: If actual CTR is below expected for your position, prioritize title/meta optimization. Over 90% of first-page results have CTR below 10%; significant upside exists.
Pages with review stars, FAQ schema, or other rich snippets see 10-20% more clicks. See schema-markup.
Location: Performance ? Insights (or Overview)
Simplified overview; replaces standalone Search Console Insights. Data from GSC only (GA data removed Dec 2024).
| Card | Use |
|---|---|
| Clicks and impressions | Site visibility and click effectiveness |
| Your content | Top, trending up, trending down pages |
| Queries leading to your site | Top, trending up, trending down queries |
| Top countries | Geographic audience |
| Branded vs non-branded | Brand recognition (AI-labeled; may mislabel) |
| Additional traffic sources | Image, Video, News search, Discover |
Trending: Based on click change vs previous period. Click items to jump to Performance report filtered to that item.
Query groups: Similar queries grouped; group name = best-performing query. Not available for sub-properties or low-impression sites.
Location: Indexing ? Page indexing
Status grouping (updated): Valid + Valid with warning ? Indexed. Error + Excluded ? Not indexed.
Indexed vs Not indexed are complementary: Not all site content should be indexed. Login, admin, duplicate content, legal boilerplate, and low-value pages often intentionally use noindex. Indexed and non-indexed pages can reference each other (e.g., sitemap includes indexable URLs; noindex pages still exist and link internally). Non-indexed is not inherently a problem--investigate only when important pages are excluded. See indexing (noindex usage) and robots-txt (crawl control) for when to exclude.
| Metric | Action |
|---|---|
| Pages indexed | Turn off "Pages not indexed" to view alone; watch for drops |
| Pages not indexed | Turn off "Pages indexed" to view alone; watch for spikes. Distinguish intentional (noindex, robots) from accidental |
Filter: All submitted pages / Unsubmitted pages only (dropdown near top).
Source column: Indicates whether issue is caused by website or Google.
Why pages are not indexed: Drill into reasons and example URLs. Common culprits:
Quick check: If trend line is stable, spend ~3 seconds; move on. Investigate if fourth column (trend) shifts.
Diagnosis workflow: GSC Coverage ? click Issue ? view sample URLs ? identify pattern ? fix (see indexing for fix actions).
Coverage issue types:
| Issue | Meaning | Next step |
|---|---|---|
| Crawled - currently not indexed | Crawled but not indexed | See indexing |
| Excluded by "noindex" tag | Intentionally excluded; often valid (login, admin, legal, etc.) | Ignore if expected; verify important pages not accidentally noindexed |
| Blocked by robots.txt | Crawl blocked | See robots-txt; may be intentional |
| Redirect / 404 | Redirect or missing | Fix URL or redirect |
| Duplicate / Canonical | Duplicate content | Usually OK; keep canonical |
URL Inspection: Verdicts: "URL is on Google," "URL is on Google, but has issues," "URL is not on Google." Use for important pages; verify canonical, internal links, sitemap; Request indexing if needed.
Location: Indexing ? Video indexing
See video-optimization for video SEO; youtube-seo for YouTube.
Location: Indexing ? Sitemaps
| Check | Action |
|---|---|
| Status | Confirm each sitemap says "Success" |
| URLs indexed | Click sitemap ? see indexed count; drops indicate indexing issues |
| Bellwether sitemaps | For large sites, monitor templated sitemaps (by country, language, division) |
Enterprise: Glitches can block new URL crawling, cause hreflang confusion, delay fresh content discovery.
Location: Experience ? Core Web Vitals
Priority: Mobile first (Google's higher expectations for mobile).
| Metric | Mobile | Desktop |
|---|---|---|
| Good URLs | Target | Secondary |
| Needs improvement | Fix | Monitor |
| Poor URLs | Fix | Monitor |
Why URLs don't have good score: Click "Open report" → grouped example URLs by issue type. For threshold values and fixes, see core-web-vitals.
Tip: Historical chart is short; export to spreadsheet for longer trends. Share with dev team regularly; correlate dates with releases.
Layout (updated): Two tables--Poor or Need improvement; Good (click "View data about usable pages").
Location: Experience ? Enhancements (Product snippets, Merchant listings under Shopping)
Status (updated): Two-tier?invalid (critical issues, may not appear) vs valid (no critical issues; may still have warnings). Warnings no longer top-level.
| Type | Examples |
|---|---|
| Content | Breadcrumbs, FAQ, Events, Videos (see video-optimization), Job postings, Review snippets, Q&A, Discussion forums |
| Shopping | Product snippets, Merchant listings |
| Other | Recipes, Datasets, Hotels, Vacation rentals, Profile pages, Practice problems, Math solvers, Image metadata |
Note: Reports show sample items, not full list. Use URL Inspection for unlisted URLs.
(?i)^(who|what|where|when|why|how|which|is|are|can|does|should)|\b(vs|versus|compare|difference|pros and cons|guide|tutorial|best|top|list)\bFor GA4 AI traffic tracking, see ai-traffic-tracking.
Location: Links (inbound links), Security & Manual Actions
Method: searchanalytics.query() --exposes all Performance report data.
Clicks, Impressions, CTR, Position.
date, query, page, country, device. Search appearance (AMP, blue link, rich results). Filter by search type: web, image, video, news.
| Limit | Value |
|---|---|
| Rows per day per search type per property | 50,000 |
| Rows per response | 25,000 (use pagination: startRow, rowLimit) |
| Data availability | 2-3 days after |
Tip: Run daily queries for one day of data to avoid quota. Verify data presence first (dimensions: date only, no filters).
Optimization: Gzip compression; fields parameter for partial responses; pagination for large datasets.
References: Search Console API, searchanalytics.query
© kostja94, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/analytics/seo/google-search-console of kostja94/marketing-skills.
Open the folder on GitHubat commit 8dd89c5
Google Search Console 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 |
|---|---|---|---|---|---|---|
| Google Search Console this skillkostja94/marketing-skills | 1k | — | ~3.3k | Automated safety check: Pass | MIT | |
| SEO Coachakseolabs-seo/seo-coach | 146 | — | ~2.8k | Automated safety check: Pass | None | |
| Business Website Setupsickn33/agentic-awesome-skills | 47k | 1 repos | ~6.2k | Automated safety check: Pass | MIT | |
| SEO Validatesoftspark/ai-toolkit | 179 | — | ~3.9k | Automated safety check: Notes | Apache-2.0 | |
| Google SEO APIsAgriciDaniel/claude-seo | 19k | 1 repos | ~4.2k | Automated safety check: Pass | MIT | |
| Blog GoogleAgriciDaniel/claude-blog | 2.3k | 1 repos | ~3.3k | Automated safety check: Notes | MIT |
akseolabs-seo/seo-coach
Beginner-first SEO coaching for people who want to learn by doing one safe, verifiable step at a time.
sickn33/agentic-awesome-skills
Website page register: URL, title, meta description, search intent, NAP block, schema type, canonical, indexability and Core Web Vitals target.
softspark/ai-toolkit
SEO validator: meta/OG, Schema.org, hreflang, Core Web Vitals, crawlability.
AgriciDaniel/claude-seo
Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
littleben/awesomeAgentskills
Answers Google Search optimization questions from reference files covering crawling, indexing, structured data, Search Console and site visibility, drawn from Google's documentation.
kostja94/marketing-skills
When the user wants to add recommendations, links, or content to Grokipedia.
kostja94/marketing-skills
When the user wants to track AI search traffic in GA4 or GSC.
kostja94/marketing-skills
When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions).
kostja94/marketing-skills
When the user wants to define, audit, or apply visual identity (typography, colors, spacing, design tokens, frontend aesthetics).
kostja94/marketing-skills
When the user wants to configure canonical URLs, fix duplicate content, or consolidate URL signals.
kostja94/marketing-skills
When the user wants to plan content for SEO, create content calendar, or build topic clusters.
Works with
Categories
When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance. Google Search Console is an agent skill from kostja94/marketing-skills. When the user wants to analyze Google Search Console data, use the GSC API, or interpret search performance.
Google Search Console fits situations like: wants to analyze Google Search Console data; use the GSC API; interpret search performance; the user mentions GSC.
Run `npx skills add kostja94/marketing-skills --skill google-search-console -a claude-code`. Or copy the skill folder (skills/analytics/seo/google-search-console in kostja94/marketing-skills) into .claude/skills/google-search-console in your project. Claude Code loads it when a task matches its description.
Run `npx skills add kostja94/marketing-skills --skill google-search-console -a codex`. Or copy the skill folder (skills/analytics/seo/google-search-console in kostja94/marketing-skills) into .agents/skills/google-search-console 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 kostja94/marketing-skills --skill google-search-console -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-search-console, .gemini/skills/google-search-console, .github/skills/google-search-console and .opencode/skills/google-search-console in your project.
SKILL.md names no scripts, command-line tools or credentials: Google Search Console is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: developers.google.com. 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.
Google Search Console is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Google Search Console: SEO Coach (akseolabs-seo/seo-coach, 146 stars), Business Website Setup (sickn33/agentic-awesome-skills, 47k stars), SEO Validate (softspark/ai-toolkit, 179 stars) and Google SEO APIs (AgriciDaniel/claude-seo, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
kostja94 (a GitHub user) maintains it in kostja94/marketing-skills, which has 1,025 GitHub stars. The repository holds 102 skills in this directory. The repository was last updated on October 6, 2026.
Source: kostja94/marketing-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.