# wiki-stage-commit

Проверяет страницы, которые LLM написала в _staging/, и переносит принятые в живую вики. Работает только при WIKI_STAGED_WRITES=true.

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

## Что делает

Скилл открывает очередь `_staging/` и показывает, что там лежит: новые страницы, обновления и патчи. Дальше вы решаете по каждой — принять, отклонить или пропустить. Инвентарь берётся не через glob, а командой `obsidian-wiki staging list --json`, потому что она отдаёт хеши `staged_revision` и `live_revision`.

Эти хеши и есть главное. При приёме они передаются в `obsidian-wiki staging promote` с флагами `--expect-staged` и `--expect-live`, поэтому если файл изменился после того, как вы его посмотрели, перенос не пройдёт. CLI вернёт код 9 и `conflict` в stderr. Ничего не переместится. Повторять команду с новыми хешами сразу не стоит — сначала покажите пользователю, что именно поменялось.

Патчи `promote` не принимает: склеить человекочитаемый diff со страницей, у которой мог сдвинуться окружающий текст, — это работа на judgement, а не переименование. Их мержат вручную, потом чистят очередь через `staging discard`. Отклонённые файлы уезжают в `_raw/rejected-<category>-<page>.md`; повторное отклонение той же страницы не затирает первое, а получает суффикс `-2`. Перед началом нужно разрешить конфиг по протоколу из `llm-wiki/SKILL.md` и получить `OBSIDIAN_VAULT_PATH` и `WIKI_STAGED_WRITES`. Если второй не выставлен или равен `false`, скилл просто останавливается — без этой переменной в `.env` он бесполезен.

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

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Ar9av/obsidian-wiki wiki-stage-commit
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add Ar9av/obsidian-wiki --skill wiki-stage-commit -a opencode
```

### Claude.ai

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

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

## Когда брать
- просмотреть очередь `_staging/` перед публикацией страниц
- принять новые страницы пачкой через `--all`
- отклонить всё и вернуть файлы в `_raw/` на ручную правку
- поймать конфликт, когда живая страница изменилась после просмотра
- слить патч в целевую страницу и вычистить его из очереди

## Примеры запросов агенту
- /wiki-stage-commit --list
- /wiki-stage-commit
- /wiki-stage-commit --reject-all

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

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

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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