# POST /skills/run

**Resource:** [Skills](./skills.md)  
**MCP tool:** `run_skill`  
**Scopes:** `agent-ops:write`  
**Write operation:** yes

Run a skill (by id or name) against an input and return its output, tool trace, and token usage. Runs one bounded tool_loop on the skill's configured model with its allowed tools. Use this to test a skill or to invoke one on demand. Only public skills and skills your workspace owns can be run.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `skill` | body | string | yes | The skill id (uuid) or its name (e.g. "curate_memory"). |
| `input` | body | object | no | The input object matching the skill's input_schema. |
| `require_approval` | body | boolean | no | Optional. Set true to route this write into the approval queue for human review instead of executing it immediately (returns 202 + an approval_id). Works even when your key/token has permission to execute directly. |

## Request example

```bash
curl -X POST   "https://api.trustpager.com/functions/v1/api/v1/skills/run"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"skill":"...","input":"..."}'
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`