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
- Confirm the workspace root.
- Run
python3 scripts/organize_clips.py --workspace "<workspace>" --latest for the newest date folder, or replace --latest with --date YYYY-MM-DD / --all-pending.
- Start with
--dry-run when validating a new batch or after changing rules.
- Review the printed plan or generated digest summary.
- Re-run without
--dry-run to write:
05-素材收集/clip-digest-YYYYMMDD.md
剪藏文件/.clip-staging/YYYY-MM-DD-manifest.json
- 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 before changing routing rules.
The scripts keep the existing top-level folders and only use these extra subfolders:
📖 技术教程/知识管理与记忆
🔧 工具推荐/开发环境与编程工具
📌 其他/待复核异常抓取
Classification order is fixed:
- Promotion packs, malformed captures, README-like artifacts, or event material
- Hands-on case studies, build logs, workflow retrospectives, business cases
- Tutorials, explainers, architecture posts, official deep dives
- Tools, products, skills, plugins, platforms, resource lists
- Industry trend or company/market judgment
- General ideas, commentary, and topic sparks
Digest Rules
Read 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
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:
python3 scripts/classify_clip.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --file "/abs/path/to/file.md"
Rebuild a digest from an existing manifest:
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.
1---2name: clip-organizer3description: 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.4---56# Clip Organizer78Use this skill to turn `剪藏文件/YYYY-MM-DD/` date folders into a maintained local archive.910The 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.1112## Default Workflow13141. Confirm the workspace root.152. Run `python3 scripts/organize_clips.py --workspace "<workspace>" --latest` for the newest date folder, or replace `--latest` with `--date YYYY-MM-DD` / `--all-pending`.163. Start with `--dry-run` when validating a new batch or after changing rules.174. Review the printed plan or generated digest summary.185. Re-run without `--dry-run` to write:19 - `05-素材收集/clip-digest-YYYYMMDD.md`20 - `剪藏文件/.clip-staging/YYYY-MM-DD-manifest.json`216. Ensure the date folder is removed only after every file in that batch was handled successfully.2223## What The Scripts Do2425- `scripts/organize_clips.py`26 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.27- `scripts/classify_clip.py`28 Inspect one Markdown clip and print its inferred category, subcategory, scores, and reasons as JSON.29- `scripts/build_digest.py`30 Render a digest Markdown file from a manifest JSON file.31- `scripts/common.py`32 Shared parsing, classification, scoring, digest, and path helpers.3334## Default Workspace Contract3536This skill defaults to the current writing workspace:3738- Workspace: `/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目`39- Input date folders: `剪藏文件/YYYY-MM-DD/*.md`40- Digest output: `05-素材收集/clip-digest-YYYYMMDD.md`41- Manifest cache: `剪藏文件/.clip-staging/YYYY-MM-DD-manifest.json`4243Pass `--workspace` explicitly whenever you use the scripts. Do not hardcode assumptions in the calling prompt when a different workspace is intended.4445## Classification Rules4647Read [taxonomy.md](./references/taxonomy.md) before changing routing rules.4849The scripts keep the existing top-level folders and only use these extra subfolders:5051- `📖 技术教程/知识管理与记忆`52- `🔧 工具推荐/开发环境与编程工具`53- `📌 其他/待复核异常抓取`5455Classification order is fixed:56571. Promotion packs, malformed captures, README-like artifacts, or event material582. Hands-on case studies, build logs, workflow retrospectives, business cases593. Tutorials, explainers, architecture posts, official deep dives604. Tools, products, skills, plugins, platforms, resource lists615. Industry trend or company/market judgment626. General ideas, commentary, and topic sparks6364## Digest Rules6566Read [digest-format.md](./references/digest-format.md) before changing report structure.6768The digest currently contains:6970- `## 1. 今日创作建议`71- `### 1.1 必须要学习的`72- `### 1.2 必须去实践的`73- `## 2. 📊 当天收藏总览`74- `## 3. 全量收藏清单`7576The recommendation sections are creator-oriented. Display fields are intentionally compact and currently prefer frontmatter metadata.7778The scripts compute creator-facing scores and labels, including:7980- `learning_score`81- `execution_score`82- `topic_fit_score`83- `creative_priority_score`84- `creative_value_label`8586Selection behavior:8788- `必须要学习的` prefers clips that are good for concept, framework, and judgment intake89- `必须去实践的` prefers clips that are good for tool testing, workflow replay, and case-study reproduction90- full-list duplicates are collapsed to one main display entry9192## Commands9394```bash95python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --latest96python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --date 2026-04-0797python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --all-pending98python3 scripts/organize_clips.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --date 2026-04-07 --dry-run99```100101Inspect a single clip:102103```bash104python3 scripts/classify_clip.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --file "/abs/path/to/file.md"105```106107Rebuild a digest from an existing manifest:108109```bash110python3 scripts/build_digest.py --workspace "/Users/vigor/Library/CloudStorage/OneDrive-个人/✒️ 文稿项目" --manifest "/abs/path/to/2026-04-07-manifest.json"111```112113## Operational Constraints114115- Do not modify `web-collector` itself from this skill.116- Do not delete a date folder if any move, manifest write, or digest write failed.117- 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.118- When a target filename already exists for different content, create a suffixed filename instead of overwriting.119- Prefer `--dry-run` when you are validating rule changes or a newly discovered date folder.