screenshots-archivelisted
Install: claude install-skill YuDefine/nuxt-supabase-starter
<!-- 🔒 LOCKED — managed by clade · auto-generated by sync-to-agents; edit source in .claude/ then re-run sync -->
# 截圖歸檔(Screenshots Archive)
把已完成人工檢查的截圖資料夾從 `screenshots/<env>/<topic>/` 搬到 `screenshots/<env>/_archive/YYYY-MM/<topic>/`,讓 `ls screenshots/<env>/`(排除 `_archive/`)= 目前 pending review 清單。
## 觸發時機
- 「歸檔截圖」「sweep screenshots」「清掉舊的截圖資料夾」
- 「change X 的截圖歸檔」(指定)
- `/review-archive` 完成後**自動**呼叫(指定 change 模式)
- `/spectra-archive` 完成後**自動**呼叫(指定 change 模式)
## 輸入
- 指定 change:`/screenshots-archive change <change-name>` → 只搬該 change 對應的 topic(review-archive / spectra-archive 自動觸發走此模式)
- 指定 topic:`/screenshots-archive <topic-name>` → 直接搬該 topic(跳過對齊檢查,需 user 確認)
- 未指定:sweep 所有「在 `docs/manual-review-archive.md` 已收錄」且「`screenshots/<env>/<topic>/` 仍存在頂層」的 topic
## 流程
### Step 1: 列出候選 topic
掃所有 environment(不只 local):
```bash
for env in local staging production; do
[ -d "screenshots/$env" ] || continue
for d in "screenshots/$env"/*/; do
[ -d "$d" ] || continue
name=$(basename "$d")
[ "$name" = "_archive" ] && continue
echo "$env|$name"
done
done
```
### Step 2: 對齊 manual-review-archive
讀取 `docs/manual-review-archive.md`,抽出每個 `## YYYY-MM-DD — \`<change-name>\`` 標題的 change-name 集合。
#### Mode A — 未指定範圍(sweep all aligned)
對 Step 1 的候選:
- candidate.name ∈ archived_changes → **可 sweep**
- candidate.name ∉ archived_changes → **跳過**,記錄原因「未在 manual-review-archive 找到對應 change」
候選有跳過項目時,回報「N 個 topic 已對齊可 sweep / M 個 topic 未對齊跳過」,列出跳過清單,**不**追問是否強制。
####