Agent Claws

An open standard for asynchronous agents that run unattended, whether started by a schedule, an event, or a manual run

A claw is an asynchronous agent that runs unattended, described by a single CLAW.md file.

CLAW.md
---
version: 1
name: inbox-tidy
description: Keep alice@example.com's spam labels honest and surface the threads that still need a reply.
system_prompt: |
  You are a meticulous inbox keeper. You value a tidy inbox, act only when you are confident, never delete a message, and would rather leave mail in place than misfile it.
schedule: every 5m
runtime: auto
---

# catch missed spam

Scan new mail in alice@example.com's inbox for messages that are clearly spam but arrived unlabeled, and move each one to the Spam folder. Leave anything uncertain where it is.

# rescue good mail

Review alice@example.com's Spam folder for real messages caught by mistake, a known contact, a receipt, a reply in an ongoing thread, and move those back to the inbox.

# flag replies needed

Find threads in alice@example.com's inbox still waiting on a reply from her and star them so they are easy to find.

What are Agent Claws?

Agent Claws are an open format for asynchronous agents, work you would normally hand to an agent, packaged so it can run unattended. A claw runs when something triggers it, a schedule, an event such as a webhook, or a manual run. At its core, a claw is an agent described by a single CLAW.md file. The file holds YAML frontmatter, with name and description at minimum, followed by one or more ordered tasks. There are no companion directories, scripts, or assets. Everything the claw needs lives in the one file.

CLAW.md
---
version: 1
name: pr-summary
description: Summarize a pull request and post the rundown to the team channel. Run it by hand or from a webhook when a pull request opens.
concurrency: allow
---

# summarize

Read the pull request, its changed files, and its description, then write a short plain-language summary of what it does and what a reviewer should focus on. Post the summary to the team chat channel.

Why Agent Claws?

Claws let an agent handle work on its own, with no one in the loop.

  • They run unattended, started by a schedule, an event such as a webhook, or a manual run.
  • Each task reuses the tools, CLIs, and integrations the host agent already has.

Why CLAW.md?

The format keeps a claw simple and portable.

  • One self-contained file, with no companion directories, scripts, or assets.
  • Plain Markdown, so it reads, edits, and diffs like any other text.
  • An open, vendor-neutral standard, so the same file runs on any compatible runner.

How do Agent Claws work?

A runner reads the claw's frontmatter, then runs its tasks in source order. Each task runs as an agent with full tool use, reusing the tools, CLIs, and integrations the host already provides, or as a plain bash step.

Where can I use Agent Claws?

Any CLAW.md-compatible runner can execute a claw. Because the format carries no vendor-specific mechanisms, a claw authored for one runner runs unchanged on another. See the clients that support the format.

How is Agent Claws developed?

Agent Claws was originally developed by Clor and released as an open standard so any runner can adopt it. The specification is vendor-neutral and the project welcomes ecosystem contributions. Come join the discussion on GitHub.

How do I write a claw?

Start from the specification for the complete format, then adapt one of the working examples. A minimal claw needs only a name, a description, and at least one task heading.

Agent Claws was originally developed by Clor and released as an open standard

Code is licensed under Apache-2.0. Documentation is licensed under CC-BY-4.0

Contact admin@clor.com