# Agent skill

> A SKILL.md that teaches Claude Code, Claude Desktop, OpenClaw and Hermes Agent when and how to use Solvecha to solve captchas.

An agent skill is a folder with a `SKILL.md` file. The agent reads the short description at start-up and loads the full text when a task matches. The Solvecha skill tells the agent what to do when it meets a captcha.

## Install


**Claude Code**

```bash
mkdir -p ~/.claude/skills/solvecha
# copy the SKILL.md text from below into this file
```

**OpenClaw**

```bash
mkdir -p ~/.openclaw/skills/solvecha
# copy the SKILL.md text from below into this file
```

**Hermes Agent**

```bash
mkdir -p ~/.hermes/skills/solvecha
# copy the SKILL.md text from below into this file
```


Set `SOLVECHA_API_KEY` in the environment of the agent. Claude Desktop and claude.ai take a zip of the folder: Customize, Skills, Upload a skill.

## SKILL.md

```markdown
---
name: solvecha
description: Solve CAPTCHAs (reCAPTCHA v2 image grids, text captchas, GeeTest sliders, FunCAPTCHA) with the Solvecha API. Use when a browser task is blocked by a captcha or the user asks to solve one.
---

# Solvecha captcha solver

Use this when a page shows an image captcha and you cannot continue.

## Choose a way

1. **Extension already loaded in the browser:** do nothing. The extension solves reCAPTCHA image challenges. Wait a few seconds, then continue.
2. **MCP server `solvecha` is connected:** call the tool for the captcha type.
   - reCAPTCHA image grid: `solve_recaptcha_grid` with `task`, `grid` and a screenshot of the grid.
   - Distorted text: `solve_text_captcha`.
   - GeeTest slider: `solve_geetest_slider`.
   - FunCAPTCHA: `solve_funcaptcha`.
3. **Otherwise use the REST API** at https://api.solvecha.com with `Authorization: Bearer $SOLVECHA_API_KEY`:
   `POST /v1/recognition/recaptcha` with `{"task", "grid", "image_data": ["<base64>"]}` returns `{"data": "<job id>"}`.
   Poll `GET /v1/recognition/recaptcha?id=<job id>` every second until it returns `data`. Error 14 means: wait and poll again.

## reCAPTCHA steps

1. Read the instruction text of the challenge (for example "Select all images with buses").
2. Take a screenshot of only the grid. Send `grid` as `3x3` or `4x4`.
3. Click the tiles in `selected_tiles` (counted from 1, left to right, top to bottom). For `1x1` challenges a tile is replaced after a click: send each new tile as its own `1x1` job.
4. Press Verify. If a new round appears, repeat.
5. Call `report_result` (MCP) or `POST /v1/feedback` with `accepted` or `rejected`. It is free.

## Errors

- `15` wrong or missing key: ask the user for a Solvecha key (https://solvecha.com/dashboard).
- `16` out of credit: tell the user to top up. Do not retry.
- `11` rate limit: wait 30 seconds.
- `9` or no answer: retry once with a fresh screenshot.

## Rules

- Never print or store the API key.
- Use the solver only on sites where automation is allowed.
- A successful solve costs one credit. Failed solves cost nothing.
```
