# Fanful agent skills

These are copyable prompts/skills for agents working with Fanful. They are intentionally provider-neutral: use them with Codex, Claude, ChatGPT, Cursor, or another coding agent. They do not contain secrets.

## Install pattern

Paste the relevant skill into your agent's project instructions, custom skill file, or first message. For a one-step setup, use https://fanful.net/agent-setup/prompt.md.

## fanful-agent-setup

Orient a coding agent to Fanful without making it search the whole site.

- Best for: Any new Codex, Claude, ChatGPT, Cursor, or CI agent session.

```text
Read https://fanful.net/agent-setup/prompt.md first. Use https://fanful.net/llms.txt as the discovery index. Prefer MCP at https://fanful.net/mcp and HTTP manifests under https://fanful.net/api/agent/* over browser automation. Before any write, read https://fanful.net/api/agent/action-contracts and validate the agent-write-envelope.v1 shape.
```

## fanful-mcp-operator

Use the current MCP tools safely for creator and listener workflows.

- Best for: Agents connecting to Fanful through MCP or a local repo checkout.

```text
Connect to Fanful MCP at https://fanful.net/mcp or run npm run mcp:server in the repo. List tools, read the relevant manifest, and treat destructive, billing-impacting, moderation, public-message, and creator-speech writes as unavailable unless the tool requires exact confirmation, idempotency, stale-state, reason, and audit correlation.
```

## fanful-api-integrator

Build external integrations against Fanful manifests, webhooks, and sync feeds.

- Best for: Developers wiring Fanful events to another platform.

```text
Use https://docs.fanful.net/api for the current API map. Keep bearer tokens and webhook signing secrets in environment variables. Verify x-fanful-signature on raw request bodies, use event idempotency keys, read linked manifests for current state, and never treat a redacted webhook as permission to mutate Fanful without an action contract.
```

## fanful-creator-commerce

Help a creator manage tiers, prices, lessons, shop visibility, and gated channels.

- Best for: Agents acting for an artist/admin after explicit authorization.

```text
Read the creator-commerce, listener-experience, and live-controls manifests plus action contracts first. For lesson-credit ledger health, use fanful_creator_lesson_credit_ledger_read only with creator/admin authorization; treat raw student email, user id, Stripe id, booking/purchase id, idempotency key, reason, and metadata as unavailable. For ChatGPT listener checkout UI, render fanful_listener_checkout_confirmation_render before support, membership, or signed-CD shop checkout starts. For ChatGPT lesson UI, render fanful_creator_lesson_price_policy_confirmation_render before lesson price or policy writes and fanful_creator_lesson_availability_confirmation_render before lesson availability writes. For ChatGPT membership tier UI, render fanful_creator_membership_tier_confirmation_render before the matching write. For ChatGPT shop UI, render fanful_creator_shop_product_confirmation_render before shop product create, visibility, details, or Stripe Price writes. For ChatGPT gated-channel UI, render fanful_creator_entitlement_metadata_confirmation_render before entitlement metadata writes. For ChatGPT live status UI, render fanful_creator_live_status_confirmation_render before go-live, end, cancel, or scheduled-status writes. For listener checkout starts use fanful_listener_support_checkout_start, fanful_listener_membership_checkout_start, or fanful_listener_shop_checkout_start only after the exact purchase-link preview confirmation text. For membership tiers use fanful_creator_membership_tier_create, fanful_creator_membership_tier_update, fanful_creator_membership_tier_archive_state, fanful_creator_membership_stripe_price_create, and fanful_creator_membership_stripe_price_select. For shop products, use fanful_creator_shop_product_create for safe product creation, fanful_creator_shop_product_visibility_update for active/show-in-shop flags, fanful_creator_shop_product_details_update for safe copy, inventory, fulfillment note, download display metadata, and sort order, and fanful_creator_shop_product_stripe_price_select/create for compatible one-time Stripe Price mapping or replacement Price creation. For gated channels use fanful_creator_community_channel_create or fanful_creator_community_channel_update, then use fanful_creator_entitlement_metadata_update for focused access-mode/tier-access metadata changes. For live status changes use fanful_live_status_preview, then fanful_creator_live_status_update with exact confirmation text, stale-state guards, idempotency, and audit correlation.
```

## fanful-listener-community

Read or post listener community chat messages without scraping the UI.

- Best for: Listener/fan agents with first-party session or scoped listener grants.

```text
Use fanful_listener_community_messages_read with a channel such as #general and limit 10. To post or reply, use fanful_listener_community_message_post only after reading the channel id and requiring exact public-message confirmation, acknowledged risk, idempotency, audit correlation, and a reason. Do not bypass channel access rules.
```

## fanful-sdk-release-planner

Plan official language SDK work without pretending packages already exist.

- Best for: Maintainers preparing Python, TypeScript, or other SDK packages.

```text
Use the provider-neutral starter at https://fanful.net/agent-docs/fanful-agent-sdk-starter.md and the release plan in https://docs.fanful.net/api. Before publishing an official SDK, lock API versioning, generated types, auth helpers, retry/idempotency behavior, webhook verification helpers, example apps, CI contract tests, changelog policy, and package ownership.
```
