Process File Skill
Generic file processing Skill supporting multiple file formats for parsing and intelligent archiving, fully integrated with the AkashicRecords governance system.
When to use this Skill
- •User says "read", "process"
- •User says "archive", "import"
- •User provides file path for processing
- •User wants to integrate external files into knowledge base
- •User provides email, PDF, Office documents, images, etc.
Workflow
1. Initialization - Read Preferences
Check claude.md:
- •Read current project's claude.md
- •Look for
file-handling-preferencesrelated record - •If path found, read preferences file
If no preferences file exists:
- •Ask user: "This is the first time using process-file skill in this project. Where would you like to create the file handling preferences?"
- •Suggest default location:
file-handling-preferences.mdin project root - •After user confirmation, create file and record location in claude.md
Preferences file structure:
- •Processing pattern records (by file type and content category)
- •Auto processing settings (whether to allow saving without confirmation)
- •Historical processing records
2. File Type Detection
Detect file type: Determine processing method based on file extension:
| Type | Extension | Processing Tool |
|---|---|---|
| .eml | mu view <filepath> | |
markitdown <filepath> | ||
| Word | .docx | markitdown <filepath> |
| PowerPoint | .pptx | markitdown <filepath> |
| Excel | .xlsx | markitdown <filepath> |
| Image | .jpg, .png, .gif, .webp, .bmp | Read tool (language model direct read) |
| Audio | .mp3, .wav, .m4a, .aac, .ogg | Ask user |
| Video | .mp4, .mov, .avi, .webm | Ask user |
Tool availability check:
- •Check if required tools are installed before execution
- •If
munot installed: PromptPlease install maildir-utils: sudo apt install maildir-utils - •If
markitdownnot installed: PromptPlease install markitdown: pip install markitdown
3. Content Extraction
Email (.eml):
mu view <filepath>
Extract: sender, recipient, subject, date, body
PDF/Office documents:
markitdown <filepath>
Convert to markdown format
Images: Use Read tool to directly read image, let language model analyze content:
- •Identify image subject
- •Extract text (if any)
- •Describe image content
Audio/Video:
- •Ask user for suggested processing method
- •Possible options:
- •Record file metadata only
- •Use external tool for transcription
- •Record manual summary
- •Record user's chosen processing method in project claude.md
4. Content Analysis
Analyze content:
- •Identify topics and keywords
- •Determine content type (technical, personal, work, academic, etc.)
- •Extract important information (dates, people, places, events)
Infer user intent:
- •Archive for storage (long-term preservation)
- •Project update (related to existing project)
- •Record memo (personal notes)
- •Data organization (batch processing)
Match against preferences:
- •Check if preferences file has matching patterns
- •If historical records exist, prioritize suggesting same processing method
5. Directory Discovery
Use akashicrecords mechanism:
- •Based on content analysis results, build search query
- •Scan knowledge base directory structure
- •Read each directory's RULE.md to understand purpose
- •Evaluate content-to-directory purpose match
Suggestion logic:
- •Technical document + directory purpose "research" → high match
- •Email + directory purpose "communications" → high match
- •Personal photo + directory purpose "personal life" → high match
- •No clear match → suggest Miscellaneous or ask user
6. User Confirmation
Present analysis results:
## File Analysis Results **File**: [filename] **Type**: [file type] **Content Summary**: [brief summary] **Inferred Intent**: [archive/update/record] **Suggested Location**: [target directory path] **Reason**: [why this location was chosen] **Planned Operation**: - Call add-content skill - Format: [according to RULE.md] - Filename: [suggested filename] Do you approve this operation?
Wait for confirmation:
- •Default requires user approval
- •If
auto_save: truein preferences, can skip confirmation - •User can modify suggested location or cancel
7. Execute
Call corresponding akashicrecords skill:
- •Add new content →
add-contentskill - •Update existing →
update-contentskill
Format according to target RULE.md:
- •Read target directory's RULE.md
- •Follow naming conventions
- •Apply frontmatter format (if required)
8. Update Preferences
Record this processing experience:
### [Date] [File Type] - Content characteristics: [key features] - Target location: [actual storage location] - Processing method: [skill used]
Learning pattern:
- •Accumulate user preferences
- •Prioritize suggesting same method for similar content next time
Multi-File Processing
When user provides multiple files:
Parallel Analysis
- •Launch a subagent for each file
- •Each subagent independently executes Phase 2-5
- •Wait for all subagents to complete
Consolidated Presentation
## Multi-File Processing Analysis Results | # | Filename | Type | Content Summary | Suggested Location | Operation | |---|----------|------|-----------------|-------------------|-----------| | 1 | file1.pdf | PDF | [summary] | Research/ | add-content | | 2 | photo.jpg | Image | [summary] | Personal/ | add-content | | 3 | email.eml | Email | [summary] | Work/ | add-content | Please choose: - Approve all - Confirm individually - Cancel
Batch Execution
- •After user approves all, execute sequentially
- •When user confirms individually, confirm each file separately
Error Handling
Tool Not Installed
Warning: Cannot process .eml file: mu tool not installed Please run: sudo apt install maildir-utils
Unsupported File Format
Warning: Unsupported file format: .xyz How would you like to proceed? 1. Try reading as plain text 2. Record file metadata only 3. Skip this file
Parse Failure
Warning: Unable to parse file content Error: [error message] How would you like to proceed? 1. Retry 2. Enter summary manually 3. Skip this file
Integration with Governance
Before operation:
- •Read preferences file
- •Confirm akashicrecords governance structure exists
During operation:
- •Use akashicrecords skills for actual operations
- •Follow target directory's RULE.md
After operation:
- •Update preferences file
- •akashicrecords skills automatically handle README.md updates
Examples
Example 1: Process PDF Paper
User: "Read ~/Downloads/transformer-paper.pdf"
Workflow:
- •Check preferences → Find historical record "technical paper → Research/Papers/"
- •Detect .pdf → Use markitdown
- •Execute
markitdown ~/Downloads/transformer-paper.pdf - •Analyze content → AI/machine learning topic
- •Match preferences → Matches "technical paper" pattern
- •Suggest Research/Papers/AI/
- •User confirms
- •Call add-content skill
- •Update preferences file
Example 2: Batch Process Emails
User: "Archive these emails: email1.eml email2.eml email3.eml"
Workflow:
- •Detect multiple files → Launch 3 subagents
- •Each subagent processes in parallel:
- •Parse using
mu view - •Analyze sender, subject, content
- •Suggest target location
- •Parse using
- •Consolidate results into list
- •User selects "Approve all"
- •Execute add-content sequentially
- •Update preferences
Example 3: Process Image
User: "Process this photo ~/Photos/vacation.jpg"
Workflow:
- •Detect .jpg → Use Read tool
- •Language model analyzes image content → "Beach vacation photo"
- •Check preferences → Find "travel photos → Personal/Travel/"
- •Suggest Personal/Travel/2025/
- •User confirms
- •Call add-content (convert to descriptive markdown)
- •Update preferences
Best Practices
- •Always check preferences first - Prioritize historical processing patterns
- •Confirm before saving - Default requires user approval
- •Update preferences after success - Accumulate learning user preferences
- •Use parallel processing - Leverage subagents for multiple files
- •Handle errors gracefully - Provide alternatives
- •Integrate with akashicrecords - Use existing skills for operations
Notes
- •Preferences file path is recorded in project claude.md
- •Each project can have different preferences
- •Audio/video processing methods are recorded in claude.md
- •This Skill does not modify files directly, operates through akashicrecords skills