feat(our-gdrive-organizer): add new skill at slot 82, rename old 82 → 92

New Python CLI + dual SKILL.md (Code + Desktop) for organizing Google
Drive folders under OurDigital conventions:

- Refresh root README index (preserves manual Topics/Notes between
  AUTO-STRUCTURE markers)
- Ensure per-subfolder README.md meta files
- Propose filename + folder renames (D.intelligence → OurDigital with
  SEO-context caveat documented in patterns/gotchas.md)
- Propose moves for cluttered files (screenshots, temp downloads)
- Sensitive-folder skip list (04_Case Studies, 99_Project Archive,
  *Archive*, 진단*)
- shared/patterns/ gotcha library: canonical-files, canonical-folders,
  categorization-rules, 12 known gotchas — grows over time as the
  system encounters new edge cases

Slash command: /organize. CLI: ~/.local/bin/our-gdrive-organize.

82-tui-design-template renumbered to 92 (no content change) to free
slot 82. AGENTS.md and CLAUDE.md updated for both moves.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-10 23:02:45 +09:00
parent e1bd799672
commit c750fa7f5e
16 changed files with 1731 additions and 5 deletions

View File

@@ -0,0 +1,153 @@
# OurDigital Drive Folder Conventions
Canonical reference for naming and organization patterns enforced by
`our-gdrive-organizer`. The script's rules live in `code/organizer.py`
keep this document and that code in sync.
For the **gotcha library** (canonical examples + edge cases consulted
during interactive content-based reorganization), see `patterns/`:
- `patterns/canonical-files.md`
- `patterns/canonical-folders.md`
- `patterns/categorization-rules.md`
- `patterns/gotchas.md`
The brand prefix rules (`D.intelligence …``OurDigital …`) now apply to
folder names too, at depth 2+. Top-level folders (e.g., `00_Brand Management/`)
are never auto-renamed.
## Folder naming
### 2nd-level Drive folders (top-level practice areas)
`NN_descriptive name`, where NN is a 2-digit numeric prefix indicating the
"sort bucket":
| Range | Meaning |
|-------|---------|
| 0009 | Brand / core / cross-cutting |
| 1019 | Product or specialty practice |
| 2029 | Data / integrations |
| 9099 | Archive |
Examples observed: `00_OurDigital`, `01_Brand in Action`, `02_SEO in Action`,
`10_OurSEO Agent`, `20_DataForSEO`, `99_Project Archive`.
### 3rd-level subfolders
`NN_descriptive name` again, scoped to the parent. Maturity ordering:
| Range | Meaning |
|-------|---------|
| 0005 | Frameworks / always-on assets |
| 1013 | Productized tooling / specialty modules |
| 20 | Data |
| 90+ | Archive within this practice |
### Client / project subfolders
Inside `01_Active Workspaces/` or `99_Project Archive/`:
`NN_{client name}` — e.g., `00_Jamie Clinic`, `04_오현이혼상속센터`,
`05_1가다`. NN is assigned in chronological / engagement order.
### Reserved / system subfolders
- `screenshots/` — auto-created by the organizer when moving stray screenshot
files out of a parent folder root.
- `_unsorted/` — auto-created by the organizer for incomplete downloads
(`.crdownload`, `.tmp`, `.partial`).
## File naming
### Templates and quotes (in `05_Working Template/`)
`OurDigital-{Service}-OOO {date}.{ext}` or
`OurDigital-{Service}-OOOOOO {modifier}.{ext}`.
`OOO` and `OOOOOO` are the canonical placeholder strings for "client name
goes here" — chosen to be visually obvious and easy to grep for. Use
whichever makes more visual sense in the filename.
Examples:
- `OurDigital-SEO Coaching-OOO 견적-20240612.gsheet`
- `OurDigital-SEO Treatment-OOO 호텔 견적-20240903.gsheet`
- `OurDigital-OOO 호텔 SEO Basic 패키지-20250416.gsheet`
- `OurDigital-Data Access & Management Agreement - 2026.gsheet`
### Brand prefix — parent company / SEO child brand
D.intelligence is the **parent company**; OurDigital is its **SEO-specialty
child brand**. The rebrand-to-OurDigital rule only applies when the asset
is SEO-related.
Rules (filesystem rename only — does not touch cell/body content):
- `D.intelligence Lab-``OurDigital-`
- `D.intelligence` (anywhere) → `OurDigital`
- `D intelligence` (no-dot variant) → `OurDigital`
The organizer applies these to both files and folders at depth 2+. Top-level
folders (`NN_…`) are never auto-renamed.
**Important**: The script doesn't enforce the SEO-context caveat. When you
point the organizer at the whole Drive Stream or a non-SEO folder, it will
rename ALL D.intelligence references — which is wrong outside SEO context.
Only run the organizer on SEO folders (`02_SEO in Action/`,
`00_OurDigital/04_SEO/`, etc.). For non-SEO D.intelligence assets, do not
rename — they belong to the parent company.
See `patterns/gotchas.md` "D.intelligence vs OurDigital" for full guidance.
### Archive client files
Files inside `99_Project Archive/{client}/` should KEEP their original
filenames including real client names. The script skips these folders for
rename/move operations.
### Date stamps
Use `YYYYMMDD` (no separator) when embedding a date in a filename:
`OurDigital-Data Access & Management Agreement - 2026.gsheet`
`OurDigital-SEO Coaching-OOO 견적-20240612.gsheet`
When a date range is needed: `YYYYMMDD-YYYYMMDD`.
### Extensions and stub files
Google Drive Apps formats appear as 180-byte JSON stubs on the local
filesystem with these extensions:
| Drive type | Extension |
|-----------|-----------|
| Docs | `.gdoc` |
| Sheets | `.gsheet` |
| Slides | `.gslides`|
| Forms | `.gform` |
Renaming the stub on the filesystem only changes the local filename — the
backing Google document, its Doc ID, sharing links, and revision history are
untouched. Safe to rename. Cell-level / body-level changes still require
opening the file in the corresponding Google app.
## What the organizer does NOT enforce
- Cell content inside `.gsheet`, body content inside `.gdoc`, slide content
inside `.gslides`, or any binary file (`.pdf`, `.pptx`, `.xlsx`). Those need
manual editing in the source app. Track them with a `TODO.md` if needed
(see `02_SEO in Action/98_Training/TODO.md` for an example pattern).
- Folder maturity ordering — the NN prefix system is a convention, but the
script doesn't reorder or renumber folders.
- Per-folder `README.md` content beyond the AUTO-STRUCTURE block — manual
Topics / Notes sections are preserved.
## Sensitive folders (never auto-modified)
Internal regex list (`SENSITIVE_SUBFOLDER_PATTERNS` in `organizer.py`):
- `^04_Case Studies$`
- `^99_Project Archive$`
- `.*Archive$` (case-insensitive)
- `^진단.*$`
These folders are still indexed (counts appear in the README structure),
but no files inside them are renamed or moved.