Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Cache and use skills from ClawHub and GitHub as if locally installed. Stores remote skills in local cache folder for offline use.
Cache and use skills from ClawHub and GitHub as if locally installed. Stores remote skills in local cache folder for offline use.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
This skill enables you to discover, cache, and use skills directly from remote registries (ClawHub, GitHub, etc.). Skills are stored in ~/.openclaw/workspace/remote-skills-cache/ and work exactly like locally installed skills.
Search across multiple registries: # ClawHub search clawhub search "<query>" --limit <n> # GitHub skill search (via gh CLI) gh search repos --language=markdown "skill openclaw" "<topic>" When to use: User needs a skill for a specific task, wants to explore available skills, or needs to compare options.
Cache any remote skill to work EXACTLY like installed skills: # Cache a skill from ClawHub ./scripts/cache-skill.sh clawhub://security-auditor # Cache from GitHub ./scripts/cache-skill.sh github://owner/repo/branch # Cache from direct URL ./scripts/cache-skill.sh https://raw.githubusercontent.com/.../SKILL.md # List cached skills clawhub list --cache # Use cached skill (works like installed!) # Just trigger it normally - it's in your skills path! Cache Location: ~/.openclaw/workspace/remote-skills-cache/<skill-name>/ Cached skills are symlinked to skills/ folder so they work identically to installed skills.
# Cache multiple skills at once ./scripts/cache-skills-batch.json skills-list.json # Update all cached skills ./scripts/update-cached-skills.sh # Remove cached skill ./scripts/uncache-skill.sh <skill-name> # Show cache stats ./scripts/cache-stats.sh
# Check for updates to cached skills ./scripts/check-updates.sh # Sync specific skill to latest ./scripts/sync-skill.sh <skill-name> # Auto-sync on skill trigger (configurable) # Set in config.json: {"autoSync": true}
Once cached, skills work WITHOUT internet: All scripts available locally References cached alongside SKILL.md Assets downloaded and stored No network calls needed
Trigger: User says "Install/caching <skill-name>" or "Get <skill> from web" # Step 1: Find the skill clawhub search "<skill-name>" --limit 1 # Step 2: Cache it locally python scripts/cache-skill.py <skill-name> <source-url> # Step 3: Verify cache ls ~/.openclaw/workspace/remote-skills-cache/<skill-name>/ # Step 4: Use it (works like installed!) # Just use the skill normally - it auto-triggers from skills/
Trigger: User wants multiple skills cached // skills-to-cache.json { "skills": [ {"name": "security-auditor", "source": "clawhub://security-auditor"}, {"name": "coding-agent", "source": "github://user/repo/main"} ] } ./scripts/batch-cache.sh skills-to-cache.json
Trigger: User says "Which skill is better for X?" Fetch metadata for each skill Check if cached, cache if not Create comparison with SOURCE + CACHE STATUS: | Skill | Version | Source | Cached | Last Sync | |-------|---------|--------|--------|-----------| | skill-a | 1.0.0 | ClawHub | โ | 2h ago | | skill-b | 2.1.0 | GitHub | โ | - | Recommend + offer to cache
Trigger: Heartbeat or user says "Update cached skills" # Check all cached skills for updates ./scripts/check-updates.sh # Update outdated skills ./scripts/update-cached-skills.sh --auto # Update specific skill ./scripts/sync-skill.sh <skill-name>
Trigger: User triggers any cached skill normally Skill is already in skills/ folder (symlinked) Works IDENTICALLY to installed skills No special handling needed All scripts/refs/assets available locally
Fetch a skill's SKILL.md and parse frontmatter without full download. #!/usr/bin/env python3 """Fetch remote skill metadata without full download.""" import requests import yaml import sys def fetch_skill_frontmatter(skill_url): """Fetch only YAML frontmatter from SKILL.md""" resp = requests.get(skill_url, stream=True) content = "" in_frontmatter = False for line in resp.iter_lines(): line = line.decode('utf-8') if line == '---': if not in_frontmatter: in_frontmatter = True continue else: break if in_frontmatter: content += line + '\n' try: return yaml.safe_load(content) except yaml.YAMLError as e: print(f"Parse error: {e}", file=sys.stderr) return None if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: fetch-skill.py <skill-url>") sys.exit(1) metadata = fetch_skill_frontmatter(sys.argv[1]) if metadata: print(f"Name: {metadata.get('name', 'N/A')}") print(f"Description: {metadata.get('description', 'N/A')}") Usage: python scripts/fetch-skill.py "https://raw.githubusercontent.com/repo/SKILL.md"
Compare multiple skills side-by-side. #!/usr/bin/env python3 """Compare multiple remote skills.""" import json import sys def compare_skills(skill_data_list): """Generate comparison table""" print("| Skill | Version | Description | Requirements |") print("|-------|---------|-------------|--------------|") for skill in skill_data_list: name = skill.get('name', 'N/A') version = skill.get('version', 'N/A') desc = skill.get('description', '')[:80] + '...' if len(skill.get('description', '')) > 80 else skill.get('description', 'N/A') reqs = skill.get('requires', 'None') print(f"| {name} | {version} | {desc} | {reqs} |") if __name__ == "__main__": # Read JSON from stdin skills = json.load(sys.stdin) compare_skills(skills)
Known skill registry endpoints: ClawHub Search: https://clawhub.com/api/skills/search?q=<query> Skill detail: https://clawhub.com/api/skills/<name> Raw SKILL.md: https://raw.githubusercontent.com/<owner>/<repo>/SKILL.md GitHub Search API: https://api.github.com/search/code?q=SKILL.md+openclaw Raw file: https://raw.githubusercontent.com/<owner>/<repo>/<branch>/SKILL.md Awesome Lists https://raw.githubusercontent.com/openclaw/awesome-openclaw/main/README.md
Common skill patterns to recognize: Skill Types: Tool wrappers - Provide CLI access to external tools (nmap, sqlmap, etc.) Workflow engines - Multi-step processes (security audits, deployments) Knowledge bases - Domain expertise + reference docs Automation scripts - Repetitive task automation Integration layers - MCP servers, API connectors Metadata Patterns: metadata: openclaw: requires: bins: ["tool-name"] # Required binaries install: - kind: node # or brew, apt, pip package: package-name
User: "Find me a skill for web security scanning" You: 1. clawhub search "web security" --limit 5 2. Present results 3. User picks "security-audit-toolkit" 4. Fetch SKILL.md, read workflows 5. Follow the skill's security audit process
User: "Use the coding agent to review my repo, but don't install it" You: 1. Fetch coding agent SKILL.md from ClawHub 2. Read its code review workflow 3. Execute the workflow steps manually 4. Report findings
User: "Show me all available skills" You: 1. clawhub search "" --limit 100 2. Categorize by keywords 3. Present organized list: - Security (12 skills) - Coding (8 skills) - Automation (6 skills) - etc.
Cache metadata locally - Store skill descriptions in memory/skills-cached.md to avoid repeated fetches Respect rate limits - Don't hammer ClawHub/GitHub APIs Verify skill sources - Only fetch from trusted registries Clean up temp files - Remove /tmp/remote-skill-* after use Track skill usage - Log which remote skills work well for future reference
When this skill activates: "Find a skill for X" "What skills do Y?" "Use <skill-name> without installing" "Compare skills for X" "Show me available skills" "What does <skill> do?" "Is there a skill for X?" Remote Skill Engine - Stream skills, don't install them. ๐โก
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.