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:
96
custom-skills/82-our-gdrive-organizer/README.md
Normal file
96
custom-skills/82-our-gdrive-organizer/README.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# our-gdrive-organizer
|
||||
|
||||
CLI + Claude skill for organizing OurDigital Google Drive folders.
|
||||
|
||||
## Purpose
|
||||
|
||||
Generalize the README-index-refresh pattern (originally built for
|
||||
`02_SEO in Action/`) so it works on any 2nd-level subfolder of the user's
|
||||
Google Drive Stream. Adds:
|
||||
|
||||
- Per-subfolder `README.md` meta files (with AUTO-STRUCTURE blocks)
|
||||
- Proposed filename normalization (`D.intelligence` → `OurDigital`)
|
||||
- Proposed file moves for cluttered roots (screenshots, temp downloads)
|
||||
- Sensitive-folder skip list so client archives are never touched
|
||||
|
||||
## Activation
|
||||
|
||||
- **As a Claude Code skill**: triggered by phrases like "organize the Drive
|
||||
folder", "refresh the index", "/organize", or "/our-gdrive-organizer".
|
||||
- **As a CLI tool**: run `our-gdrive-organize [TARGET]` from any terminal.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
our-gdrive-organizer/
|
||||
├── code/
|
||||
│ ├── SKILL.md # Claude Code skill definition
|
||||
│ └── organizer.py # Main Python CLI (stdlib only)
|
||||
├── desktop/
|
||||
│ └── SKILL.md # Claude Desktop skill definition
|
||||
├── shared/
|
||||
│ └── conventions.md # Canonical naming convention spec
|
||||
├── docs/
|
||||
│ └── CHANGELOG.md
|
||||
└── README.md # ← you are here
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
The repository expects two symlinks:
|
||||
|
||||
```bash
|
||||
# Skill discovery for Claude Code
|
||||
ln -s ~/Project/our-claude-skills/custom-skills/our-gdrive-organizer/code \
|
||||
~/.claude/skills/our-gdrive-organizer
|
||||
|
||||
# CLI on PATH
|
||||
ln -s ~/Project/our-claude-skills/custom-skills/our-gdrive-organizer/code/organizer.py \
|
||||
~/.local/bin/our-gdrive-organize
|
||||
```
|
||||
|
||||
A slash-command alias lives at `~/.claude/commands/organize.md`.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
# Dry-run report (default — never modifies files except writing the README)
|
||||
our-gdrive-organize ~/Library/CloudStorage/GoogleDrive-*/My\ Drive/02_SEO\ in\ Action
|
||||
|
||||
# Apply all proposed renames + moves
|
||||
our-gdrive-organize <TARGET> --apply
|
||||
|
||||
# Only refresh the root README index
|
||||
our-gdrive-organize <TARGET> --scope index
|
||||
|
||||
# Only ensure each top-level subfolder has a README with AUTO block
|
||||
our-gdrive-organize <TARGET> --scope subreadmes
|
||||
|
||||
# Only propose renames (still requires --apply to execute)
|
||||
our-gdrive-organize <TARGET> --scope rename
|
||||
|
||||
# Machine-readable output
|
||||
our-gdrive-organize <TARGET> --json
|
||||
```
|
||||
|
||||
## Conventions
|
||||
|
||||
See `shared/conventions.md` for the full naming and structure spec. The
|
||||
script's rules (`RENAME_RULES`, `MOVE_RULES`, `SENSITIVE_SUBFOLDER_PATTERNS`)
|
||||
in `code/organizer.py` are the source of truth for what's actually enforced;
|
||||
keep them in sync with `conventions.md`.
|
||||
|
||||
## What it never touches
|
||||
|
||||
- Files inside `04_Case Studies/`, `99_Project Archive/`, any `*Archive*`
|
||||
folder, or any folder starting with `진단` (real client material).
|
||||
- The manually-curated Topics / Notes sections of the root README.
|
||||
- Cell content of `.gsheet` / body of `.gdoc` / slides of `.gslides` —
|
||||
filesystem renames only change the local stub filename.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python 3.9+ (uses `from __future__ import annotations`, dataclasses, pathlib)
|
||||
- macOS (paths assume Google Drive Cloud Storage at
|
||||
`~/Library/CloudStorage/GoogleDrive-*/My Drive/`); easily adapted for other
|
||||
OSes by changing the target path.
|
||||
Reference in New Issue
Block a user