# Xiaoyuzhou Transcripts

> Archive authorized Xiaoyuzhou official transcripts as JSON, timestamped Markdown, and SRT, then optionally organize them into traceable semantic notes without rewriting the source text. Use when downloading, resuming, validating, or structuring Xiaoyuzhou transcripts with this repository.

- Skill: `xiangri678/xiaoyuzhou-transcripts` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add xiangri678/xiaoyuzhou-transcripts`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xiangri678/xiaoyuzhou-transcripts/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- License: MIT
- Author: xiangri678 (https://skillmd.com/u/xiangri678)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xiangri678/xiaoyuzhou-transcripts

---


# Xiaoyuzhou Transcripts

[中文说明](SKILL.zh-CN.md) | English

Run commands from this repository's root. Read `README.md` for usage and `AGENTS.md` before changing code. Process only content the user is authorized to access and save.

## Prepare and inspect

```bash
cp episodes.example.json episodes.json
python3 xiaoyuzhou_transcripts.py --init-credentials
python3 xiaoyuzhou_transcripts.py --dry-run
```

The credential prompt does not echo its input. Keep `episodes.json`, credentials, generated transcripts, model configuration, notes, state files, and capture sessions out of version control.

## Archive official transcripts

```bash
python3 xiaoyuzhou_transcripts.py
```

The archive contains:

- `transcripts/json/`: original timestamped segments and the stable source for later processing.
- `transcripts/markdown/`: readable timestamped Markdown.
- `transcripts/srt/`: standard subtitles.
- `transcripts/run-state.json`: resumable status for each episode.

For the first live check, process one episode and stop on error:

```bash
python3 xiaoyuzhou_transcripts.py \
  --eid 0123456789abcdef01234567 \
  --min-delay-seconds 0 \
  --max-delay-seconds 0 \
  --stop-on-error
```

Treat authentication failures as failures. Do not record them as `no_transcript`. Resume completed batches from the state file instead of redownloading successful episodes.

## Create semantic notes

```bash
cp notes-config.example.json notes-config.json
export TRANSCRIPT_NOTES_API_KEY='...'
python3 transcript_notes.py --dry-run
python3 transcript_notes.py
```

The model proposes paragraph and section boundaries. The program reconstructs body text from original transcript segments and writes traceable mappings under `notes/structure/`. Inspect a generated note and its mapping before running a large batch.

## Verify changes

```bash
python3 -m unittest discover -s tests -v
python3 -m py_compile xiaoyuzhou_transcripts.py transcript_notes.py
python3 xiaoyuzhou_transcripts.py --version
python3 transcript_notes.py --version
```

Do not claim a live download succeeded from `--dry-run`; it validates local selection and arguments without network requests.

