Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Organize the shared notes directory when it becomes hard to navigate. Restructure within research/ and experiments/, deduplicate, update index.md.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 104% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 242% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 16% | 0% |
Restructure the shared notes directory so every agent can find what they need quickly.
For a complete before/after walkthrough on a realistic messy notes/ tree — including the dedup pass, naming fixes, subdirectory creation, link repair, and audit-log entry — see references/worked-example.md. Read it once before your first reorganization; it makes the abstract steps below concrete.
For recovery procedures and judgment calls (move script aborted partway, false-positive duplicates, files that look misplaced in _synthesis/, contradicting _open-questions.md, races between agents…), see references/edge-cases.md.
research/ or experiments/notes/
├── index.md ← table of contents (research + experiments only)
├── raw/ ← immutable sources (DON'T touch)
├── research/ ← deep-research findings (organize within)
│ ├── <topic>/ ← group by topic or theme
│ └── ...
├── experiments/ ← eval reflections and results (organize within)
│ ├── <approach>/ ← group by approach or technique
│ └── ...
├── _synthesis/ ← consolidate owns this (DON'T touch)
├── _connections.md ← consolidate owns this
├── _open-questions.md
└── _organization-log.md ← append-only log of what you changedGet the current state:
bashbash .coral/public/skills/organize-files/scripts/audit.sh
Or manually: ls -R {shared_dir}/notes/ and count files per directory.
Also check for content-level issues:
_open-questions.md.index.md. Add them.Write out your target structure before moving anything. Organize within research/ and experiments/ — add subdirectories by topic when a dir has 5+ files:
research/
├── algorithms/ (3+ notes)
├── optimization/ (3+ notes)
└── ...
experiments/
├── optimization/ (3+ notes)
├── debugging/ (3+ notes)
└── ...Rules:
experiments/optimization/learning-rate.md is the limitalgorithms/ not agent1-work/raw/ — immutable source material_synthesis/, _connections.md, _open-questions.md — owned by consolidateresearch/_coverage.md — the research coverage ledger, owned by the research team (the _ prefix already keeps the index/dedup/link scripts off it)Find near-duplicates:
bashpython .coral/public/skills/organize-files/scripts/find_duplicates.py .coral/public/notes --threshold 0.5
For pairs above the threshold where the verdict is not immediately obvious from a quick read — same topic vs. different angle vs. different topic with shared boilerplate vs. genuinely contradicting — spawn the Dedup Judge subagent. It reads both notes blinded (no author / timestamp / length metadata) and returns a structured verdict (same-topic-merge / different-angle-fold / contradicting-do-not-merge / keep-both-rename) with concrete merge or rename instructions. See agents/dedup-judge.md. Use it especially when:
For obvious cases — verbatim duplicates, or clearly different topics that shared a paragraph — just decide directly.
When merging confirmed duplicates, preserve provenance from both notes — never just pick one and discard:
## References lists (de-duplicated by URL or raw/ filename). Losing a citation loses an audit trail that an agent may need months later.tags and aliases rather than picking one set. Both were correct in their original context.Move originals to _archive/ so the merge is reversible.
When two notes contradict each other, don't merge:
_open-questions.md (existing rule).contradictedBy: [other-note-slug] into each note's frontmatter so future readers see the conflict at the note level — _open-questions.md collects them, but agents reading the note directly should see the warning without a separate lookup.Use the move script for safe moves with frontmatter tracking:
bashpython .coral/public/skills/organize-files/scripts/move_note.py SOURCE DEST
Naming: kebab-case-like-this.md, topic first, no agent IDs, no bare dates, under 60 chars.
Regenerate index.md:
bashpython .coral/public/skills/organize-files/scripts/generate_index.py .coral/public/notes
The index should only list research/ and experiments/ entries — not raw/.
Then resolve cross-links — moves and renames break any [[old-slug]] references in note bodies:
bashpython .coral/public/skills/organize-files/scripts/resolve_links.py .coral/public/notes --dry-run # review the diff, then: python .coral/public/skills/organize-files/scripts/resolve_links.py .coral/public/notes
The resolver walks every note, scans the body for plain-text mentions of every other note's title, and wraps them as [[slug|Title]]. It skips text already inside wikilinks, citation markers, code blocks, and inline code. Run this after moves and renames, not before — the resolver needs final paths.
Append a summary to _organization-log.md: what you moved, merged, or renamed, and why.
Other measured skills in the registry, with their headline benchmark lift.