Skills and Memory
Skills give your agent capabilities. Memory gives it persistence. Together they transform a stateless AI model into a personal assistant that can take actions and remember what happened. In this lesson you will learn how skills and memory work, how to install and create them, and how the agent uses them.
What Are Skills?
Skills are modular plugins that teach the agent how to perform specific tasks. Each skill is a directory containing a SKILL.md file with YAML frontmatter and natural-language instructions.
Here is a minimal skill:
---
name: weather-check
description: Check the current weather for a location
---
When the user asks about the weather, use the weather API tool
to fetch current conditions for the specified location.
Return the temperature, conditions, and a brief forecast.
That is it—a name, a description, and plain-language instructions. The AI model reads these instructions and uses them to decide when and how to invoke the skill's tools.
SKILL.md Format
The SKILL.md file supports several frontmatter fields:
| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier for the skill |
description | Yes | What the skill does (used for skill selection) |
homepage | No | URL to the skill's documentation |
user-invocable | No | Whether users can trigger it directly (default: true) |
disable-model-invocation | No | Prevent the model from triggering it automatically |
command-dispatch | No | CLI command pattern for direct invocation |
command-tool | No | The tool to invoke when the command is dispatched |
metadata | No | Gating rules: required binaries, env vars, OS filters |
The body of the file contains natural-language instructions that the model follows when the skill is activated.
Skill Loading Precedence
When the agent encounters a task, it searches for relevant skills in this order:
- Workspace skills —
<workspace>/skills/(highest priority) - Managed/local skills —
~/.openclaw/skills/ - Bundled skills — 100+ skills included with OpenClaw
Workspace skills override managed skills, which override bundled ones. This lets you customize behavior per project.
Installing Skills from ClawHub
ClawHub is the public skill registry, available at clawhub.com. It works like npm but for agent skills.
# Install a skill
clawhub install google-calendar
# Update all installed skills
clawhub update --all
# Sync skill metadata
clawhub sync --all
# Search for skills
clawhub search "smart home"
ClawHub skills are automatically scanned by VirusTotal for malware, data exfiltration, and prompt injection vulnerabilities. Skills receive a security verdict: approved, warned, or blocked.
There are hundreds of community-contributed skills covering:
- Shell command execution and file management
- Web browser automation
- Calendar and email integration
- Smart home control (lights, thermostats, locks)
- Code generation and repository management
- Database queries
- Social media posting
Skill Discovery vs. Injection
An important design choice in OpenClaw: the agent does not receive every installed skill in every prompt. That would waste context window tokens and confuse the model.
Instead, OpenClaw uses selective injection—it analyzes the user's message and injects only the skills relevant to the current turn. If you ask about the weather, the weather skill is injected. If you ask about your calendar, the calendar skill is injected. Other skills stay dormant.
Memory System
OpenClaw stores all memory as plain text files in your workspace. There are no proprietary databases—everything is human-readable and version-controllable.
Memory Types
| File/Directory | Purpose | Example |
|---|---|---|
MEMORY.md | Long-term memory: facts, preferences, decisions | "User prefers metric units" |
memory/YYYY-MM-DD.md | Daily logs: what happened each day | "Booked dentist appointment at 3pm" |
transcripts/*.jsonl | Raw audit trail: every message, tool call, and result | Full conversation replay |
USER.md | Information about you: bio, work context, style | "Software engineer at Acme Corp" |
SOUL.md | Agent personality and behavioral traits | "Be concise, use technical language" |
How Memory Works
When the agent processes a message, it automatically:
- Reads
MEMORY.mdandUSER.mdfor persistent context - Checks recent daily logs for relevant recent events
- Compacts conversation history if the context window is getting full
- Writes new learnings to
MEMORY.mdwhen it discovers important information - Logs the full exchange to the JSONL transcript
This means your agent remembers that you prefer morning meetings, that your dog's name is Max, and that last Tuesday you asked it to reschedule a call—all without you repeating yourself.
MEMORY.md Example
## User Preferences
- Prefers dark mode in all applications
- Morning person - schedule meetings before noon when possible
- Allergic to peanuts - flag any restaurant recommendations
## Work Context
- Current sprint ends March 1
- Project uses Next.js 16 with Supabase
- Deployment target is Vercel
## Decisions
- 2026-02-10: Chose Anthropic Opus 4.6 as primary model
- 2026-02-12: Set up WhatsApp as primary channel
You can edit MEMORY.md directly in any text editor. The agent will pick up your changes on the next message.
Workspace Configuration Files
Beyond skills and memory, several other plain-text files shape your agent's behavior:
| File | Purpose |
|---|---|
SOUL.md | Deep behavioral traits, personality, and long-term goals |
USER.md | Known information about you |
AGENTS.md | Agent-level configuration and instructions |
TOOLS.md | Environment-specific notes for skills |
HEARTBEAT.md | Routine tasks checked on each heartbeat cycle |
All of these are injected into the system prompt to give the agent persistent context.
Creating a Custom Skill
To create your own skill, make a new directory in your workspace:
mkdir -p ~/.openclaw/skills/daily-standup
Create the SKILL.md file:
---
name: daily-standup
description: Generate a daily standup summary from recent activity
user-invocable: true
---
When invoked, review today's calendar events, recent Git commits,
and open pull requests. Compose a standup update in this format:
**Yesterday**: [completed items]
**Today**: [planned items]
**Blockers**: [any blockers or none]
Keep each section to 2-3 bullet points maximum.
That skill is now available immediately. The next time you ask your agent for a standup summary, it will follow those instructions.
Key Takeaway
Skills are plain Markdown files that teach your agent new capabilities. Memory is a collection of plain text files that give it persistence. ClawHub provides a registry of community skills with built-in security scanning. Everything is stored in files you can read, edit, back up, and version control. In the next lesson, you will learn how to secure your OpenClaw installation against the risks that come with giving an AI agent the ability to execute code.

