meeting-summarylisted
Install: claude install-skill s96cax98leo/meeting-harness
# meeting-summary(orchestrator 劇本 / SOP)
一套**可沿用**的會議總結流水線。指向任一會議根目錄即可執行;未來每場會議重複套用。
## 核心能力(本劇本落地)
編排=本 SOP + `meeting-pipeline.js`;多代理=7 個 subagent;溝通=JSON schema + `.pipeline-state.json`;記憶=`vault/術語表.md`(長期)+state(短期);驗證=verifier 閘門;恢復=stage 冪等 + resume;可觀測性=`.pipeline-state.json`+`run.log`+`/workflows`;技能發現=`npx skills find`。
## 輸入
- `會議根目錄`:其下每個子資料夾是一個**場次**,含 `錄音/<場>.m4a`、選配 `錄音/轉文字.txt`、`照片/*.HEIC`。
- harness 根:本專案(含 `bin/`、`config.json`、`vault/`)。
## 前置(preflight)
1. 讀 `config.json`(vaultPath、模型、來源檔命名)。
2. 確認工具:`python3 -c "import mlx_whisper"`、`python3 -c "from ocrmac import ocrmac"`、`command -v pandoc`、`npx skills --help`。缺則先裝(見 README)。
3. **技能路由(find-skill)**:對每個子任務用 `npx skills find <關鍵字>`(transcription / image ocr / obsidian / docx)確認/挑選最適 skill;本專案已內建對應 skill,找不到外部更適者就用內建。
4. 建 `vault/`(若無)與各場 `exports/`;初始化每場 `.pipeline-state.json`。
## 逐場流水線(可用 Workflow 工具跑 `meeting-pipeline.js`,或由主 Claude 依序驅動 subagent)
每場獨立 context,兩路並行後匯流:
```
preflight
├─(A) transcribe-agent # 錄音 → transcript.md
│ └─(選用) diarize # 多講者場(錄音/.diarize 或 MH_DIARIZE=1)→ transcript.speakers.md(senko)
└─(B) slide-ocr-agent # 照片 → .ocr/*.txt, slides.ocr.md, needsVision[]
└─ slide-vision-agent # needsVision → slides.md
↓ (A、B 匯流)
summarizer-agent # transcript(+speakers) + slides + 術語表 → summary.md
│ ★ 若場次有 錄音/.meeting 標記(開會/討論)→ 改用 meeting-notes-agent
│ 產「會議紀錄」:結論/決議・行動項表格(負責人/期限/狀態)・未決・風險