gsc-assistant

Google Search Console indexing assistant. Use when the user wants to track page indexing status, compare sitemap against GSC indexed pages, manage submission tracking, or move false positives (pages indexed per URL Inspection but not yet in GSC export) to the indexed list. Maintains two tracking files (indexed.md, to-index.md) with prioritization support.

151 stars

Best use case

gsc-assistant is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Google Search Console indexing assistant. Use when the user wants to track page indexing status, compare sitemap against GSC indexed pages, manage submission tracking, or move false positives (pages indexed per URL Inspection but not yet in GSC export) to the indexed list. Maintains two tracking files (indexed.md, to-index.md) with prioritization support.

Teams using gsc-assistant should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gsc-assistant/SKILL.md --create-dirs "https://raw.githubusercontent.com/nicepkg/ai-workflow/main/workflows/content-creator-workflow/.claude/skills/gsc-assistant/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gsc-assistant/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How gsc-assistant Compares

Feature / Agentgsc-assistantStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Google Search Console indexing assistant. Use when the user wants to track page indexing status, compare sitemap against GSC indexed pages, manage submission tracking, or move false positives (pages indexed per URL Inspection but not yet in GSC export) to the indexed list. Maintains two tracking files (indexed.md, to-index.md) with prioritization support.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# GSC Assistant Skill

## Purpose

This skill helps manage Google Search Console indexing status by maintaining two markdown tracking files:

1. **indexed.md** - All indexed pages in two tables:
   - "Indexed Public" - URLs confirmed in GSC export data
   - "Indexed With Lag" - URLs confirmed via URL Inspection (not yet in export)

2. **to-index.md** - Pages awaiting indexing:
   - Difference between sitemap and total indexed URLs
   - Prioritized by categories (configurable)
   - Tracks submission dates

## When to Use This Skill

- User asks about "indexing status" or "GSC indexing"
- User wants to "compare sitemap with indexed pages"
- User mentions "URL inspection" or "false positives"
- User needs to "track submissions" or "indexing progress"
- User asks to "move indexed pages" or "update indexing status"
- User wants to "generate indexing report"

## Key Concepts

### GSC Data Lag
Google Search Console export data has approximately 2 weeks lag. Pages that show as indexed in URL Inspection may not appear in the export yet. These are tracked separately as "Indexed With Lag".

### False Positives
When checking to-index pages via URL Inspection:
- If indexed: Mark as "false positive - indexed" in Submitted column
- Pre-processing moves these to indexed.md (Indexed With Lag table)
- The "Detected" date is inferred from when the entry was added to to-index

### Priority Categories
to-index.md organizes pages by priority:
- Priority 1: High-value content series
- Priority 2: Recent content (current/previous year)
- Priority 3: Specific content collections
- Lower priorities: Archive pages, pagination, etc.

## File Schemas

### indexed.md

```markdown
# Indexed Pages

## Indexed Public (GSC Export)

*Last updated: YYYY-MM-DD*
*Source: gsc-export.csv*

| # | URL | Last Crawled |
|---|-----|--------------|
| 1 | https://example.com/page-1/ | 2025-12-01 |
| 2 | https://example.com/page-2/ | 2025-12-02 |

## Indexed With Lag (URL Inspection Confirmed)

*Pages confirmed indexed via URL Inspection but not yet in GSC export*

| # | URL | Detected | Confirmed |
|---|-----|----------|-----------|
| 1 | https://example.com/new-page/ | 12 Dec 2025 | 12 Dec 2025 |
```

### to-index.md

```markdown
# Pages To Index

*Generated: YYYY-MM-DD*
*Total: X pages*

## Priority 1: [Category Name]

| # | URL | Submitted |
|---|-----|-----------|
| 1 | https://example.com/important-page/ | 12 Dec |
| 2 | https://example.com/another-page/ | - |

## Priority 2: [Category Name]

| # | URL | Submitted |
|---|-----|-----------|
| 1 | https://example.com/recent-post/ | - |
```

## Workflow

### Initial Setup

1. Import GSC export CSV to create indexed.md (Indexed Public table)
2. Extract sitemap URLs
3. Calculate difference (sitemap - indexed = to-index)
4. Categorize to-index pages by priority
5. Generate to-index.md

### Regular Updates

1. **Pre-processing**: Scan to-index.md for "false positive - indexed" entries
2. Move false positives to indexed.md (Indexed With Lag table)
3. Set "Detected" date from when entry was in to-index
4. Set "Confirmed" date to current date
5. Remove from to-index.md
6. Update counts and statistics

### Manual Operations

- Mark submissions: Update "Submitted" column with date
- Check status: Use URL Inspection, mark result
- Refresh data: Import new GSC export, recalculate

## Configuration

Create working files in project directory:

```
project/
├── gsc-export.csv          # GSC indexed pages export
├── sitemap.xml             # Site sitemap (or use dist/sitemap.xml)
├── indexed.md              # Tracking file (generated)
└── to-index.md             # Tracking file (generated)
```

## Commands

### Generate Initial Files
```
"Generate indexing tracking files from GSC export and sitemap"
```

### Pre-process False Positives
```
"Process false positives and update indexed list"
```

### Update Submission Status
```
"Mark [URL] as submitted on [date]"
```

### Refresh From New Export
```
"Update indexed list from new GSC export"
```

### Generate Statistics
```
"Show indexing progress statistics"
```

## Statistics Output

```
INDEXING STATUS SUMMARY
=======================

Indexed Public (GSC):     789 pages
Indexed With Lag:          12 pages
Total Indexed:            801 pages

Sitemap Total:          2,054 pages
To Index:               1,253 pages

Progress:                 39.0%

By Priority:
- Priority 1: 55 remaining (4 false positives moved)
- Priority 2: 7 remaining
- Priority 3: 290 remaining
```

## Example Usage

User: "I just checked some URLs in GSC URL Inspection and marked them as false positive - indexed. Process those and update the tracking files."

Claude will:
1. Scan to-index.md for entries with "false positive - indexed"
2. Extract those URLs and their original detection dates
3. Add them to indexed.md Indexed With Lag table
4. Remove them from to-index.md
5. Update row numbers and counts
6. Report changes made

Related Skills

lead-research-assistant

151
from nicepkg/ai-workflow

Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.

pre-publish-post-assistant

151
from nicepkg/ai-workflow

Pre-publish assistant for new blog posts. Use when the user wants to classify a new post with categories and tags, generate SEO metadata (title, description, focus keyphrase), or get intelligent suggestions with rationale. Works with draft content (file path, URL, or text) and suggests from existing taxonomy to maintain balanced distribution.

youtube-to-markdown

151
from nicepkg/ai-workflow

Use when user asks YouTube video extraction, get, fetch, transcripts, subtitles, or captions. Writes video details and transcription into structured markdown file.

youtube-seo-optimizer

151
from nicepkg/ai-workflow

Optimize YouTube videos for search and discovery. Generates SEO-optimized titles, descriptions, tags, hashtags, and chapters. Includes keyword research and competitor analysis. Use when publishing videos, improving discoverability, or optimizing existing content.

webfluence

151
from nicepkg/ai-workflow

Content web architecture framework. Use when diagnosing offer doc usage, content-to-conversion pathways, or why someone isn't getting sales despite traffic.

video-to-gif

151
from nicepkg/ai-workflow

Convert video clips to optimized GIFs with speed control, cropping, text overlays, and file size optimization. Create perfect GIFs for social media, documentation, and presentations.

video-title-optimizer

151
from nicepkg/ai-workflow

Optimize video titles for maximum click-through rate (CTR) and YouTube/TikTok SEO. Generates multiple title variations balancing curiosity, keywords, and platform best practices. Use when naming videos, improving CTR, or A/B testing titles.

video-script-writer

151
from nicepkg/ai-workflow

Write engaging video scripts for YouTube, TikTok, and other platforms. Creates complete scripts with hooks, main content, and CTAs. Supports various formats including tutorials, vlogs, reviews, explainers, and storytelling. Use when creating video scripts, writing YouTube content, or planning video structure.

video-script-collaborial

151
from nicepkg/ai-workflow

将视频脚本转换为更适合实际录制的口语化表达,去除书面化语言,增加自然感和亲和力。当用户提到"视频脚本"、"录制"、"口语化"、"自然一点"、"像说话一样"、"太书面了"时使用此技能。

video-hook-generator

151
from nicepkg/ai-workflow

Generate attention-grabbing hooks for the first 3 seconds of videos. The hook determines if viewers stay or scroll. Creates multiple hook variations for A/B testing. Use when crafting video openings, improving retention, or creating scroll-stopping content for YouTube, TikTok, or Reels.

youtube-downloader

151
from nicepkg/ai-workflow

Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.

video-comparer

151
from nicepkg/ai-workflow

This skill should be used when comparing two videos to analyze compression results or quality differences. Generates interactive HTML reports with quality metrics (PSNR, SSIM) and frame-by-frame visual comparisons. Triggers when users mention "compare videos", "video quality", "compression analysis", "before/after compression", or request quality assessment of compressed videos.