| name | move-content |
| description | Move or rename files in knowledge base with directory governance. Use when user wants to move, relocate, or rename content. Reads RULE.md of both source and target directories. |
Move Content Skill
Generic file move/rename Skill that respects both source and target RULE.md requirements.
When to use this Skill
- User says "move", "relocate", "transfer", "rename"
- User requests reorganization
- User wants to reclassify content to different directory
Workflow
1. Identify Source File
If user provides file path:
- Verify file exists
- Confirm file identity
If user provides topic/title only:
- Search for file using Grep or Glob
- Pattern:
**/*keyword*.md - If multiple matches: present list, ask user to choose
- If no matches: report not found
Search strategies:
- Filename match:
find . -name "*keyword*" - Content match:
grep -r "keyword" . - README.md index: Search README.md files for references
2. Determine Target Location
If user specifies target:
- Parse target path
- Verify target directory exists (or offer to create)
- Confirm target path with user
If user doesn't specify target:
- Analyze content (read source file)
- Scan available directories
- Read RULE.md files to understand purposes
- Recommend target directory based on content
- Ask user for confirmation or alternative
Recommendation logic (similar to add-content):
- Analyze file content
- Read RULE.md of potential target directories
- Match content to directory purposes
- Rank by suitability
- Present top recommendation
3. Read Both RULE.md Files
Read source directory RULE.md:
- Check if moving out is allowed
- Check if any special handling required (e.g., "notify when file moved")
- Understand current file format
Read target directory RULE.md:
- Check if moving in is allowed
- Check file format requirements
- Check naming conventions
- Check if transformation needed
- Understand target directory structure
Compare requirements:
- Source format vs target format
- Source naming vs target naming
- Compatibility check
4. Check Compatibility
Format compatibility:
- Both use markdown → Compatible
- Source has frontmatter, target doesn't require → Compatible (but may want to remove)
- Source plain, target requires frontmatter → Needs transformation
- Different metadata requirements → Needs update
Naming compatibility:
- Source:
topic-name.md - Target requires:
YYYY-MM-DD-topic-name.md - → Needs rename during move
Structure compatibility:
- Source is single file
- Target requires directory structure (file + metadata)
- → Needs structure creation
Identify required transformations:
- Rename (filename format change)
- Format conversion (add/remove frontmatter)
- Structure change (file → directory with multiple files)
- Content adaptation (modify to fit target requirements)
5. User Confirmation
Present move summary:
📦 Move confirmation
Source: [source path]
Target: [target path]
Compatibility check:
✅ Format: Compatible (or ⚠️ Needs transformation)
✅ Naming: Compatible (or ⚠️ Will rename to: [new name])
✅ Structure: Compatible (or ⚠️ Will restructure)
RULE.md policies:
- Source: [policy summary]
- Target: [policy summary]
Transformations needed:
- [List of changes required]
Cross-references:
- [X] files reference this content
Proceed with move?
- Yes (execute move with transformations)
- No (cancel)
- Show me what will change
If transformations needed:
- Explain each transformation clearly
- Show before/after examples
- Get explicit confirmation
6. Execute Move
Basic move (no transformation needed):
mv [source path] [target path]
Move with rename:
mv [source path] [target directory]/[new filename]
Move with transformation:
- Read source file
- Apply transformations:
- Add/remove/modify frontmatter
- Adjust content format
- Update internal references
- Write to target location with new format
- Verify target file created successfully
- Delete source file (only after target verified)
Move with restructure:
- Create target directory structure
- Split/reorganize content per target RULE.md
- Create all required files in target
- Verify all files created successfully
- Delete source file/directory
Preserve metadata (when possible):
- Modification timestamps
- Creation date (in frontmatter if present)
- Author information
- Tags and categories
7. Update Cross-References
Find references to moved file:
grep -r "[old path]" .
grep -r "[old filename]" .
Update strategies:
- Relative paths: Update to new relative path
- Absolute paths: Update to new absolute path
- Title references: No change needed if file title unchanged
Offer to update:
Found references in:
- [file1.md] (line 45)
- [file2.md] (line 12, 89)
Would you like me to update these references?
- Yes, update all
- Yes, but let me review each
- No, I'll update manually
Execute reference updates:
- Use Edit tool to update each file
- Change old path to new path
- Verify updates successful
- Report which files were updated
8. Governance Update
Update source directory README.md:
- Read source README.md
- Remove entry for moved file
- Add to "Recent Changes": "Moved filename.md to [target]"
- Update "Last updated" timestamp
- Save source README.md
Update target directory README.md:
- Read target README.md
- Add entry for moved file (with description)
- Add to "Recent Changes": "Added filename.md from [source]"
- Update "Last updated" timestamp
- Save target README.md
Update parent README.md files if needed:
- If directories changed significance
- If directory now empty/no longer empty
Verify updates:
- Both README.md files valid markdown
- Entry removed from source, added to target
- Timestamps current
9. Report to User
Confirm move complete:
✅ File moved successfully
From: [old path]
To: [new path]
Transformations applied:
- [List of changes]
Cross-references updated:
- [X] files updated
- [List of files]
README.md updated:
- [source directory]/README.md (removed entry)
- [target directory]/README.md (added entry)
Note: [Any important notes, e.g., "Format changed to match target requirements"]
Special Cases
Rename in Same Directory
If user only wants to rename (not move):
User: "Rename transformer-draft to transformer-architecture"
Process:
- Identify source file
- Check RULE.md for naming conventions
- Verify new name follows conventions
- Execute rename:
mv old-name.md new-name.md - Update references to this file
- Update README.md (change entry name)
- Report rename complete
Move Entire Directory
If user wants to move entire directory:
User: "Move the AI research folder to Projects"
Process:
- Identify source directory
- Read source and target RULE.md
- Check all files in directory for compatibility
- Identify all external references
- Present comprehensive summary
- Request confirmation
- Execute directory move:
mv [source dir] [target dir]/ - Update all cross-references
- Update README.md in both locations
- Update parent README.md files
Incompatible Format Requires Manual Intervention
If automatic transformation not possible:
Source: Complex structured data
Target: Requires specific format that can't be auto-converted
Process:
- Detect incompatibility
- Warn user: "Automatic conversion not possible"
- Explain what manual changes needed
- Offer: "I can move the file, but you'll need to manually reformat"
- Or: "I can create target structure and copy content, but you'll need to reorganize"
- User decides next steps
Move with Merging
If target already has file with same name:
User: "Move note.md to Research/"
Research/note.md already exists
Process:
- Detect name conflict
- Read both files
- Options:
- Rename: "note-2.md" or "note-YYYYMMDD.md"
- Merge: Combine contents (if compatible)
- Replace: Overwrite existing (with backup)
- Present options to user
- Execute chosen strategy
Preserve Directory Structure
If moving subdirectory that has its own structure:
Moving: Research/AI/transformers/
Target: Projects/AIResearch/
Process:
- Check if should preserve subdirectory structure
- Option A:
Projects/AIResearch/transformers/(preserve) - Option B:
Projects/AIResearch/(flatten) - Ask user preference
- Execute accordingly
- Update all README.md in hierarchy
Error Handling
Source File Not Found
User: "Move transformer note to Projects"
→ Search for file
→ No matches
→ Report: "I couldn't find transformer note to move"
Target Directory Doesn't Exist
User: "Move file.md to NewCategory/"
NewCategory/ doesn't exist
→ Ask: "NewCategory doesn't exist. Create it?"
→ If yes: create directory, create RULE.md/README.md, then move
→ If no: cancel
RULE.md Forbids Moving Out
Source RULE.md: "Files cannot be moved out of this directory"
→ Warn: "Source RULE.md forbids moving files out"
→ Ask: "Override this rule?"
→ If yes: proceed with warning note
→ If no: cancel
RULE.md Forbids Moving In
Target RULE.md: "Only specific file types allowed"
Source file doesn't match
→ Warn: "Target RULE.md restrictions prevent this move"
→ Explain restrictions
→ Suggest: "Convert file format first or choose different target"
Transformation Fails
Attempting to add required frontmatter
Transformation fails (invalid YAML, etc.)
→ Report error
→ Keep source file intact
→ Don't create partial target
→ Suggest manual review
Cross-Reference Update Fails
Move successful but can't update all references
Some files locked, permission denied, etc.
→ Report: "Move complete, but couldn't update all references"
→ List files that need manual update
→ Provide old and new paths for manual fixing
Integration with Governance
This Skill automatically invokes the governance protocol:
Before move:
- Read both source and target RULE.md
- Validate move is allowed
- Check compatibility
During move:
- Apply required transformations
- Preserve important metadata
- Execute safely (verify target before deleting source)
After move:
- Update both source and target README.md
- Update cross-references
- Verify complete
Examples
Example 1: Simple Move
User: "Move transformer-draft from Research/AI to Projects/"
Skill workflow:
- Finds
Research/AI/transformer-draft.md - Reads Research/AI/RULE.md → Moves allowed
- Reads Projects/RULE.md → Files named
project-name.md, requires frontmatter - Detects: needs frontmatter addition
- Confirms: "Move to Projects/, will add required frontmatter"
- User confirms
- Reads source file
- Adds frontmatter with title, date, status
- Writes to
Projects/transformer-draft.md - Updates cross-references (found 2)
- Updates both README.md files
- Reports: "✅ Moved with frontmatter added"
Example 2: Move with Rename
User: "Move the old transformer note to ReadLater"
Skill workflow:
- Finds
Research/transformer-old.md - Reads Research/RULE.md and ReadLater/RULE.md
- ReadLater requires:
Articles/YYYY/MM/YYYY-MM-DD_title/article.md - Detects: needs complete restructure
- Warns: "Target requires directory structure, not single file"
- Shows transformation:
transformer-old.md→Articles/2025/10/2025-10-28_transformer-old/article.md - User confirms
- Creates directory structure
- Moves and renames file
- Creates metadata.yaml (as ReadLater requires)
- Updates README.md files
- Reports: "✅ Moved and restructured per ReadLater requirements"
Example 3: Directory Move
User: "Move the old-research folder to Archive"
Skill workflow:
- Finds
Research/old-research/(15 files) - Reads Research/RULE.md and Archive/RULE.md
- Checks all 15 files for external references → Found 3 references
- Confirms: "Move old-research/ (15 files) to Archive/? 3 external references found"
- User confirms
- Executes:
mv Research/old-research/ Archive/ - Updates 3 files with broken references
- Updates README.md:
- Research/README.md (removes subdirectory)
- Archive/README.md (adds subdirectory)
- Reports: "✅ Moved 15 files, updated 3 references"
Best Practices
- Check both RULE.md files - Source and target may have different rules
- Verify compatibility - Ensure file can fit in target format
- Transform carefully - Preserve content integrity during format changes
- Update cross-references - Prevent broken links
- Update both README.md - Source (remove) and target (add)
- Verify before deleting source - Ensure target created successfully
- Report transformations clearly - User should know what changed
- Handle errors gracefully - Don't leave partial state
Notes
- This Skill works with any directory structure by reading RULE.md
- Respects both source and target governance rules
- Handles format transformations automatically when possible
- Updates cross-references to prevent broken knowledge base
- Maintains README.md indexes in both locations
- Works in parallel with CLAUDE.md subagents
- Can rename, move, and restructure all in one operation