wiki-enrich/SKILL.md
Enrich Markdown articles with inline Wikipedia links. First mention of each notable entity gets a hyperlink. Use when asked to add wiki links, enrich, or add references to .md files.
npx skillsauth add snqb/my-skills wiki-enrichInstall 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.
Enrich a Markdown article with inline Wikipedia links. First mention of each notable entity gets a hyperlink; subsequent mentions stay plain.
.md file the user points toRead the full file. Note the language: Russian-dominant → prefer ru.wikipedia.org. English-dominant → prefer en.wikipedia.org.
Identify linkable entities — first occurrence only:
Do NOT link:
[text](url) or [[wikilinks]]Aim for 15–40 entities per long article. Don't overlink.
For each entity, curl the opensearch endpoint:
# Russian Wikipedia
curl -s "https://ru.wikipedia.org/w/api.php?action=opensearch&search=ENCODED_TERM&limit=3&format=json"
# English Wikipedia
curl -s "https://en.wikipedia.org/w/api.php?action=opensearch&search=ENCODED_TERM&limit=3&format=json"
Response format: ["query", ["Title1","Title2",...], ["","",...], ["url1","url2",...]]
URL-encode Cyrillic and special characters. In bash:
python3 -c "import urllib.parse; print(urllib.parse.quote('Джин Шарп'))"
Resolution rules:
action=query&list=search API for better fuzzy matching:
curl -s "https://ru.wikipedia.org/w/api.php?action=query&list=search&srsearch=ENCODED_TERM&srlimit=3&format=json"
To avoid 40 sequential curls, batch into groups. Build a shell script:
#!/bin/bash
# wiki-lookup.sh — run all lookups in parallel
lookup() {
local lang="$1" term="$2"
local encoded=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$term'))")
local result=$(curl -s "https://${lang}.wikipedia.org/w/api.php?action=opensearch&search=${encoded}&limit=1&format=json")
echo "${term}|||${result}"
}
lookup ru "Джин Шарп" &
lookup ru "USAID" &
lookup ru "Freedom House" &
# ... all entities ...
wait
Run it, parse the output, build a mapping: entity → url.
For each confirmed entity→url pair, find the first mention in the article body (not in YAML, not in headings unless it adds clarity, not in code blocks) and replace:
Джин Шарп → [Джин Шарп](https://ru.wikipedia.org/wiki/Джин_Шарп)
Use the edit tool for each replacement. Be precise — match the exact text in context.
Link formatting:
[Джин Шарп](url) or [**Джин Шарп**](url) if already bold[**USAID**](url) — preserve bold inside link[National Endowment for Democracy](url) (NED)After all edits, read the file again and confirm:
> [!note] blocks work fine[**term**](url)авиабаза «Манас» → авиабаза [«Манас»](url) — link the name, not the descriptor**National Endowment for Democracy** (NED) → link the full name, not the abbreviationdevelopment
Structured visual QA: screenshot → batch issues → fix all → verify. Replaces the 300-cycle screenshot→edit death spiral. Optional bishkek review as exit gate. Use when building/polishing UI with browser testing, or when user asks for N iterations/reviews.
development
Find complex code, analyze intent, recommend battle-tested library replacements. Uses radon/eslint for detection, GitHub quality search for alternatives.
research
Research real-world UI patterns from curated galleries (Collect UI, Component Gallery, Mobbin). Use when exploring what exists: dropdowns, accordions, inputs, navigation, cards, modals, etc.
development
Complete UI/UX design system: 50+ styles, 97 palettes, 57 font pairings, composition principles, visual hierarchy, Gestalt, accessibility. Use for: design, build, review, fix UI. Covers React, Next.js, Vue, Svelte, SwiftUI, Flutter, Tailwind, shadcn/ui.