# Wiki Review

> Use when reviewing an Obsidian wiki with FSRS scheduling, especially when the user wants to sync reviewable notes, ask recall questions, submit ratings, or inspect due items.

- Skill: `smter/wiki-review` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add smter/wiki-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/smter/wiki-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: smter (https://skillmd.com/u/smter)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/smter/wiki-review

---


# Wiki Review

Run review sessions for an Obsidian wiki that uses `内化: true` and `## 内化` sections. The agent is the review teacher. The Python scripts own scanning, scheduling, state, and logs.

## Use

Use this skill when you need to:

- initialize or refresh the review queue
- ask recall questions from due wiki notes
- rate a completed review with FSRS
- keep `review-state.json` and `review-log.jsonl` in sync with the wiki

## Preconditions

- The project has a `wiki/` directory.
- Reviewable notes live at `wiki/<topic>/<article>.md`.
- A reviewable note has YAML frontmatter `内化: true`.
- A reviewable note has a non-empty `## 内化` section.
- Python dependencies from `.agents/skills/wiki-review/requirements.txt` are installed.

## Workflow

1. Run `sync` to initialize or refresh review state.
2. Read returned `issues` and report them; do not invent or fill in missing user internalization content, and do not mark notes reviewable. Only make mechanical YAML repairs when explicitly asked and the fix is unambiguous.
3. Run `due` to collect notes that are ready for review, and read its `issues` and `initialized` output too.
4. Read the note, then ask the user to recall the idea in their own words.
5. Ask follow-up questions until the answer is clear enough to judge.
6. Choose one FSRS rating for the whole note.
7. Run `submit` with the rating and a short answer summary.
8. Report any `due` issues, and continue only with entries in the returned due list.
9. Give concise feedback and continue with the next due note.

The agent asks questions and judges recall quality. The scripts calculate schedule, store state, and write logs. Do not edit FSRS fields directly.

## Commands

Run from the project root:

```powershell
python .agents\skills\wiki-review\scripts\wiki_review.py --wiki-root wiki --project-root . sync
python .agents\skills\wiki-review\scripts\wiki_review.py --wiki-root wiki --project-root . due
python .agents\skills\wiki-review\scripts\wiki_review.py --wiki-root wiki --project-root . submit --article wiki/topic/article.md --rating Good --answer-summary "用户解释了核心概念。"
```

Useful submit ratings:

- `Again`: no reliable recall or a serious misunderstanding
- `Hard`: partial recall with substantial prompting
- `Good`: accurate recall of the main idea
- `Easy`: fluent recall and clear application

## State Files

- `wiki/review-state.json` is the scheduling source of truth.
- `wiki/review-log.jsonl` is append-only review history.
- YAML `review` fields are display summaries for Obsidian, not the canonical scheduler state.

