| name | organize-folder |
| description | 整理 使用者 指定目錄為「客戶 → 類型」兩層結構,套用 YYYYMMDD-主題說明 命名規則。觸發條件:使用者要求「整理 XX 目錄」「重組這個資料夾」「歸位散落檔案」「目錄太亂幫我分類」並指定路徑。產出:重組後目錄結構 + INDEX.md + RESTRUCTURE_LOG.md + 各分類 README.md。內建客戶機密辨識:含 pem/key/password/token 自動建議搬到 ~/00-機密/,不歸入一般分類。 |
整理目錄結構 Skill
把指定目錄重組為 使用者 偏好的「客戶 → 類型」兩層分類,並統一命名規則。
何時用此 Skill
使用者出現下列情境之一即啟用:
- 「整理 /path 這個目錄」「重組 ~/foo」「目錄太亂幫我分類」
- 「散落單檔需要歸位」「找不到東西要建索引」
- 「依客戶/類型分資料夾」
- 已整理過某目錄後,要對新加入的子目錄套同樣規則
不適用:
- 純粹搬一兩個檔案(直接 mv 即可,不需要走整套流程)
- 整理程式碼倉庫(用 git/重構工具)
- 整理
.config/、.cache/、.git/、.obsidian/、.claude/ 等系統/應用設定(一律不動)
核心規則(從 使用者 memory 提煉)
1. 兩層結構:客戶 → 類型
頂層按客戶/專案:
00-共用規範API/ ← 跨客戶共用
01-客戶A/ ← 進行中客戶(編號 01~03)
02-客戶B/
03-客戶C/
04-內部分享/ ← 內部教育訓練
99-archive/ ← 已驗收 / 封存
每個客戶內按類型:
01-會議/ ← 會議紀錄、會議簡報、釋出文件
02-規劃/ ← 需求、Action Items、PRD、project-status、Checkpoint
03-規範/ ← API、採購規範、Layout、Alarm Table、Error Code
04-郵件/ ← 內部信件、外部回信
05-週報/ ← 週報 pptx、里程事項表、Daily Tracking
06-技術文件/ ← 測試紀錄、流程圖、規格、密碼(密碼建議轉 ~/00-機密/)
2. 子資料夾命名:YYYYMMDD-主題說明
標準:20260401-需求討論會議/、20260330-Action-Items與軟體工作項目/
例外保留原名:
- 純功能:
Server/, CP2/, 採購規範書/, drawio/, vendor-x/
- 純子分類:
outputs/, ux/, analysis/
避免:純日期沒主題、純主題沒日期、模糊字(tmp/projects)、冗餘字(在已分類下重複前綴)
3. 機密自動辨識
掃描時若檔名/副檔名命中下列模式,不歸入一般分類,提示搬到 ~/00-機密/:
| 模式 | 對應 ~/00-機密/ 子目錄 |
|---|
*.pem, *.key, id_*, *_rsa, *_ed25519, *_dsa | 按客戶分 |
*password*, *-pw*, *-pwd* | 按客戶分 |
*token*, *api_key*, *apikey* | tokens-apikey/ |
login_*.sh, *-credentials*, *-auth* | 按客戶分 |
權限規則:目錄 700、檔案 600、SSH 私鑰 / pem 400。
4. 封存規則
進 99-archive/ 的判斷:
- 客戶專案已驗收完成(如 F14P5 電量分析)
- 半年以上沒新進度(如 2025-12 的提案)
- 完成單、確認單、結案文件
- 廢棄草稿、雙副檔名修正前的舊檔
標準流程
Step 1 — 掃描現況
ls -la <目錄>
du -sh <目錄>/*/ | sort -hr | head -20
find <目錄> -maxdepth 1 -type f \( -name "*.pdf" -o -name "*.md" -o -name "*.docx" -o -name "*.xlsx" -o -name "*.pptx" \)
特別點出:
- 散落單檔(頂層 file count)
- 大檔目錄
- 命名混亂、重複目錄
- 客戶名稱重複(如
aws/ vs .aws/)
Step 2 — 提案結構
用 markdown 表格列出:
用 AskUserQuestion 確認 方向(不問細節):
- 要不要實體搬移 / 只建索引
- 是否要建立 archive
- 機密檔案處理方式
Step 3 — 建立新結構
mkdir -p <目錄>/00-共用 <目錄>/01-... <目錄>/99-archive
Step 4 — 搬移檔案
用 mv 不用 cp(同檔案系統 atomic 且快)。每搬一批 echo "[N] xxx" 標記進度。
mv -v <src> <dst>
機密檔搬到 ~/00-機密/ 對應子目錄並 chmod 600 / chmod 400。
Step 5 — 留紀錄
每個分類資料夾寫 README.md(內容、規則)。頂層寫:
INDEX.md — 整體分類圖 + 快速查詢路徑
RESTRUCTURE_LOG.md — 完整搬移 mapping,未來可回溯
格式範本:
# INDEX.md
## 目錄分類規則
| 編號目錄 | 用途 |
| --- | --- |
| 00-... | ... |
...
## 快速查詢路徑
- 找 XXX → `01-客戶/專案X/02-規劃/...`
...
## 命名規則
- 子資料夾統一格式:YYYYMMDD-主題說明
...
Step 6 — 清空殼
rmdir <已搬空的舊目錄>
Step 7 — 驗證
find <目錄> -mindepth 2 -maxdepth 4 -type d | sort
列給使用者看,確認結構正確。
Step 8 — 二次審查(重要)
整理完成後 主動掃 一次找放錯位置的:
- 跨客戶誤放(客戶A 規範跑到 客戶B/)
- 同系列散落(追趕計畫 v1 跟 v1.1 分在兩處)
- 性質不符(測試紀錄混在週報)
- 重複檔(驗收單同檔在多處)
- 雜訊(
.venv/、CLAUDE.md.md 雙副檔名)
用 Tier 1/Tier 2 分級給使用者選,讓他決定要不要修。
不動清單
整個過程不要動:
.git/, .obsidian/, .claude/, .venv/, .cache/, .config/, .ssh/, .gnupg/
- 各子目錄內的
CLAUDE.md、.claude/settings.local.json(路徑相對於該子專案根,仍正確)
- 已是獨立 git 專案的客戶資料夾(保留
.git/ 與原內部結構,只改外層名稱)
常見錯誤
- 誤判類型:CP2 = Checkpoint 2 是規劃里程碑,不是技術文件。詳見 memory
cp2-checkpoint。
- 過度封存:5 月初的內部分享不算 archive,「半年以上沒進度」才算
- 改名破壞引用:各子目錄
.claude/settings.local.json 若用絕對路徑引用上層檔案會失效。若 grep 到絕對路徑要警告使用者。
- 動到客戶獨立 git 專案:如
2026-客戶B/ 有 .git/,內部結構不能重組,只能改外層名稱
- 機密留在分類目錄:密碼/key/token 一律進
~/00-機密/,不留在 06-技術文件/ 內
範例:成功整理後的長相
~/2026-projects/
├── INDEX.md
├── RESTRUCTURE_LOG.md
├── 00-共用規範API/
│ ├── README.md
│ ├── api/
│ └── SP/
├── 01-客戶A/
│ ├── README.md
│ ├── 專案X/
│ │ ├── README.md
│ │ ├── 01-會議/
│ │ │ ├── 20260401-需求討論會議/
│ │ │ ├── 20260417-滿充保養/
│ │ │ └── WCS交握協定會議與釋出/
│ │ │ ├── 20260305-WCS會議-v1.0.3/
│ │ │ ├── 20260306-WCS交握-v1.0.4/
│ │ │ └── ...
│ │ ├── 02-規劃/
│ │ │ ├── CP2/
│ │ │ ├── 20260330-Action-Items與軟體工作項目/
│ │ │ └── ...
│ │ ├── 03-規範/
│ │ ├── 04-郵件/
│ │ ├── 05-週報/
│ │ └── 06-技術文件/
│ └── 專案Y/
├── 02-客戶B/ # 保留原 .git,僅改名
├── 04-內部分享/
└── 99-archive/
相關 memory
file-organization-prefs — 客戶 → 類型 結構偏好
directory-naming-yyyymmdd — 命名規則
restructure-workflow — 標準搬移流程
secrets-dir-00 — 機密集中地
cp2-checkpoint — CP2 性質
workdirs-main — 已整理 vs 待整理目錄清單