agentleFS
AgentShekelAgentShekel/agentic-workflow/skills/yandex-webmaster-guide/SKILL.md

yandex-webmaster-guide

Skill4 starsChanged 29 days agoMITView on GitHub

[TOOL] Yandex Webmaster API v4 client (indexing status, search queries from SERP, crawl errors, backlinks, sitemaps, site diagnostics, SQI history). Preloaded by marketing-seo-specialist agent.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Check API connection, show user_id, list hosts.

    line 30
  2. Very specific:

    Use common.sh functions directly:

    line 211
  3. Very specific:

    Run bash scripts/quota.sh to verify

    line 226

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

yandex-webmaster

Informational skill — website SEO health and search performance via Yandex Webmaster API v4.

Config

Requires YANDEX_WEBMASTER_TOKEN in config/.env (synced from yandex-analytics-methodology unified config). Optionally set YANDEX_WEBMASTER_HOST for a default host. Token setup and OAuth registration details in config/README.md.

Workflow

  1. Check connection: bash scripts/quota.sh — verifies token, gets user_id
  2. List hosts: bash scripts/hosts.sh — shows all registered sites
  3. Run report using appropriate script with --host parameter
  4. Interpret results — the API returns raw JSON; parse and present key metrics

Scripts

quota.sh

Check API connection, show user_id, list hosts.

bash scripts/quota.sh

hosts.sh

List all sites registered in Yandex Webmaster with their verification status.

bash scripts/hosts.sh

search_queries.sh

Popular search queries from Yandex SERP for a specific site.

bash scripts/search_queries.sh --host https://example.com:443 --from 2025-01-01 --to 2025-01-31 --limit 20 --order TOTAL_CLICKS
ParamRequiredDefaultDescription
--hostyes—Host URL (e.g., https://example.com:443)
--fromno30 days agoStart date (YYYY-MM-DD)
--tonotodayEnd date (YYYY-MM-DD)
--limitno20Max rows
--ordernoTOTAL_CLICKSSort by: TOTAL_SHOWS or TOTAL_CLICKS
--indicatornoTOTAL_SHOWS,TOTAL_CLICKS,AVG_SHOW_POSITION,AVG_CLICK_POSITIONQuery indicators

indexing.sh

Indexing stats: summary, history, or indexed page samples.

bash scripts/indexing.sh --host https://example.com:443 --type summary
bash scripts/indexing.sh --host https://example.com:443 --type history --from 2025-01-01
bash scripts/indexing.sh --host https://example.com:443 --type samples --limit 20
ParamRequiredDefaultDescription
--hostyes—Host URL
--typenosummarysummary, history, or samples
--fromno30 days agoStart date (for history)
--tonotodayEnd date (for history)
--limitno100Max rows (for samples)

diagnostics.sh

Site diagnostics — problems found by Yandex crawler.

bash scripts/diagnostics.sh --host https://example.com:443
ParamRequiredDefaultDescription
--hostyes—Host URL

links.sh

External backlinks or broken internal links.

bash scripts/links.sh --host https://example.com:443 --type external
bash scripts/links.sh --host https://example.com:443 --type internal-broken
bash scripts/links.sh --host https://example.com:443 --type external-history --from 2025-01-01
ParamRequiredDefaultDescription
--hostyes—Host URL
--typenoexternalexternal, external-history, or internal-broken
--fromno30 days agoStart date (for history)
--tonotodayEnd date (for history)
--limitno100Max rows (for samples)

sitemaps.sh

List sitemaps registered for a site.

bash scripts/sitemaps.sh --host https://example.com:443
ParamRequiredDefaultDescription
--hostyes—Host URL

recrawl.sh

Submit a URL for recrawling or check recrawl quota.

bash scripts/recrawl.sh --host https://example.com:443 --url https://example.com/page
bash scripts/recrawl.sh --host https://example.com:443 --quota
ParamRequiredDefaultDescription
--hostyes—Host URL
--urlno—URL to submit for recrawl
--quotanofalseShow recrawl quota only

sqi.sh

SQI (Site Quality Index) history.

bash scripts/sqi.sh --host https://example.com:443 --from 2025-01-01
ParamRequiredDefaultDescription
--hostyes—Host URL
--fromno30 days agoStart date (YYYY-MM-DD)
--tonotodayEnd date (YYYY-MM-DD)

API Reference

Webmaster API v4

  • Base: https://api.webmaster.yandex.net/v4
  • Auth: Authorization: OAuth <token>
  • First get user_id: GET /user → {"user_id": 12345}
  • Then all requests use: /user/{user_id}/hosts/...

Host ID format

Yandex Webmaster uses host IDs in format https:example.com:443. Scripts accept normal URLs like https://example.com or https://example.com:443 and convert them automatically.

Key endpoints

EndpointDescription
GET /userGet user_id
GET /user/{uid}/hostsList all registered sites
GET /user/{uid}/hosts/{hostId}/summarySite indexing summary
GET /user/{uid}/hosts/{hostId}/search-queries/popularPopular search queries
GET /user/{uid}/hosts/{hostId}/indexing/samplesIndexed page samples
GET /user/{uid}/hosts/{hostId}/indexing/historyIndexing history
GET /user/{uid}/hosts/{hostId}/links/external/samplesExternal backlinks
GET /user/{uid}/hosts/{hostId}/links/external/historyExternal links history
GET /user/{uid}/hosts/{hostId}/links/internal/samplesBroken internal links
GET /user/{uid}/hosts/{hostId}/diagnosticsSite diagnostics
GET /user/{uid}/hosts/{hostId}/sitemapsSitemaps
POST /user/{uid}/hosts/{hostId}/recrawl/queueSubmit URL for recrawl
GET /user/{uid}/hosts/{hostId}/recrawl/quotaRecrawl quota
GET /user/{uid}/hosts/{hostId}/sqi/historySQI history
GET /user/{uid}/hosts/{hostId}/search-queries/all/historyAll queries stats

Search queries indicators

IndicatorDescription
TOTAL_SHOWSTotal impressions in search
TOTAL_CLICKSTotal clicks from search
AVG_SHOW_POSITIONAverage position when shown
AVG_CLICK_POSITIONAverage position when clicked

Common use cases

"How's the site doing in Yandex?"

bash scripts/quota.sh
bash scripts/indexing.sh --host https://example.com:443 --type summary
bash scripts/sqi.sh --host https://example.com:443

"What queries bring traffic from Yandex?"

bash scripts/search_queries.sh --host https://example.com:443 --limit 30 --order TOTAL_CLICKS

"Are there indexing problems?"

bash scripts/diagnostics.sh --host https://example.com:443
bash scripts/indexing.sh --host https://example.com:443 --type samples

"What's the backlink profile?"

bash scripts/links.sh --host https://example.com:443 --type external --limit 50
bash scripts/links.sh --host https://example.com:443 --type external-history

"Are sitemaps working?"

bash scripts/sitemaps.sh --host https://example.com:443

"Force recrawl a page"

bash scripts/recrawl.sh --host https://example.com:443 --quota
bash scripts/recrawl.sh --host https://example.com:443 --url https://example.com/updated-page

Custom query (advanced)

Use common.sh functions directly:

source scripts/common.sh
load_config
USER_ID=$(get_user_id)

# Custom GET request
webmaster_get "/user/${USER_ID}/hosts"

Sharing

To share this skill with colleagues:

  1. Copy the entire yandex-webmaster/ folder to their ~/.claude/skills/
  2. They create their own config/.env with their token
  3. Run bash scripts/quota.sh to verify

Limits

  • API rate limit: ~5 requests/second
  • Recrawl quota: limited per day (check via --quota)
  • Historical data depth varies by endpoint
  • Host must be verified in Yandex Webmaster to access data

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.