- Add commands: setup-notes, sync-notes, ingest-notes, teleport-notes - Add commands: validate-notes-config, preview-notes-delegation - Add vault organization commands: analyze-vault, reorganize-notes - Update .withcontextconfig.jsonc with delegation patterns - Archive deprecated with-context.ts plugin
17 KiB
description, agent, subtask
| description | agent | subtask |
|---|---|---|
| Reorganize vault with AI-assisted suggestions | general | true |
Reorganize Notes
This command executes a comprehensive vault reorganization based on an intelligent organization plan. It supports moving and renaming files with automatic link updates, dry-run preview, rollback capability, and safety checks.
Quick Start (Ideal Workflow)
This command generates and executes vault reorganization plans instantly using presets:
// Check for preset and execution flags
const args = '$ARGUMENTS';
const shouldExecute = args.includes('--execute');
const presetMatch = args.match(/--preset[=\s](\w+)/);
const preset = presetMatch ? presetMatch[1] : 'clean';
const minConfMatch = args.match(/--min-confidence[=\s](0\.\d+)/);
const minConfidence = minConfMatch ? parseFloat(minConfMatch[1]) : 0.7;
// Generate organization plan with preset
const planResult = await generate_organization_plan({
preset_id: preset,
min_confidence: minConfidence,
});
// Parse plan from result
const planData = JSON.parse(planResult);
const plan = planData.plan;
// Execute reorganization (dry-run by default for safety)
const result = await reorganize_notes({
plan: plan,
dry_run: !shouldExecute,
update_links: true,
create_backup: true,
min_confidence: minConfidence,
});
return result;
Usage:
/reorganize-notes- Preview with 'clean' preset (dry-run)/reorganize-notes --execute- Execute with 'clean' preset/reorganize-notes --preset minimal- Preview with 'minimal' preset/reorganize-notes --preset docs-as-code --execute- Execute with custom preset/reorganize-notes --min-confidence 0.9- Use higher confidence threshold
Available Presets:
clean(default) - Moves docs to vault, keeps README/LICENSE localminimal- Keep most local, only move ADRs and researchdocs-as-code- Mirrors repository structure in vaultresearch- Heavy vault usage with cross-linking
What This Command Does
The vault reorganizer performs safe, intelligent file operations:
Reorganization Operations
- Move: Relocate files to more appropriate folders
- Rename: Standardize file naming conventions
- Both: Move and rename simultaneously
- Link Updates: Automatically fix all references to moved/renamed files
- Validation: Check for conflicts and potential issues before execution
Safety Features
- Dry-Run Mode: Preview all operations without making changes (enabled by default)
- Confidence Filtering: Only execute high-confidence suggestions
- Automatic Backups: Create backups before modifying files (optional)
- Rollback Support: Undo operations if something goes wrong
- Link Integrity: Ensure no links break during reorganization
- Impact Assessment: Show affected files and potential issues
Workflow
- Analyze → Run
/analyze-vaultto understand current structure - Plan → Create reorganization plan (manual or AI-generated)
- Preview → Run with
dry_run: trueto see what will happen - Execute → Run with
dry_run: falseto apply changes - Verify → Check results and ensure links are intact
Example Output
Dry-Run Preview
=== Vault Reorganization (DRY RUN) ===
Project: my-project
Plan: 12 operations (8 moves, 4 renames)
Confidence Threshold: 0.7
=== Operations to Execute ===
1. MOVE docs/random-notes.md → docs/guides/getting-started.md
Reason: Content is a task-oriented guide
Confidence: 0.92
Impact: 3 files will need link updates
2. RENAME docs/guide.md → docs/guides/api-guide.md
Reason: Standardize naming convention
Confidence: 0.85
Impact: 5 files will need link updates
3. MOVE docs/architecture-notes.md → docs/architecture/decisions/001-database-choice.md
Reason: Fits ADR format
Confidence: 0.88
Impact: 2 files will need link updates
... (9 more operations)
=== Impact Summary ===
Total Operations: 12
Files to Move: 8
Files to Rename: 4
Links to Update: 47 across 23 files
Estimated Duration: 5 seconds
Risky Operations: 0
=== Warnings ===
⚠️ WARNING: File "docs/old-guide.md" is referenced by external projects
Suggestion: Update external references manually after reorganization
✓ All operations passed validation checks
✓ No conflicts detected
✓ Link integrity will be maintained
=== Next Steps ===
To execute this plan, run:
reorganize_notes({ ..., dry_run: false })
IMPORTANT: Dry-run mode is ENABLED by default for safety!
Execution Results
=== Vault Reorganization Complete ===
Project: my-project
Mode: EXECUTION (changes applied)
=== Operations Executed ===
✓ Moved docs/random-notes.md → docs/guides/getting-started.md
Updated 3 links in other files
✓ Renamed docs/guide.md → docs/guides/api-guide.md
Updated 5 links in other files
✓ Moved docs/architecture-notes.md → docs/architecture/decisions/001-database-choice.md
Updated 2 links in other files
... (9 more successful operations)
=== Summary ===
Total Operations: 12
Successful: 12 (100%)
Failed: 0
Links Updated: 47 across 23 files
Duration: 3.2 seconds
✓ All operations completed successfully
✓ All links updated and verified
✓ No broken links detected
Your Task
Execute the reorganization workflow immediately with instant preset-based planning:
The command generates a plan and executes it in one call, with dry-run by default for safety.
See "Quick Start" section above for the complete implementation.
Important Notes:
- Always preview first (dry-run mode is the default)
- Use
--executeflag to apply changes - Backups are created automatically when executing
- Links are updated automatically to prevent breakage
Alternative: Manual Plan (Advanced)
If you need custom organization beyond presets, you can create a manual plan. See full documentation for plan structure format.
Still follow the same workflow: Generate → Preview → Confirm → Execute
Advanced: Create Manual Plan
Based on the analysis, create a reorganization plan manually. The plan structure:
{
suggestions: [
{
type: "move", // or "rename" or "both"
currentPath: "docs/random-file.md",
suggestedPath: "docs/guides/proper-location.md", // for move
suggestedName: "standardized-name.md", // for rename
reason: "Content is a task-oriented guide",
confidence: 0.92, // 0-1 scale
impact: {
affectedFiles: 3,
linksToUpdate: 5,
potentialBrokenLinks: [],
complexity: "low" // or "medium", "high"
},
targetCategory: "guides"
},
// ... more suggestions
],
estimatedImpact: {
filesToMove: 8,
filesToRename: 4,
linksToUpdate: 47,
filesRequiringLinkUpdates: 23,
estimatedDuration: 5, // seconds
hasRiskyOperations: false
},
warnings: [
{
severity: "warning",
filePath: "docs/old-guide.md",
message: "File is referenced by external projects",
suggestion: "Update external references manually"
}
],
summary: "Reorganize 12 files to improve vault structure",
requiresManualReview: false
}
Step 3: Preview & Execute
ALWAYS preview first! Then get user confirmation before executing:
// Preview
const preview = await reorganize_notes({
project_folder: 'my-project',
plan: manualPlan,
dry_run: true, // CRITICAL: Preview first!
update_links: true,
create_backup: true,
min_confidence: 0.7,
});
// Show preview to user, get confirmation
// Execute (only after user confirms)
const result = await reorganize_notes({
project_folder: 'my-project',
plan: manualPlan,
dry_run: false,
update_links: true,
create_backup: true,
min_confidence: 0.7,
});
Safety Requirements
⚠️ CRITICAL SAFETY RULES ⚠️
-
NEVER execute with
dry_run: falsewithout explicit user confirmation! -
ALWAYS run dry-run preview first
-
ALWAYS show user the preview results including:
- Number of operations (moves, renames)
- Files that will be affected
- Links that will be updated
- Any warnings or risks
-
ALWAYS ask user for explicit confirmation:
User Confirmation Template:
"I've previewed the reorganization plan using the [preset_name] preset. Here's what will happen:
Operations:
- Move X files to appropriate folders
- Rename Y files for consistency
- Update Z links across N files
Key Changes: [Show 3-5 most significant operations]
Safety:
- ✓ Backups will be created
- ✓ Links will be automatically updated
- ✓ Rollback available if needed
This operation will modify your vault!
Do you want to proceed with the reorganization? (yes/no)"
Only if user confirms "yes", then execute:
reorganize_notes({
project_folder: 'my-project',
plan: {
/* same plan */
},
dry_run: false, // Execute for real
update_links: true,
create_backup: true,
min_confidence: 0.7,
});
Step 5: Verify Results
After execution, verify the results:
- Show summary of operations
- Confirm all links updated successfully
- Report any failures or warnings
- Suggest running
/analyze-vaultagain to verify improvements
Plan Structure Details
Suggestion Object
Each suggestion must include:
- type:
"move","rename", or"both" - currentPath: Current file path (relative to vault root)
- suggestedPath: New path for move operations (optional)
- suggestedName: New name for rename operations (optional)
- reason: Why this change is suggested (human-readable)
- confidence: Score from 0.0 to 1.0 (higher = more confident)
- impact: Assessment of operation impact (optional but recommended)
- targetCategory: Target category after reorganization (optional)
Impact Assessment
- affectedFiles: How many files reference this file
- linksToUpdate: How many links will need updating
- potentialBrokenLinks: Paths that might break
- complexity:
"low","medium", or"high"
Confidence Scoring
- 0.9-1.0: Very high confidence, safe to auto-execute
- 0.7-0.9: High confidence, review recommended
- 0.5-0.7: Medium confidence, manual review required
- Below 0.5: Low confidence, skip unless manually approved
Use min_confidence parameter to filter operations.
Safety Parameters
dry_run (default: true)
ALWAYS TRUE BY DEFAULT FOR SAFETY!
dry_run: true; // Preview only, no changes (DEFAULT)
dry_run: false; // Execute for real (requires confirmation!)
update_links (default: true)
update_links: true; // Fix all links automatically (recommended)
update_links: false; // Don't update links (may break references)
create_backup (default: true)
create_backup: true; // Create backups before changes (recommended)
create_backup: false; // Skip backups (faster but riskier)
min_confidence (default: 0.7)
min_confidence: 0.7; // Only execute high-confidence operations
min_confidence: 0.5; // Include medium-confidence operations
min_confidence: 0.9; // Only very high-confidence operations
Best Practices
✅ DO:
- Use presets - Start with
generate_organization_planand a preset - Preview first - Always run with
dry_run: truebefore executing - Get confirmation - Show user the preview and wait for approval
- Enable backups - Keep
create_backup: true(default) - Update links - Keep
update_links: true(default) to maintain integrity - Start conservative - Use
min_confidence: 0.8or higher for first run - Test incrementally - Start with a small subset if unsure
❌ DON'T:
- Don't skip dry-run - Never execute without previewing first
- Don't ignore warnings - Review and address all warnings in the plan
- Don't disable backups - Always keep backups enabled unless very confident
- Don't rush execution - Give user time to review preview
- Don't skip link updates - Links will break if you don't update them
- Don't use low confidence - Avoid
min_confidence < 0.7unless you've reviewed manually
Ideal Workflow Summary:
generate_organization_plan (preset)
→ reorganize_notes (dry_run=true)
→ SHOW TO USER + GET CONFIRMATION
→ reorganize_notes (dry_run=false)
Example Usage Scenarios
Scenario 1: Quick Reorganization with Preset (RECOMMENDED)
// Single command generates smart plan
const plan = await generate_organization_plan({
project_folder: 'my-project',
preset_id: 'clean',
min_confidence: 0.8,
});
// Preview
const preview = await reorganize_notes({
project_folder: 'my-project',
plan: plan,
dry_run: true,
});
// [Show to user, get confirmation]
// Execute
const result = await reorganize_notes({
project_folder: 'my-project',
plan: plan,
dry_run: false, // Only after user confirms!
});
Scenario 2: Conservative Reorganization
// Only execute very high-confidence operations
await reorganize_notes({
project_folder: 'my-project',
plan: plan,
dry_run: false,
min_confidence: 0.9, // Very conservative
create_backup: true, // Extra safety
update_links: true,
});
Scenario 3: Targeted Reorganization
// Move specific files to better locations
const plan = {
suggestions: [
{
type: 'move',
currentPath: 'docs/random-notes.md',
suggestedPath: 'docs/guides/getting-started.md',
reason: 'Content is a getting started guide',
confidence: 0.95,
impact: { complexity: 'low' },
},
{
type: 'rename',
currentPath: 'docs/guide.md',
suggestedName: 'api-guide.md',
reason: 'Standardize naming',
confidence: 0.9,
impact: { complexity: 'low' },
},
],
summary: 'Move and rename 2 files',
};
Guidelines for Agents
When running this command:
- ALWAYS follow the workflow:
- Analyze → Plan → Preview → Confirm → Execute → Verify
- NEVER skip dry-run preview:
- Always show user what will happen before executing
- NEVER execute without confirmation:
- Explicitly ask user to confirm before
dry_run: false
- Explicitly ask user to confirm before
- Present clear summaries:
- Show what operations will be performed
- Explain impact and risks
- Highlight warnings
- Do NOT:
- Move or rename files manually
- Update links yourself
- Skip validation steps
- Execute destructive operations without permission
- Your role is to:
- Orchestrate the workflow safely
- Present information clearly
- Protect user from mistakes
- Ensure vault integrity
Safety Reminders
⚠️ CRITICAL SAFETY RULES ⚠️
- Dry-run is DEFAULT:
dry_run: trueunless explicitly set tofalse - Always preview first: Show user dry-run results before executing
- Require confirmation: Never execute with
dry_run: falsewithout asking - Backups recommended: Keep
create_backup: trueunless user explicitly disables - Link integrity: Keep
update_links: trueto prevent broken references - Test with low confidence: Start with
min_confidence: 0.9for first run
What Can Go Wrong?
- Broken links: If
update_links: false, references will break - Lost files: If backups disabled and operation fails mid-way
- Name conflicts: Moving to path that already exists
- External references: Links from outside the vault won't be updated
Common Reorganization Patterns
Pattern 1: Category-Based Organization
Move files to folders by content type:
docs/
guides/ # Task-oriented how-to docs
tutorials/ # Learning-oriented step-by-step
reference/ # Information-oriented API docs
architecture/ # Understanding-oriented design docs
decisions/ # ADRs (Architecture Decision Records)
Pattern 2: Feature-Based Organization
Group by project feature or module:
docs/
auth/ # Authentication docs
database/ # Database docs
api/ # API docs
deployment/ # Deployment docs
Pattern 3: Audience-Based Organization
Organize by reader type:
docs/
users/ # End-user documentation
developers/ # Developer guides
operators/ # Operations/deployment docs
contributors/ # Contribution guides
Error Handling
The tool handles errors gracefully:
- Conflict detection: Prevents overwriting existing files
- Rollback support: Reverts changes if operation fails mid-way
- Partial success: Reports which operations succeeded/failed
- Link validation: Verifies no links broke after reorganization
If errors occur:
- Check the error messages for details
- Review the failed operations list
- Fix conflicts manually if needed
- Re-run with adjusted plan
Related Commands
/analyze-vault- Analyze vault structure before reorganizing/setup-notes- Configure documentation architecture/validate-config- Validate configuration/sync-notes- Sync files after reorganization
Performance Considerations
Large reorganizations may take time:
- Small vaults (< 100 files): Nearly instant
- Medium vaults (100-500 files): Few seconds
- Large vaults (500+ files): 10-30 seconds
- Very large vaults (1000+ files): 30-60 seconds
Link updates are the slowest part. Consider:
- Batch similar operations together
- Use
max_filesin analysis to limit scope - Run during off-hours for very large vaults
The reorganize-notes tool provides safe, intelligent vault reorganization with automatic link updates, dry-run preview, and rollback support to maintain vault integrity.