photo-organizer SKILL.md skillA
This file is byte-identical to the first copy the registry indexed. Same content hash, so the same checks give both the same grade.
photo-organizer from skyzhao1223/zspace-cli is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add skyzhao1223/zspace-cli/photo-organizer@git:20261009.a9a41aaPins git:20261009.a9a41aa in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- skyzhao1223/zspace-cli
- Path
skills/photo-organizer/SKILL.md- Versions recorded
- 6
- Latest version
- git:20261009.a9a41aa, committed Oct 9, 2026
- First version recorded
- Oct 8, 2026
- Size
- 24,026 bytes
- Repository stars
- 27
- License
- MIT
Use when 用户想整理 NAS/移动硬盘上的照片视频 — "帮我整理照片库"、"手机备份的照片太乱"、"截图和微信图片按日期归档"、"DCIM/IMG 散图归位"、"连拍太多帮我找出来"、"照片目录名乱七八糟"。只读扫描(scan)找出散图、可从文件名提取日期的截图/微信图/相机原图、连拍组、重复副本、垃圾文件,并给出按 YYYY/YYYY-MM 归档的建议;LLM 出 old→new 计划,用户确认后由 Agent 执行 mv/mkdir。.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Photo Organizer — 照片/视频库正向合规整理
## 概述
**跨 NAS 通用**:扫描脚本跑在**本地挂载路径**上(SMB/NFS 挂载的 NAS 共享、外置硬盘、
本地同步目录都行),纯 stdlib 零依赖,不绑定任何品牌 API。
对照片库做**正向合规扫描**:定义合规结构(年/月或日期_事件)→ 不匹配即报问题。
**写操作不在脚本里** — 扫描出问题后,LLM 生成 `old → new` 归档计划,
经用户确认后由 Agent 执行(挂载盘 `mkdir`/`mv -n`,极空间也可走 `zs` CLI / MCP tool)。
## Prerequisites
```bash
# macOS 挂载 NAS 共享(Finder → 前往 → 连接服务器)
open smb://<NAS_IP>/照片 # 极空间/群晖/威联通/绿联等均支持 SMB
# 挂载后路径形如 /Volumes/照片
python3 --version # ≥3.9 即可,无第三方依赖
# 可选:只有用 --exif 读拍摄日期时才需要(没装也能跑,会退回 mtime)
exiftool -ver # macOS: brew install exiftool
```
## 快速验证
```bash
python3 photo_organizer.py scan --root /Volumes/nas/照片 --sample 200
```
## 命令
| 命令 | 用途 |
|------|------|
| `scan --root PATH` | 正向合规扫描(只读) |
| `scan --root PATH --json` | stdout JSON |
| `scan --root PATH --output /tmp/issues.json` | 写 JSON 文件 |
| `scan --root PATH --exif` | 用 EXIF 拍摄日期定档(可选,见下「拍摄日期来源」) |
| `--max-depth N` / `--sample N` / `--top N` | 深度 / 文件数上限 / 每类显示条数 |
| (同目录 `config.json`) | 可选覆盖层:目录白名单 + 扩展名改判,见下「配置覆盖」。**没有这个文件时行为与旧版逐字节一致** |
期望目录结构:
```
照片/
2024/ ← 年
2024-05/ ← 月(日常照片按月归)
…Read the whole file at its exact version.
How to install
mdr add skyzhao1223/zspace-cli/photo-organizer@sha256:5793155a9a9d2397The line at the top of this page pins the label git:20261009.a9a41aa, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_qpfmj57fbnzifqzc)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 6 versions of this file, between Oct 8, 2026 and Oct 9, 2026, more than one a day.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261009.a9a41aa latest | 2026-10-09 | a9a41aa | 24,026 B | A | view · diff |
| git:20261009.4b3abe8 | 2026-10-09 | 4b3abe8 | 23,996 B | A | view · diff |
| git:20261008.f01b099 | 2026-10-08 | f01b099 | 24,345 B | A | view · diff |
| git:20261008.4542bb9 | 2026-10-08 | 4542bb9 | 13,277 B | A | view · diff |
| git:20261008.aae65c7 | 2026-10-08 | aae65c7 | 8,388 B | A | view · diff |
| git:20261008.a310beb | 2026-10-08 | a310beb | 7,877 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (24026 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
skyzhao1223/zspace-cli · 27 stars · license MIT · pushed 2026-10-09 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_qpfmj57fbnzifqzc GET https://markdownregistry.com/api/v1/resolve?ref=skyzhao1223/zspace-cli/photo-organizer GET https://markdownregistry.com/api/v1/blob/5793155a9a9d2397cbed3fbbb8eb28df12db1fea97da753a682205cd0ab11d74
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from skyzhao1223/zspace-cli
Every file in skyzhao1223/zspace-cli