sitesnaplisted
Install: claude install-skill hayashiii-ghub/sitesnap
# sitesnap Skill
## Use when
- ユーザーがWebサイトを参考資料・ポートフォリオ素材として保存したい
- sitemap全体をdesktop/mobileで一括収集したい
- 複数URLを同じschemaのarchiveへ保存したい
- 以前失敗したcaptureだけ再取得したい
開発中UIの検証、health check、要素計測、responsive case、任意DOM状態の証拠取得には使わない。その用途は`shimon`。
## Invoke
```bash
sitesnap capture https://example.com/about
sitesnap capture --sitemap https://example.com/sitemap.xml --limit 20
sitesnap capture --input urls.txt --concurrency 3 --min-interval 250
sitesnap retry example.com --wait-ms 1000 --force-visible
sitesnap list
```
stdoutは常にJSON。`--json`は不要だが付けてもよい。進捗���stderr。
## Required loop
1. URL、`--sitemap`、`--input`から入力を1つ選ぶ。
2. localhost/private targetは意図を確認した場合だけ`--allow-private`を付ける。
3. JSONの`success`、`status`、`summary`、`archives[]`を読む。
4. `manifest`と`run_artifact`の絶対パスをユーザーへ返す。
5. 非nullの`run_artifact`があるcapture失敗だけ対象domainを`retry`する。artifactが無い場合やmanifest/schema errorは修復または別`--out`へ分岐する。
## Output semantics
- `complete`: exit 0
- `partial` / `failed`: exit 1。ただしstdout JSONと成功済み成果物は残る
- `manifest.json`: archiveの累積状態
- `runs/latest.json`: 直近runだけの状態
- `index.json`: 正常な`archives[]`と読めない`errors[]`。errorがあれば`list`は非ゼロ終了
- desktop: 1440×900 full-page
- mobile: Playwright iPhone 15 full-page
## Auth
```bash
sitesnap login https://app.example.com/login -o auth.json
sitesnap capture https://app.example.com/dashboard --storage-state auth.json
sitesnap capture https://staging.example.com/ --header "Authorization: Bearer TOKEN"
SITESNAP_HTTP_CREDENTIALS='user:pass' sitesnap capture --sitemap h