Skills openclaw-skill-lazy-loader
Dramatically reduce per-session token usage by loading skills and context files only when needed — not at session start. Includes the SKILLS catalog pattern, AGENTS.md lazy loading strategy, and a Python helper that recommends exactly which files to load for any given task. Compatible with all OpenClaw agents. Works alongside Token Optimizer.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/asif2bd/openclaw-skill-lazy-loader" ~/.claude/skills/clawdbot-skills-openclaw-skill-lazy-loader && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/asif2bd/openclaw-skill-lazy-loader" ~/.openclaw/skills/clawdbot-skills-openclaw-skill-lazy-loader && rm -rf "$T"
skills/asif2bd/openclaw-skill-lazy-loader/SKILL.mdOpenClaw Skill Lazy Loader
Stop loading every skill file at session start. Load what you need, when you need it — and cut your token usage by 40–70%.
The Problem
Most OpenClaw agents load their entire skill library at startup:
# AGENTS.md (naive approach) Read ALL of these before starting: - skills/python/SKILL.md - skills/git/SKILL.md - skills/docker/SKILL.md - skills/aws/SKILL.md - skills/browser/SKILL.md ... (20 more)
Each session burns 3,000–15,000 tokens just loading context that may never be used. At scale, this is your biggest cost.
The Solution: Lazy Loading
Instead of loading skills upfront, agents check a SKILLS catalog (a lightweight index) and load individual skill files only when a task requires them.
Before: Load 20 skill files = ~12,000 tokens/session After: Load catalog (300 tokens) + 1–2 relevant skills (~800 tokens) = ~1,100 tokens/session
That's an 89% reduction on context loading alone.
Implementation Guide
Step 1: Create Your SKILLS Catalog
Create
SKILLS.md in your agent workspace — a lightweight index of all available skills:
# Available Skills | Skill | File | Use When | |-------|------|----------| | Python | skills/python/SKILL.md | Writing/debugging Python code | | Git | skills/git/SKILL.md | Git operations, PRs, branches | | Docker | skills/docker/SKILL.md | Containers, images, compose | | Browser | skills/browser/SKILL.md | Web scraping, UI automation | | AWS | skills/aws/SKILL.md | Cloud deployments, S3, Lambda |
This catalog is the ONLY file loaded at session start. ~200–400 tokens instead of 10,000+.
See
SKILLS.md.template for a complete starter template.
Step 2: Update Your AGENTS.md
Replace bulk loading with the catalog pattern:
## Skills At session start: Read SKILLS.md (the index only). When a task needs a skill: Read the specific SKILL.md for that skill. Never load all skills upfront. ### Loading Decision Before loading any skill file: 1. Does the current task need it? (yes → load it, no → skip) 2. Has it already been loaded this session? (yes → skip, no → load once)
See
AGENTS.md.template for the full recommended AGENTS.md skills section.
Step 3: Use the Context Optimizer (Optional)
The included
context_optimizer.py analyzes your task description and recommends which skills to load:
python3 context_optimizer.py recommend "Write a Python script to push to S3" # Output: # Recommended skills to load: # - skills/python/SKILL.md (confidence: high — Python task) # - skills/aws/SKILL.md (confidence: high — S3 mentioned) # - skills/git/SKILL.md (confidence: low — skip unless pushing to GitHub)
Step 4: Apply to Memory Files Too
The same pattern works for memory and context files:
## Memory Loading (AGENTS.md) At session start: Read MEMORY.md (summary only). Load daily files (memory/YYYY-MM-DD.md) only when: - User asks about past work - Task references a specific date or project - Debugging requires historical context
Token Savings Calculator
| Scenario | Before | After | Savings |
|---|---|---|---|
| 5 skills loaded | ~3,000 tokens | ~600 tokens | 80% |
| 10 skills loaded | ~6,500 tokens | ~750 tokens | 88% |
| 20 skills loaded | ~13,000 tokens | ~900 tokens | 93% |
| +Memory files (5) | +4,000 tokens | +400 tokens | 90% |
Estimates based on average SKILL.md size of ~600 tokens. Catalog averages ~150 tokens.
Integration with Token Optimizer
This skill pairs directly with OpenClaw Token Optimizer. Lazy loading handles context loading costs; Token Optimizer handles model routing, heartbeat budgeting, and runtime costs. Together they cover the full token lifecycle.
Install both:
clawhub install openclaw-skill-lazy-loader clawhub install openclaw-token-optimizer
Files in This Skill
| File | Purpose |
|---|---|
| This guide |
| Starter SKILLS catalog template |
| Lazy loading AGENTS.md section |
| CLI helper — recommends skills to load per task |
| ClawHub listing description |
| Security audit and script disclosure |
| File integrity manifest |
Quick Start (5 minutes)
# 1. Install clawhub install openclaw-skill-lazy-loader # 2. Copy templates to your agent workspace cp ~/.openclaw/skills/openclaw-skill-lazy-loader/SKILLS.md.template ~/my-agent/SKILLS.md cp ~/.openclaw/skills/openclaw-skill-lazy-loader/AGENTS.md.template ~/my-agent/AGENTS.lazy.md # 3. Edit SKILLS.md — fill in your actual skills # 4. Merge AGENTS.lazy.md into your AGENTS.md # 5. Test with context_optimizer.py python3 ~/.openclaw/skills/openclaw-skill-lazy-loader/context_optimizer.py recommend "your next task"
By M Asif Rahman (@Asif2BD) · Apache 2.0 · https://clawhub.ai/Asif2BD/openclaw-skill-lazy-loader