# wiki-lint

Прогоняет детерминированную проверку Obsidian-вики: битые ссылки, страницы-сироты, пробелы во frontmatter. Ничего не правит — только показывает.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 460 установок · ★ 15830
- Автор: AgriciDaniel
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/AgriciDaniel/claude-obsidian/tree/HEAD/skills/wiki-lint/SKILL.md
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/skills/agricidaniel-wiki-lint

## Что делает

Скилл запускает портируемый движок линта из установленного продукта. Он читает состояние хранилища и выдаёт отчёт: мёртвые и неоднозначные ссылки, страницы-сироты, пропущенный обязательный frontmatter (включая `title`), пустые секции, устаревшие записи индекса, нарушения контракта реестра источников и утверждений. Семантику и противоречия в тексте он не анализирует — не приписывайте ему этого.

Парсер понимает wikilinks и вставки Obsidian, ссылки Markdown, алиасы, фрагменты заголовков и блоков, экранированные алиасы и блоки кода. Каталоги с точкой в начале пропускаются, как в индексаторе Obsidian. Разрешение ссылок учитывает `.gitignore` внутри хранилища без вызова `git`: если ссылка неоднозначна между страницей и игнорируемым файлом вроде артефакта сборки, кандидат отбрасывается. Флаг `--exclude GLOB` повторяемый и выводит путь из сканирования страниц, ссылок, сирот, frontmatter, пустых секций и индекса.

Перед запуском нужен Python 3 и путь к установленному продукту: движок лежит в `scripts/claude-obsidian.py` и вызывается как `python3 "$CORE" lint --vault "$VAULT"`. Флаг `--strict` даёт ненулевой код возврата при находках — это для автоматизации, команда всё равно остаётся read-only. Починка — отдельная операция: сначала перечитайте цели и запишите их SHA-256, соберите один пакет правок с новым operation ID, покажите изменённые пути и применяйте только после отдельного просмотра. Автофикс линта не делает и Git не коммитит.

## Требования
- Работает с: Obsidian

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add AgriciDaniel/claude-obsidian --skill wiki-lint -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/wiki-lint/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/wiki-lint/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add AgriciDaniel/claude-obsidian --skill wiki-lint -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/wiki-lint/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add AgriciDaniel/claude-obsidian --skill wiki-lint -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/wiki-lint/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install AgriciDaniel/claude-obsidian wiki-lint
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/wiki-lint/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add AgriciDaniel/claude-obsidian --skill wiki-lint -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/AgriciDaniel/claude-obsidian --path skills/wiki-lint
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/wiki-lint/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add AgriciDaniel/claude-obsidian --skill wiki-lint -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/AgriciDaniel/claude-obsidian/tree/HEAD/skills/wiki-lint/SKILL.md

## Когда брать
- найти битые ссылки в хранилище Obsidian
- вычислить страницы-сироты без входящих ссылок
- проверить обязательные поля frontmatter, включая `title`
- отловить пустые секции и устаревшие записи индекса
- проверить контракт реестра источников и утверждений

## Примеры запросов агенту
- прогони wiki-lint по моему хранилищу Obsidian
- проверь здоровье вики и покажи сирот и мёртвые ссылки
- запусти lint с `--exclude "wiki/scratchpad/*"`

## Похожие
- [wiki-ingest](https://affpapa.org/nevibecode/skills/wiki-ingest.md) — скилл · 3600 установок
- [wiki-capture](https://affpapa.org/nevibecode/skills/wiki-capture.md) — скилл · 2800 установок
- [llm-wiki](https://affpapa.org/nevibecode/plugins/llm-wiki.md) — плагин · ★ 28733
- [second-brain](https://affpapa.org/nevibecode/skills/coreyhaines31-second-brain.md) — скилл · 355 установок
- [li](https://affpapa.org/nevibecode/skills/li.md) — скилл · 652 установки
- [second-brain-lint](https://affpapa.org/nevibecode/skills/second-brain-lint.md) — скилл · 2500 установок

## Другие версии с тем же именем
- [wiki-lint · ar9av](https://affpapa.org/nevibecode/skills/wiki-lint.md) — 3500 установок

Из того же набора: [agricidaniel/claude-obsidian](https://affpapa.org/nevibecode/by/agricidaniel/claude-obsidian.md) — 11 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
