| name | Reference File System |
| description | Minimize token usage by referencing files by path instead of loading full content. Only load files when absolutely necessary for the task. |
| when_to_use | Whenever working with files, especially: (1) Design systems and configuration files, (2) Previously created code/components, (3) Documentation and reference materials, (4) Data files that don't need immediate analysis, (5) Any file mentioned in conversation context |
| version | 1.0.0 |
| dependencies | none |
Reference File System - Token Optimization Skill
Core Principle
REFERENCE, DON'T LOAD - Treat file paths as pointers to knowledge, not content to consume.
Critical Rules
Rule 1: Path References Are Sufficient
When user mentions a file or asks to "use" something:
- DON'T automatically load the full file
- DO reference it by path:
/business-memory/design-system/curv-v2.json - ONLY load if you need to read/modify specific content
Example - CORRECT:
User: "Use the CURV design system"
Claude: "I'll reference /business-memory/design-system/curv-v2.json
for the design specifications."
[No file load, 20 tokens used]
Example - INCORRECT:
User: "Use the CURV design system"
Claude: [Loads entire 5KB file]
"I've reviewed your design system..."
[Full content loaded, 1,250 tokens wasted]
Rule 2: Load Only What You Need
If you must read a file:
- Use
viewwithview_rangefor specific sections - Load 10-20 lines at a time maximum
- Never load entire files "just in case"
Example - CORRECT:
view /business-memory/config.json [1-10]
# Only loads first 10 lines
Example - INCORRECT:
view /business-memory/config.json
# Loads entire 500-line file
Rule 3: File Metadata Over Content
Before loading, check file metadata:
- File exists? Use
viewon directory - File size? Estimate token cost
- Can task be done without reading? Do that instead
Rule 4: Reference in Responses
When providing instructions or references:
"Apply styles from /business-memory/design-system/colors.css"
NOT: "Apply these styles: [pastes entire CSS file]"
Common Patterns
Pattern 1: Design System References
User: "Build a dashboard using CURV"
Response: "Creating dashboard with CURV design system
(/business-memory/design-system/curv-v2.json):
- Primary: #9d4edd
- Secondary: #c084fc
- Glassmorphism effects applied"
[NO FILE LOAD - Reference system patterns from memory/previous conversations]
Pattern 2: Configuration Files
User: "Check my database config"
Response: "I'll reference your config at /business-memory/db-config.json"
[Only load if user needs specific values modified]
Pattern 3: Code Components
User: "Update the metric card component"
Response: "I'll modify the component saved at
/business-memory/components/metric-card.jsx"
[Load only the specific component, not entire directory]
Pattern 4: Data Files
User: "Analyze this CSV"
Response: [Load silently, process, save results]
"Analysis complete. Results saved to /mnt/user-data/outputs/analysis.xlsx"
[Don't display data unless requested]
Token Savings Calculator
| Action | Before Skill | After Skill | Savings |
|---|---|---|---|
| Reference design system | 1,250 tokens | 20 tokens | 98% |
| Check config file | 800 tokens | 15 tokens | 98% |
| Use component library | 3,000 tokens | 50 tokens | 98% |
| Reference documentation | 2,000 tokens | 30 tokens | 98% |
File Loading Decision Tree
User mentions file
↓
Do I need to READ the content?
↓ NO → Reference by path, continue
↓ YES
↓
Can I use cached knowledge from previous conversations?
↓ YES → Use cached knowledge, reference path
↓ NO
↓
Can I load just a section?
↓ YES → Use view_range for specific lines
↓ NO → Load minimum necessary, process silently
Exception Cases (When to Load)
- User explicitly requests: "Show me what's in the file"
- Modification required: Need to read before str_replace
- First-time files: Never seen before, need structure understanding
- Validation needed: Must verify file format/content
- Complex operations: Multi-step processes requiring content awareness
Implementation Checklist
Before loading any file, ask yourself:
- Can I reference the path instead?
- Do I already know this file's content from context?
- Can I load just a section?
- Will the user actually need to see this content?
- Is this load absolutely necessary for the task?
If you answered "NO" to the last question, DON'T LOAD.
Integration with Other Skills
This skill works with:
- concise-execution-mode: Reference files, execute silently
- artifact-reference-library: Reference artifact IDs instead of recreating
- data-processing-templates: Load data silently, show results only
- incremental-file-editing: Load minimal sections for surgical edits
Success Metrics
A conversation using this skill effectively should have:
- 70-90% fewer
viewtool calls - File paths mentioned frequently in responses
- Minimal file content displayed in conversation
- Fast task execution without "loading..." overhead
User Communication
When referencing files, be explicit about what you're doing:
- "I'll reference your design system at [path]"
- "Using configuration from [path]"
- "Applying patterns from [path]"
This keeps the user informed without consuming tokens with actual content.
Deployment Path: /mnt/skills/user/reference-file-system/SKILL.md
Restart Required: Yes (restart Claude Desktop after deployment)
Token Impact: 70-90% reduction in file-related token usage