An OpenClaw AI agent without skills can only talk about what it would do.
Skills are what let it do the work, whether that is checking a stock price, extracting data from an invoice, or posting a daily summary to Slack.
Without one, the agent has nothing to act on.
The good news is that building your first skill is far simpler than it sounds.
You do not need an SDK, a compiler, or any special runtime. A skill is just a folder with one required file inside it.
This guide walks you through how to create your first OpenClaw skill from scratch, testing it, and even letting OpenClaw build one for you.
By the end, you will have a working stock price lookup skill, a clear mental model for building any other one, and a second, faster method for when you would rather describe the skill than write every line yourself.
What You Need Before You Start
Make sure OpenClaw is already installed and running on your machine or VPS before you begin.
You will also want a code editor such as VS Code, Cursor, or Windsurf, since you will be creating and editing plain text files.
It also helps to set a dedicated workspace folder so every skill and file OpenClaw creates lands in one place you control. Run this command to set it:
openclaw config set agents.defaults.workspace /path/to/your/folder
Restart the gateway afterward with openclaw gateway restart so the change takes effect.
This one step saves a lot of confusion later.
Every file, script, and skill OpenClaw creates from that point forward lands inside the folder you chose, giving you full visibility into what the agent is building and full approval over changes before anything runs.
Step 1: Create the Skill Folder
Inside your workspace, create a folder called skills if one does not already exist. Then, create a new folder inside it named after the skill you are building.
For this walkthrough, we will build a simple stock price lookup skill, so the folder would be named stock-price.
Every skill needs exactly one required file inside its folder: SKILL.md. That single file is what makes a folder a skill in the eyes of OpenClaw.
OpenClaw loads skills from three possible locations, and it checks them in order of priority:
- Workspace folder first
- Shared managed skills folder
- The bundled skills that ship with OpenClaw itself.
If two skills share the same name, whichever one sits highest on that list wins, so your workspace version always takes priority.
Step 2: Write the SKILL.md Frontmatter
Open your code editor and create SKILL.md inside the new folder.
Start the file with YAML frontmatter that gives OpenClaw a name and description to match against your requests.
— name: stock-price description: Look up the current stock price for a given ticker symbol. —
The description carries more weight than most people expect.
OpenClaw matches your chat requests against these descriptions to decide which skill applies, so write it the way a user would genuinely phrase the request, not as a vague marketing copy.
Step 3: Write the Instructions
Below the frontmatter, add plain-English instructions describing what the skill does and how to run it.
Treat this section like a checklist you would hand to a tired engineer at 3 a.m., not a paragraph of prose.
# Stock Price Lookup ## What it does: Fetches the current price for a stock ticker—# # Workflow
- Accept a ticker symbol from the user.
- Run scripts/tools.py with the symbol as an argument.
- Return the price in plain language.
## Failure handling: If the symbol is invalid, tell the user clearly and ask for the correct ticker.
Deterministic, ordered steps like these give the agent a repeatable path to follow instead of improvising a new approach every time.
Resist the urge to write this section like marketing copy.
Vague lines such as this skill helps with stocks give the model very little to work with.
Specific, numbered steps with clear inputs and outputs are what make a skill reliable across repeated use, not just the first time you test it.
Step 4: Add a Script If You Need One
Some skills are pure instructions, but others need working code behind them.
Create a scripts folder inside your skill directory and add a file such as tools.py that does the heavy lifting, in this case fetching a live price from an API.
Keep the execution logic described in SKILL.md and the repetitive commands in the script itself.
This separation makes the skill easier to read, update, and debug later.
You can place the script anywhere on your machine as long as it stays executable, but keeping it inside a scripts folder alongside SKILL.md keeps the whole skill self-contained and easy to move or share later.
Step 5: Validate and Test the Skill
Go back to your terminal and run:
- openclaw skills list
- Your new skill should appear in the list. If it does not, double check that SKILL.md is spelled correctly and that the frontmatter is valid YAML.
Once it shows up, open the chat interface and ask a question that should trigger it, such as what is the stock price of Google.
Watch the agent select and run your skill, then confirm the returned answer is correct before you trust it with anything more complex.
Treat this validation step the same way you would treat a small software release.
Run a narrow test task first, check that the expected tool gets called, then try at least one edge case, such as an invalid ticker symbol, to confirm the skill fails safely instead of guessing at an answer.
Step 6: Let OpenClaw Build the Skill For You
There is a second, faster path worth knowing.
Instead of writing every file by hand, you can describe the skill you want in chat and ask OpenClaw to create it directly.
Give it the API details or the workflow you want automated, tell it to add this as a skill if it does not exist, and the agent will generate the folder, the SKILL.md file, and any supporting script on its own.
This approach works well for wiring up an external tool, such as a document extraction API, that already returns structured data.
One well-known example has OpenClaw processing an entire folder of invoices, generating its own extraction script, and returning organized results in a table, all from a single prompt.
Both paths lead to the same place, a folder with a valid SKILL.md file.
Writing it by hand gives you tighter control over the exact wording and guardrails, while asking the agent to build it saves time when you are wiring up something with clear, well-documented API instructions to follow.
A Quick Note on Skill Safety
Before you install a skill you did not write yourself, review what it does.
Community skill hubs move fast, and independent security audits have flagged malicious packages hiding inside otherwise ordinary-looking SKILL.md files.
Skills do not grant new permissions by themselves, but they do direct the agent on which tools to use, so a compromised skill can still cause damage if the underlying tool access is broad.
Start with skills you write yourself or ones from well-maintained sources, and grant the smallest scope of file and account access needed for the task at hand.
A few practical habits go a long way here. Check when a community skill was last updated before installing it, since active maintenance usually means fewer bugs and faster fixes when something breaks.
Read through the instructions in SKILL.md yourself rather than installing blind, since it is plain text you can review in under a minute.
Final Thoughts
Once you understand the pattern, one folder, one SKILL.md file, and an optional script, you can teach your OpenClaw agent almost anything.
Start with something small like this stock price example, confirm it works reliably, and only then move on to more demanding automations.
Every complex skill you see shared online started this small. Build one, watch it work end to end, and the next one will take a fraction of the time.
If you plan to run these skills around the clock instead of only when your laptop happens to be open, the server behind your agent counts just as much as the skill itself.
A dependable, affordable VPS keeps everything online and isolated from your personal files, and it is worth comparing plans before you build your next skill.
.com DomainsOwn the most recognised domain extension and earn trust at a glance.
Domain SearchYour ideal domain is only seconds away. Lock it in now.
UK DomainsBuild local trust instantly with a recognised .uk domain.
Whois LookupLook up domain owner information, renewal dates, and registration provider.
Domain TransferMove your domain with minimal disruption and full control
All DomainsChoose from a wide range of global domain extensions.
Web HostingDiscover cost-effective hosting packages designed for UK businesses.
Email HostingHost business email on your domain with enterprise-level security and effortless management.
Reseller HostingStart selling hosting today, even if you are not a tech expert.
Windows HostingGet peak performance for your Windows apps and websites.
cPanel HostingGet hosting managed through cPanel – effortlessly intuitive and globally recognised.
Affiliate ProgramEarn commission by referring customers to our services.
WordPress HostingFast, Optimised WordPress Hosting
VPS Hosting
Managed VPS Hosting
Dedicated Server


