# Clip Organizer

> Organize dated clip folders created by Web Collector into stable topic folders, generate a local daily digest, and clean up the processed date inbox. Use when Codex needs to整理剪藏文件, 按日期归档收藏, 生成剪藏日报, or 把 web collector 收藏内容分类 for a local Markdown knowledge base.

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

---


# Clip Organizer

Use this skill to turn `剪藏文件/YYYY-MM-DD/` date folders into a maintained local archive.

The skill is designed for a workflow where Web Collector drops raw Markdown files into date-named inbox folders, and Codex needs to classify them, write a digest, move them into long-term category folders, and delete the processed date folder only after the whole batch succeeds.

## Default Workflow

1. Confirm the workspace root.
2. Run `python3 scripts/organize_clips.py --workspace "<workspace>" --latest` for the newest date folder, or replace `--latest` with `--date YYYY-MM-DD` / `--all-pending`.
3. Start with `--dry-run` when validating a new batch or after changing rules.
4. Review the printed plan or generated digest summary.
5. Re-run without `--dry-run` to write:
   - `05-素材收集/clip-digest-YYYYMMDD.md`
   - `剪藏文件/.clip-staging/YYYY-MM-DD-manifest.json`
6. Ensure the date folder is removed only after every file in that batch was handled successfully.

## What The Scripts Do

- `scripts/organize_clips.py`
  Main entrypoint. Loads clips from one or more date folders, classifies them, generates the digest, moves files into category folders, and removes the processed date directory on success.
- `scripts/classify_clip.py`
  Inspect one Markdown clip and print its inferred category, subcategory, scores, and reasons as JSON.
- `scripts/build_digest.py`
  Render a digest Markdown file from a manifest JSON file.
- `scripts/common.py`
  Shared parsing, classification, scoring, digest, and path helpers.

## Default Workspace Contract

This skill defaults to the current writing workspace:

- Workspace: `/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目`
- Input date folders: `剪藏文件/YYYY-MM-DD/*.md`
- Digest output: `05-素材收集/clip-digest-YYYYMMDD.md`
- Manifest cache: `剪藏文件/.clip-staging/YYYY-MM-DD-manifest.json`

Pass `--workspace` explicitly whenever you use the scripts. Do not hardcode assumptions in the calling prompt when a different workspace is intended.

## Classification Rules

Read [taxonomy.md](./references/taxonomy.md) before changing routing rules.

The scripts keep the existing top-level folders and only use these extra subfolders:

- `📖 技术教程/知识管理与记忆`
- `🔧 工具推荐/开发环境与编程工具`
- `📌 其他/待复核异常抓取`

Classification order is fixed:

1. Promotion packs, malformed captures, README-like artifacts, or event material
2. Hands-on case studies, build logs, workflow retrospectives, business cases
3. Tutorials, explainers, architecture posts, official deep dives
4. Tools, products, skills, plugins, platforms, resource lists
5. Industry trend or company/market judgment
6. General ideas, commentary, and topic sparks

## Digest Rules

Read [digest-format.md](./references/digest-format.md) before changing report structure.

The digest currently contains:

- `## 1. 今日创作建议`
- `### 1.1 必须要学习的`
- `### 1.2 必须去实践的`
- `## 2. 📊 当天收藏总览`
- `## 3. 全量收藏清单`

The recommendation sections are creator-oriented. Display fields are intentionally compact and currently prefer frontmatter metadata.

The scripts compute creator-facing scores and labels, including:

- `learning_score`
- `execution_score`
- `topic_fit_score`
- `creative_priority_score`
- `creative_value_label`

Selection behavior:

- `必须要学习的` prefers clips that are good for concept, framework, and judgment intake
- `必须去实践的` prefers clips that are good for tool testing, workflow replay, and case-study reproduction
- full-list duplicates are collapsed to one main display entry

## Commands

```bash
python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --latest
python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --date 2026-04-07
python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --all-pending
python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --date 2026-04-07 --dry-run
```

Inspect a single clip:

```bash
python3 scripts/classify_clip.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --file "/abs/path/to/file.md"
```

Rebuild a digest from an existing manifest:

```bash
python3 scripts/build_digest.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --manifest "/abs/path/to/2026-04-07-manifest.json"
```

## Operational Constraints

- Do not modify `web-collector` itself from this skill.
- Do not delete a date folder if any move, manifest write, or digest write failed.
- Treat duplicate URLs as already archived content. Keep them in the digest with a duplicate marker, but do not create a second long-term copy.
- When a target filename already exists for different content, create a suffixed filename instead of overwriting.
- Prefer `--dry-run` when you are validating rule changes or a newly discovered date folder.

