मुख्य सामग्री पर जाएं
Skills markdown निर्देश फ़ाइलें हैं जो agent को सिखाती हैं कि tools का उपयोग कैसे और कब करना है। प्रत्येक skill एक ऐसी directory में रहती है जिसमें YAML frontmatter और markdown body वाली SKILL.md फ़ाइल होती है। OpenClaw bundled skills के साथ-साथ किसी भी local override को load करता है, और load time पर environment, config, और binary presence के आधार पर उन्हें filter करता है।

Skills बनाना

शुरुआत से custom skill build और test करें।

Skill Workshop

agent-drafted skill proposals की समीक्षा और स्वीकृति दें।

Skills config

पूर्ण skills.* config schema और agent allowlists।

ClawHub

community skills browse और install करें।

Loading order

OpenClaw इन sources से load करता है, सबसे ऊंची precedence पहले। जब वही skill name कई जगहों पर दिखाई देता है, तो सबसे ऊंचा source जीतता है।
PrioritySourcePath
1 — highestWorkspace skills<workspace>/skills
2Project agent skills<workspace>/.agents/skills
3Personal agent skills~/.agents/skills
4Managed / local skills~/.openclaw/skills
5Bundled skillsinstall के साथ shipped
6 — lowestExtra directoriesskills.load.extraDirs + plugin skills
Skill roots grouped layouts को support करते हैं। OpenClaw किसी configured root के नीचे कहीं भी SKILL.md दिखाई देने पर skill discover करता है:
<workspace>/skills/research/SKILL.md          ✓ found as "research"
<workspace>/skills/personal/research/SKILL.md ✓ also found as "research"
Folder path केवल organization के लिए है। skill का name, slash command, और allowlist key सभी name frontmatter field से आते हैं (या name missing होने पर directory name से)।
Codex CLI की native $CODEX_HOME/skills directory OpenClaw skill root नहीं है। उन skills की inventory बनाने के लिए openclaw migrate plan codex का उपयोग करें, फिर उन्हें अपने OpenClaw workspace में copy करने के लिए openclaw migrate codex चलाएं।

Per-agent बनाम shared skills

Multi-agent setups में, प्रत्येक agent का अपना workspace होता है। अपने desired visibility से match करने वाला path उपयोग करें:
ScopePathVisible to
Per-agent<workspace>/skillsकेवल वह agent
Project-agent<workspace>/.agents/skillsकेवल उस workspace का agent
Personal-agent~/.agents/skillsइस machine पर सभी agents
Shared managed~/.openclaw/skillsइस machine पर सभी agents
Extra dirsskills.load.extraDirsइस machine पर सभी agents

Agent allowlists

Skill location (precedence) और skill visibility (कौन सा agent इसका उपयोग कर सकता है) अलग controls हैं। कोई skill कहां से load हुई है, इससे अलग, agent कौन सी skills देखता है इसे restrict करने के लिए allowlists का उपयोग करें।
{
  agents: {
    defaults: {
      skills: ["github", "weather"], // shared baseline
    },
    list: [
      { id: "writer" }, // inherits github, weather
      { id: "docs", skills: ["docs-search"] }, // replaces defaults entirely
      { id: "locked-down", skills: [] }, // no skills
    ],
  },
}
  • default रूप से सभी skills को unrestricted छोड़ने के लिए agents.defaults.skills omit करें।
  • agents.defaults.skills inherit करने के लिए agents.list[].skills omit करें।
  • उस agent के लिए कोई skills expose न करने के लिए agents.list[].skills: [] set करें।
  • non-empty agents.list[].skills list final set है — यह defaults के साथ merge नहीं होती।
  • effective allowlist prompt building, slash-command discovery, sandbox sync, और skill snapshots पर apply होती है।

Plugins और skills

Plugins openclaw.plugin.json में skills directories list करके अपनी skills ship कर सकते हैं (paths plugin root के relative होते हैं)। Plugin enabled होने पर plugin skills load होती हैं — उदाहरण के लिए, browser plugin multi-step browser control के लिए browser-automation skill ship करता है। Plugin skill directories skills.load.extraDirs के समान low-precedence level पर merge होती हैं, इसलिए same-named bundled, managed, agent, या workspace skill उन्हें override करती है। Plugin की config entry पर metadata.openclaw.requires.config के ज़रिए उन्हें gate करें। पूर्ण plugin system के लिए Plugins और Tools देखें।

Skill Workshop

Skill Workshop agent और आपकी active skill files के बीच proposal queue है। जब agent reusable work पहचानता है, तो वह सीधे SKILL.md में लिखने के बजाय proposal draft करता है। कुछ भी बदलने से पहले आप review और approve करते हैं।
openclaw skills workshop list
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>
पूर्ण lifecycle, CLI reference, और configuration के लिए Skill Workshop देखें।

ClawHub से install करना

ClawHub public skills registry है। install और update के लिए openclaw skills commands का उपयोग करें, या publish और sync के लिए clawhub CLI का उपयोग करें।
ActionCommand
Workspace में skill install करेंopenclaw skills install @owner/<slug>
Git repository से install करेंopenclaw skills install git:owner/repo@ref
Local skill directory install करेंopenclaw skills install ./path/to/skill --as my-tool
सभी local agents के लिए install करेंopenclaw skills install @owner/<slug> --global
सभी workspace skills update करेंopenclaw skills update --all
shared managed skill update करेंopenclaw skills update @owner/<slug> --global
सभी shared managed skills update करेंopenclaw skills update --all --global
skill का trust envelope verify करेंopenclaw skills verify @owner/<slug>
generated Skill Card print करेंopenclaw skills verify @owner/<slug> --card
ClawHub CLI के ज़रिए publish / syncclawhub sync --all
openclaw skills install default रूप से active workspace skills/ directory में install करता है। shared ~/.openclaw/skills directory में install करने के लिए --global जोड़ें, जो सभी local agents को दिखती है जब तक agent allowlists इसे narrow न करें।Git और local installs source root पर SKILL.md expect करते हैं। valid होने पर slug SKILL.md frontmatter name से आता है, फिर directory या repository name पर fallback करता है। override करने के लिए --as <slug> का उपयोग करें। openclaw skills update केवल ClawHub installs track करता है — Git या local sources को refresh करने के लिए reinstall करें।
openclaw skills verify @owner/<slug> ClawHub से skill का clawhub.skill.verify.v1 trust envelope मांगता है। Installed ClawHub skills .clawhub/origin.json में recorded version और registry के against verify होती हैं। Bare slugs existing installed या unambiguous skills के लिए accepted रहते हैं, लेकिन owner-qualified refs publisher ambiguity से बचाते हैं।ClawHub skill pages install से पहले latest security scan state expose करते हैं, VirusTotal, ClawScan, और static analysis के detail pages के साथ। जब ClawHub verification को failed mark करता है, तो command non-zero exit करती है। Publishers false positives को ClawHub dashboard या clawhub skill rescan @owner/<slug> के ज़रिए recover करते हैं।
जिन Gateway clients को non-ClawHub delivery की जरूरत है वे skills.upload.begin, skills.upload.chunk, और skills.upload.commit के साथ zip skill archive stage कर सकते हैं, फिर skills.install({ source: "upload", ... }) से install कर सकते हैं। यह path default रूप से off है और openclaw.json में skills.install.allowUploadedArchives: true की आवश्यकता होती है। Normal ClawHub installs को इस setting की कभी जरूरत नहीं होती।

Security

Third-party skills को untrusted code मानें। Enable करने से पहले उन्हें पढ़ें। Untrusted inputs और risky tools के लिए sandboxed runs prefer करें। Agent-side controls के लिए Sandboxing देखें।
Workspace, project-agent, और extra-dir skill discovery केवल ऐसे skill roots accept करती है जिनका resolved realpath configured root के अंदर रहता है, जब तक skills.load.allowSymlinkTargets किसी target root पर explicitly trust न करे। Skill Workshop उन trusted targets के ज़रिए केवल तब लिखता है जब skills.workshop.allowSymlinkTargetWrites enabled हो। Managed ~/.openclaw/skills और personal ~/.agents/skills में symlinked skill folders हो सकते हैं, लेकिन हर SKILL.md realpath को फिर भी अपनी resolved skill directory के अंदर रहना होगा।
Skill installs continue होने से पहले trusted local policy command run करने के लिए security.installPolicy configure करें। Policy metadata और staged source path receive करती है, ClawHub, uploaded, Git, local, update, और dependency-installer paths पर apply होती है, और जब command valid decision return नहीं कर सकती तो fail closed होती है।
skills.entries.*.env और skills.entries.*.apiKey secrets को केवल उस agent turn के लिए host process में inject करते हैं — sandbox में नहीं। Secrets को prompts और logs से बाहर रखें।
Broader threat model और security checklists के लिए Security देखें।

SKILL.md format

हर skill को frontmatter में कम से कम name और description चाहिए:
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
---

When the user asks to generate an image, use the `image_generate` tool...
OpenClaw AgentSkills spec का पालन करता है। Frontmatter parser केवल single-line keys support करता है — metadata single-line JSON object होना चाहिए। Skill folder path reference करने के लिए body में {baseDir} का उपयोग करें।

Optional frontmatter keys

homepage
string
macOS Skills UI में “Website” के रूप में दिखाया गया URL। metadata.openclaw.homepage के ज़रिए भी supported।
user-invocable
boolean
डिफ़ॉल्ट:"true"
जब true हो, skill user-invocable slash command के रूप में expose होती है।
disable-model-invocation
boolean
डिफ़ॉल्ट:"false"
जब true हो, OpenClaw skill के instructions को agent के normal prompt से बाहर रखता है। user-invocable भी true होने पर skill फिर भी slash command के रूप में available रहती है।
command-dispatch
"tool"
tool पर set होने पर, slash command model को bypass करता है और सीधे registered tool को dispatch करता है।
command-tool
string
command-dispatch: tool set होने पर invoke करने के लिए tool name।
command-arg-mode
"raw"
डिफ़ॉल्ट:"raw"
Tool dispatch के लिए, raw args string को बिना core parsing के tool को forward करता है। Tool को { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" } receive होता है।

Gating

OpenClaw कौशलों को लोड समय पर metadata.openclaw (frontmatter में एक-पंक्ति JSON) का उपयोग करके फ़िल्टर करता है। जिस कौशल में metadata.openclaw ब्लॉक नहीं है, वह हमेशा पात्र होता है, जब तक कि उसे स्पष्ट रूप से अक्षम न किया गया हो।
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
        "primaryEnv": "GEMINI_API_KEY",
      },
  }
---
always
boolean
जब true हो, तो कौशल को हमेशा शामिल करें और बाकी सभी गेट छोड़ दें।
emoji
string
macOS Skills UI में दिखाया जाने वाला वैकल्पिक इमोजी।
homepage
string
macOS Skills UI में “Website” के रूप में दिखाया जाने वाला वैकल्पिक URL।
os
"darwin" | "linux" | "win32"
प्लेटफ़ॉर्म फ़िल्टर। सेट होने पर, कौशल केवल सूचीबद्ध OSes पर पात्र होता है।
requires.bins
string[]
प्रत्येक बाइनरी PATH पर मौजूद होनी चाहिए।
requires.anyBins
string[]
कम से कम एक बाइनरी PATH पर मौजूद होनी चाहिए।
requires.env
string[]
प्रत्येक env var प्रक्रिया में मौजूद होना चाहिए या config के माध्यम से प्रदान किया जाना चाहिए।
requires.config
string[]
प्रत्येक openclaw.json पथ truthy होना चाहिए।
primaryEnv
string
skills.entries.<name>.apiKey से संबद्ध env var नाम।
install
object[]
macOS Skills UI द्वारा उपयोग किए जाने वाले वैकल्पिक इंस्टॉलर specs (brew / node / go / uv / download)।
जब metadata.openclaw अनुपस्थित हो, तब भी पुराने metadata.clawdbot ब्लॉक स्वीकार किए जाते हैं, इसलिए पुराने स्थापित कौशल अपने dependency gates और installer hints बनाए रखते हैं। नए कौशलों को metadata.openclaw का उपयोग करना चाहिए।

इंस्टॉलर specs

इंस्टॉलर specs macOS Skills UI को बताते हैं कि dependency कैसे इंस्टॉल करनी है:
---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
  {
    "openclaw":
      {
        "emoji": "♊️",
        "requires": { "bins": ["gemini"] },
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gemini-cli",
              "bins": ["gemini"],
              "label": "Install Gemini CLI (brew)",
            },
          ],
      },
  }
---
  • जब कई इंस्टॉलर सूचीबद्ध हों, तो gateway एक पसंदीदा विकल्प चुनता है (उपलब्ध होने पर brew, अन्यथा node)।
  • यदि सभी इंस्टॉलर download हैं, तो OpenClaw हर entry को सूचीबद्ध करता है ताकि आप सभी उपलब्ध artifacts देख सकें।
  • प्लेटफ़ॉर्म के अनुसार फ़िल्टर करने के लिए specs में os: ["darwin"|"linux"|"win32"] शामिल हो सकता है।
  • Node इंस्टॉल openclaw.json में skills.install.nodeManager का सम्मान करते हैं (default: npm; options: npm / pnpm / yarn / bun)। यह केवल skill installs को प्रभावित करता है; Gateway runtime फिर भी Node होना चाहिए।
  • Gateway इंस्टॉलर प्राथमिकता: Homebrew → uv → configured node manager → go → download।
  • Homebrew: OpenClaw Homebrew को auto-install नहीं करता या brew formulas को system package commands में translate नहीं करता। Linux containers में brew के बिना, brew-only installers छिपे रहते हैं; custom image का उपयोग करें या dependency को manually install करें।
  • Go: यदि go अनुपस्थित है और brew उपलब्ध है, तो gateway पहले Homebrew के माध्यम से Go install करता है और GOBIN को Homebrew के bin पर सेट करता है।
  • Download: url (required), archive (tar.gz | tar.bz2 | zip), extract (default: archive detect होने पर auto), stripComponents, targetDir (default: ~/.openclaw/tools/<skillKey>)।
requires.bins को skill load time पर host पर जांचा जाता है। यदि कोई agent sandbox में चलता है, तो binary container के अंदर भी मौजूद होनी चाहिए। इसे agents.defaults.sandbox.docker.setupCommand या custom image के माध्यम से install करें। setupCommand container creation के बाद एक बार चलता है और उसे network egress, writable root FS, और sandbox में root user की आवश्यकता होती है।

Config overrides

bundled या managed कौशलों को ~/.openclaw/openclaw.json में skills.entries के तहत toggle और configure करें:
{
  skills: {
    entries: {
      "image-lab": {
        enabled: true,
        apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
        env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" },
        config: {
          endpoint: "https://example.invalid",
          model: "nano-pro",
        },
      },
      peekaboo: { enabled: true },
      sag: { enabled: false },
    },
  },
}
enabled
boolean
false कौशल को bundled या installed होने पर भी अक्षम कर देता है। coding-agent bundled skill opt-in है — skills.entries.coding-agent.enabled: true सेट करें और सुनिश्चित करें कि claude, codex, opencode, या कोई अन्य supported CLI installed और authenticated हो।
apiKey
string | { source, provider, id }
उन कौशलों के लिए सुविधा field जो metadata.openclaw.primaryEnv declare करते हैं। plaintext string या SecretRef object का समर्थन करता है।
env
Record<string, string>
agent run के लिए injected environment variables। केवल तब inject किए जाते हैं जब variable process में पहले से set न हो।
config
object
custom per-skill configuration fields के लिए वैकल्पिक bag।
allowBundled
string[]
केवल bundled कौशलों के लिए वैकल्पिक allowlist। सेट होने पर, सूची में मौजूद bundled skills ही पात्र होते हैं। Managed और workspace skills अप्रभावित रहते हैं।
Config keys default रूप से skill name से match करते हैं। यदि कोई skill metadata.openclaw.skillKey define करता है, तो skills.entries के तहत उसी key का उपयोग करें। Hyphenated names को quote करें: JSON5 quoted keys की अनुमति देता है।

Environment injection

जब agent run शुरू होता है, OpenClaw:
1

Skill metadata पढ़ता है

OpenClaw agent के लिए effective skill list resolve करता है, gating rules, allowlists, और config overrides apply करते हुए।
2

env और API keys inject करता है

skills.entries.<key>.env और skills.entries.<key>.apiKey को run की अवधि के लिए process.env पर apply किया जाता है।
3

system prompt बनाता है

पात्र skills को compact XML block में compile किया जाता है और system prompt में inject किया जाता है।
4

environment restore करता है

run समाप्त होने के बाद, original environment restore कर दिया जाता है।
Env injection host agent run तक scoped है, sandbox तक नहीं। Sandbox के अंदर, env और apiKey का कोई प्रभाव नहीं होता। sandboxed runs में secrets pass करने का तरीका जानने के लिए Skills config देखें।
bundled claude-cli backend के लिए, OpenClaw वही पात्र skill snapshot temporary Claude Code plugin के रूप में materialize भी करता है और उसे --plugin-dir के माध्यम से pass करता है। अन्य CLI backends केवल prompt catalog का उपयोग करते हैं।

Snapshots और refresh

OpenClaw पात्र skills को session शुरू होने पर snapshot करता है और session में बाद के सभी turns के लिए उसी list का पुन: उपयोग करता है। Skills या config में बदलाव अगले नए session पर प्रभावी होते हैं। Skills mid-session दो मामलों में refresh होते हैं:
  • skills watcher किसी SKILL.md बदलाव का पता लगाता है।
  • नया पात्र remote node connect होता है।
refreshed list अगले agent turn पर उपयोग की जाती है। यदि effective agent allowlist बदलती है, तो OpenClaw visible skills को aligned रखने के लिए snapshot refresh करता है।
By default, OpenClaw skill folders देखता है और SKILL.md files बदलने पर snapshot bump करता है। skills.load के तहत configure करें:
{
  skills: {
    load: {
      extraDirs: ["~/Projects/agent-scripts/skills"],
      allowSymlinkTargets: ["~/Projects/manager/skills"],
      watch: true,
      watchDebounceMs: 250,
    },
  },
}
intentional symlinked layouts के लिए allowSymlinkTargets का उपयोग करें, जहां skill root symlink configured root के बाहर point करता है, उदाहरण के लिए <workspace>/skills/manager -> ~/Projects/manager/skillsskills.workshop.allowSymlinkTargetWrites केवल तब enable करें जब Skill Workshop को उन trusted symlinked paths के माध्यम से proposals भी apply करने चाहिए।
यदि Gateway Linux पर चलता है लेकिन कोई macOS node system.run allowed के साथ connected है, तो OpenClaw macOS-only skills को पात्र मान सकता है जब required binaries उस node पर मौजूद हों। Agent को उन skills को exec tool के माध्यम से host=node के साथ चलाना चाहिए।Offline nodes remote-only skills को visible नहीं बनाते। यदि कोई node bin probes का उत्तर देना बंद कर देता है, तो OpenClaw उसके cached bin matches clear कर देता है।

Token impact

जब skills पात्र होते हैं, OpenClaw system prompt में compact XML block inject करता है। लागत deterministic है:
total = 195 + Σ (97 + len(name) + len(description) + len(filepath))
  • Base overhead (केवल जब ≥ 1 skill): ~195 characters
  • Per skill: ~97 characters + आपके name, description, और location field lengths
  • XML escaping & < > " ' को entities में expand करता है, जिससे हर occurrence पर कुछ characters जुड़ते हैं
  • ~4 chars/token पर, 97 chars ≈ field lengths से पहले प्रति skill 24 tokens
prompt overhead कम रखने के लिए descriptions को छोटा और descriptive रखें।

संबंधित

Skills बनाना

custom skill author करने के लिए step-by-step guide।

Skill Workshop

agent-drafted skills के लिए proposal queue।

Skills config

पूरा skills.* config schema और agent allowlists।

Slash commands

skill slash commands कैसे register और route किए जाते हैं।

ClawHub

public registry पर skills browse और publish करें।

Plugins

Plugins अपने द्वारा document किए जाने वाले tools के साथ skills ship कर सकते हैं।