clipsmith-xhslisted
Install: claude install-skill OctopusGarage/clipsmith
# clipsmith-xhs
> **MANDATORY — load `references/plan.md` before any browser or extraction action begins.**
## ⚠️ NEVER WRITE YOUR OWN SCRIPT
**The download logic is fully implemented. Always invoke the existing script — do NOT write a new one.**
```bash
cd <clipsmith-repo>/skills/clipsmith-xhs
npx tsx scripts/run.ts \
--post_url "<url>" \
--output_dir "$HOME/Downloads/xhs"
```
The sections below (carousel logic, DOM extraction, anti-detection) are **implementation documentation for the script itself**, not instructions for you to re-implement. If the script doesn't exist or can't run, report the error — never substitute with hand-written Playwright code.
## Clipsmith Bundle Normalization
The copied downloader produces a raw post folder with `post.md`, downloaded
images, default `ocr.md` for post images, optional video, and optional comments.
It does not generate a summary by default. Before finalizing a Clipsmith capture
job, convert the raw folder into a bundle with the shared normalizer:
```bash
cd <clipsmith-repo>
uv run clipsmith normalize raw xhs "<raw_dir>" "<bundle_dir>" \
--source-url "<original_url>" \
--canonical-url "<canonical_url>" \
--title "<title>" \
--author "<author>" \
--captured-at "<iso8601_time>" \
--json
uv run clipsmith validate-bundle "<bundle_dir>" --json
```
The normalizer keeps `post.md`, creates or copies `summary.md`, preserves
`ocr.md`/`ocr.txt` as `kind: "ocr-text"` when OCR ran, and writes
`capture.json`. It intention