> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnifence.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent skill

> Let a coding agent integrate Omnifence moderation into your codebase

Omnifence publishes an agent skill that teaches a coding agent how to integrate the
moderation API. The skill is agent-agnostic. It installs with the
[skills CLI](https://skills.sh), so it works with any coding agent that supports the
skills standard, including Claude Code, Cursor, and Codex.

The agent finds the places where your codebase creates or accepts content, confirms them
with you, and inserts the correct moderation call at each one. Text moderation runs first,
and media moderation runs on the result.

## Install

Install the skill into your project with the [skills CLI](https://skills.sh):

```
npx skills add Omnifence/omnifence-skills
```

Claude Code can also install the same skill as a plugin, if you prefer to manage it that
way:

```
/plugin marketplace add Omnifence/omnifence-skills
/plugin install omnifence-integration@omnifence-skills
```

## Use

Open your project and ask the agent to integrate:

```
Add Omnifence moderation to this app.
```

The skill walks the agent through four stages:

1. **Discovery.** The agent scans your codebase for the call sites that produce content.
   It covers third-party APIs and in-house services alike. It finds in-house platforms by
   behavioural signals, such as prompt payloads, job queues, and uploads of new media,
   rather than by SDK names.
2. **Confirmation.** Before it writes any code, the agent shows you the list of call sites
   it found and asks you to confirm, remove, or add entries. Review this list carefully.
   A missed call site leaves content unmoderated.
3. **Integration.** For each confirmed site the agent wires the matching endpoint:
   [`POST /api/v1/moderate/text`](/api-reference/endpoint/text-moderate) for user-written
   prompts and AI-character chat turns,
   [`/moderate/image`](/api-reference/endpoint/image-moderate),
   [`/moderate/video`](/api-reference/endpoint/video-moderate), and
   [`/moderate/audio`](/api-reference/endpoint/audio-moderate) for media.
4. **Async handling.** The integration holds content until a `pass` decision arrives, by
   [webhook](/platform/webhooks) or by rate-limit-aware
   [polling](/platform/rate-limiting), and fails closed on errors.

You need an [API key](/authentication) with the `moderate:*` scopes for the modalities
you integrate. The agent reads the key from an environment variable. It never hard-codes
the key and it never logs the key.

## Source

The skill lives at
[github.com/Omnifence/omnifence-skills](https://github.com/Omnifence/omnifence-skills).
