Skill from Memory
Transform your work into reusable skills. Extract workflows, solutions, and patterns from conversation history or memory files, package them as skills, and publish to GitHub and ClawHub.
Overview
This skill automates the complete workflow:
Extract - Parse conversation history or memory for reusable patterns
Design - Structure as a proper skill with SKILL.md and resources
Create - Generate skill files and scripts
Publish - Push to GitHub and publish to ClawHub
Quick Start
Create Skill from Recent Conversation
# Analyze last conversation and create skill draft
./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill
# Or specify a time range
./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill --since "2026-02-03" --pattern "backup"
Create Skill from Memory File
# Extract from memory markdown
./scripts/extract-from-memory.sh /path/to/memory/2026-02-04.md ./my-new-skill
Full Auto-Create and Publish
# One command: extract, create, and publish
./scripts/create-and-publish.sh \
--source /path/to/session.jsonl \
--skill-name "my-automation" \
--github-repo "user/my-skills" \
--clawhub-slug "my-automation"
Workflow Steps
Step 1: Extract Requirements
Identify from conversation/memory:
Task Pattern: What workflow was solved?
Inputs/Outputs: What goes in, what comes out?
Scripts/Tools: What code was written?
Key Decisions: What choices were made?
Step 2: Design Skill Structure
Decide resource types:
scripts/- For reusable codereferences/- For documentationassets/- For templates/files
Step 3: Create Skill Files
Generate:
SKILL.mdwith frontmatter and instructionsScripts in
scripts/Any reference files
Step 4: Publish
Push to GitHub and publish to ClawHub:
./scripts/publish.sh ./my-skill \
--github "user/repo" \
--clawhub-slug "my-skill" \
--version "1.0.0"
Scripts Reference
extract-from-history.sh
Parse conversation JSONL for skill content.
./scripts/extract-from-history.sh <session.jsonl> <output-dir> [options]
Options:
--since DATE Only extract from DATE onwards
--pattern REGEX Filter messages matching pattern
--tools-only Only extract tool usage patterns
extract-from-memory.sh
Parse memory markdown files.
./scripts/extract-from-memory.sh <memory.md> <output-dir>
create-skill.sh
Generate skill structure from extracted content.
./scripts/create-skill.sh <extracted-content-dir> <skill-name>
Options:
--description "..." Skill description
--type workflow Skill type (workflow|tool|reference)
publish.sh
Complete publish workflow.
./scripts/publish.sh <skill-path> [options]
Options:
--github REPO GitHub repo (owner/repo)
--clawhub-slug ClawHub slug
--version VER Version tag
--skip-github Skip GitHub push
--skip-clawhub Skip ClawHub publish
Example: Converting a Task to Skill
Original Task (from conversation)
User: "帮我设置每天自动备份OpenClaw配置" → Agent creates backup scripts + cron setup
Skill Creation Process
Extract:
bash ./scripts/extract-from-history.sh \ ~/.openclaw/agents/main/sessions/latest.jsonl \ ./extracted-backupDesign:
- Type: Workflow skill
- Scripts: backup.sh, setup-cron.sh, cleanup.sh
- No assets needed
Create:
bash ./scripts/create-skill.sh ./extracted-backup cron-backup \ --description "Automated backup scheduling with cron" \ --type workflowPublish:
bash ./scripts/publish.sh ./cron-backup \ --github "zfanmy/openclaw-skills" \ --clawhub-slug "cron-backup" \ --version "1.0.0"
Best Practices
What Makes a Good Skill
✅ Do:
Single, well-defined purpose
Reusable across contexts
Includes working scripts
Clear usage examples
Progressive disclosure design
❌ Don't:
Too broad or vague
Hardcoded personal paths
Missing error handling
Undocumented assumptions
Extracting from Memory
Look for these patterns:
"帮我写一个脚本..."
"设置定时任务..."
"以后每次都要..."
"这个流程可以复用..."
GitHub Integration
Required setup:
# Configure git
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
# Setup SSH key for GitHub
ssh-keygen -t ed25519 -C "[email protected]"
# Add ~/.ssh/id_ed25519.pub to GitHub Settings → SSH Keys
# Login to ClawHub
clawhub login
Versioning
Follow semantic versioning:
1.0.0- Initial release1.0.1- Bug fix1.1.0- New feature2.0.0- Breaking change
Troubleshooting
Extraction finds nothing
Check session file path
Verify date range with
--sinceTry broader pattern matching
GitHub push fails
Verify SSH key is added to GitHub
Check repo exists and you have access
Ensure git config user.name/email set
ClawHub publish fails
Run
clawhub loginfirstCheck skill validation passes
Verify slug is unique
Skill doesn't work when used
Test scripts manually first
Check for hardcoded paths
Verify all dependencies listed
Run with
--examplesflag when creating
Related Skills
skill-creator - Low-level skill creation utilities
cron-backup - Example output skill (backup automation)
clawhub - ClawHub CLI operations