skills/google-search-console/SKILL.md
Google Search Console API integration for search analytics, URL inspection, sitemap management, and site verification. Use when working with search performance data, checking indexing status, managing sitemaps, or analyzing SEO metrics.
npx skillsauth add jakenuts/agent-skills google-search-consoleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Created by Return Zero Inc.
Comprehensive Google Search Console API skill for Claude Code providing search analytics, URL inspection, sitemap management, and site verification capabilities.
This skill uses environment variables managed by jelly-dotenv. See skills/jelly-dotenv/SKILL.md for configuration details.
# Service account JSON key file path
GOOGLE_SERVICE_ACCOUNT_KEY_FILE=/path/to/service-account.json
# Or inline JSON (for CI/CD environments)
GOOGLE_SERVICE_ACCOUNT_KEY_JSON='{"type":"service_account","project_id":"...","private_key":"..."}'
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REFRESH_TOKEN=your-refresh-token
# Default site URL (optional, can be specified per request)
GOOGLE_SEARCH_CONSOLE_SITE_URL=https://your-site.com
# Alternative naming patterns (auto-detected)
GSC_SITE_URL=https://your-site.com
SEARCH_CONSOLE_SITE=sc-domain:your-site.com
Variables can be configured in either:
skills/jelly-dotenv/.env (skill-common, highest priority)/.env (project-specific, fallback)https://www.googleapis.com/auth/webmasters.readonlyUser Request: "Show me search performance for the last 7 days"
Skill Actions:
Output:
## Search Performance (Last 7 Days)
| Metric | Value | Change |
|--------|-------|--------|
| Clicks | 1,234 | +12% |
| Impressions | 45,678 | +8% |
| CTR | 2.7% | +0.3% |
| Avg Position | 15.2 | -2.1 |
### Top Queries
| Query | Clicks | Impressions | CTR | Position |
|-------|--------|-------------|-----|----------|
| keyword 1 | 234 | 5,678 | 4.1% | 8.5 |
| keyword 2 | 189 | 4,321 | 4.4% | 12.3 |
User Request: "Check indexing status for https://example.com/page"
Skill Actions:
Output:
## URL Inspection: https://example.com/page
| Property | Status |
|----------|--------|
| Index Status | ✅ Indexed |
| Crawled | 2024-01-15 |
| Canonical | https://example.com/page |
| Mobile Usability | ✅ Mobile friendly |
| Rich Results | ⚠️ 2 warnings |
User Request: "Show all sitemaps and submit a new one"
Skill Actions:
User Request: "What are my top performing pages?"
Skill Actions:
interface SearchAnalyticsRequest {
startDate: string; // YYYY-MM-DD
endDate: string; // YYYY-MM-DD
dimensions?: ('query' | 'page' | 'country' | 'device' | 'date')[];
searchType?: 'web' | 'image' | 'video' | 'news';
dimensionFilterGroups?: FilterGroup[];
aggregationType?: 'auto' | 'byPage' | 'byProperty';
rowLimit?: number; // Max 25000
startRow?: number;
}
interface UrlInspectionRequest {
inspectionUrl: string;
siteUrl: string;
languageCode?: string;
}
| Operation | Method | Endpoint |
|-----------|--------|----------|
| List | GET | /webmasters/v3/sites/{siteUrl}/sitemaps |
| Get | GET | /webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath} |
| Submit | PUT | /webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath} |
| Delete | DELETE | /webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath} |
| Error | Cause | Solution |
|-------|-------|----------|
| 401 Unauthorized | Invalid credentials | Check service account key or OAuth tokens |
| 403 Forbidden | No access to site | Add service account to Search Console |
| Invalid scope | Wrong OAuth scope | Use webmasters.readonly scope |
| Error | Cause | Solution | |-------|-------|----------| | 404 Not Found | Site not in Search Console | Add site to Search Console first | | 400 Bad Request | Invalid parameters | Check date format (YYYY-MM-DD) | | 429 Rate Limit | Too many requests | Wait and retry with backoff |
"Configuration error: No Google credentials found"
# Solution: Add credentials to .env
GOOGLE_SERVICE_ACCOUNT_KEY_FILE=/path/to/key.json
"Site not found or no access"
# Solution: Add service account email to Search Console
# Go to: Search Console → Settings → Users and permissions
"Invalid date range"
# Solution: Use YYYY-MM-DD format, max 16 months historical data
webmasters.readonly scopeThis skill activates automatically when users mention:
The skill will:
development
WordPress content management via REST API for managing posts. Requires Node.js and WordPress REST API credentials.
development
WolverineFx (.NET) framework for in-process command/event handling, asynchronous messaging, durable inbox/outbox, sagas, and HTTP endpoints. Use when working in a .NET project that references `WolverineFx*` packages, calls `UseWolverine()`, or whenever the user asks about Wolverine handlers, message routing, transactional outbox, transports (RabbitMQ, Azure Service Bus, SQS, Kafka, NATS, Pulsar, PostgreSQL, SQL Server, Redis, MQTT, etc.), Wolverine.HTTP endpoints, Marten/EF Core/RavenDb integration, sagas/process managers, middleware, cascading messages, side effects, FluentValidation integration, tracked-session testing, or migrating to/from MediatR/NServiceBus/MassTransit. Also applies to Critter Stack and JasperFx conversations that mention Wolverine.
tools
Search and analyze DealerVision production logs via SolarWinds Observability API. Use when investigating errors, debugging issues, checking system health, or when the user mentions logs, SolarWinds, production errors, or system monitoring. Requires the `logs` CLI tool to be installed.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.