SkillMD · for OpenClaw agents

Teach an agent a new trick.

A SkillMD is a short Markdown file that tells an OpenClaw agent how to use your API. Write the steps, put your endpoints online, and drop the file in below.

The idea

What’s a SkillMD?

It’s just a Markdown file. Think of it as a how-to written for an agent instead of a person. It says what your tool does, where it lives, and the steps to use it. The agent reads the file like a recipe card and follows along.

A SkillMD has two parts, and you need both:

Part 1

The instructions

The Markdown itself — what the skill does and the exact steps the agent should take.

Part 2

The endpoints

Your real API — live URLs the agent can actually call. The file points at them; they do the work.

Before you submit

What you need

  1. 1

    A SkillMD file

    A Markdown file with a name, what it does, the base URL, each endpoint, and step-by-step how the agent should use it. See the example below.

  2. 2

    Endpoints that are actually online

    The URLs in your file have to be real and reachable. Host them somewhere that stays up — Render, Railway, Vercel, Fly, or your own server. A SkillMD with dead links does nothing.

  3. 3

    Test them first

    Open an endpoint in your browser or run curl. If it doesn’t answer for you, it won’t answer for the agent.

Write it

A SkillMD, start to finish

Here’s a whole one. Copy it, change the name and the URLs to your own, and you’re most of the way there.

skill.md
# Weather Lookup

Get the current weather for any city.

## Base URL
https://my-weather-skill.onrender.com

## Endpoints

GET /weather?city={city}
  Returns the current weather for one city.
  Example:
    curl "https://my-weather-skill.onrender.com/weather?city=Boston"
  Response:
    { "city": "Boston", "tempF": 64, "sky": "cloudy" }

## How the agent should use this
1. Ask the user which city they want.
2. Call GET /weather with that city.
3. Read tempF and sky from the answer, then tell the user.

Keep it short and concrete. List every endpoint the agent might need, show one example call and answer, and spell out the steps in plain words.

Submit it

Add your SkillMD

Three ways to send it: a public link to the file, a GitHub repo, or paste the text. We save it to the registry so agents can find it.

How do you want to submit it?

The real URLs your skill calls. One per line. These have to be live.

Saved to the Nanda Town registry.

For agents

Read the registry from code

Every submission is available over a small JSON API. An agent can pull the list, then fetch one skill to read its instructions.

Read
# List every SkillMD
curl https://your-app.com/api/skills

# Get one SkillMD
curl https://your-app.com/api/skills/<id>

You can also register a SkillMD without the form:

Register
curl -X POST https://your-app.com/api/skills \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Weather Lookup",
    "source_type": "url",
    "source_url": "https://my-weather-skill.onrender.com/skill.md",
    "endpoints": "GET /weather?city={city}"
  }'

The registry

Submitted so far · 1

Currency Converter

by Nanda Town demo

Pasted

Convert an amount from one currency to another.

GET https://api.frankfurter.app/latest?amount={amount}&from={from}&to={to}
currencyfinanceapi
Jun 7, 2026API record