# BCMS Agent Skills

BCMS publishes two Agent Skills from the open-source bcms/ai repository. Skills are guidance and tooling your agent loads locally; they pair with the BCMS MCP server, which provides the live tools.

## bcms (v1.4.0)

BCMS headless CMS for coding agents. Build with the @thebcms/client SDK (templates, entries, groups, widgets, media, functions, webhooks, API keys, permissions) and operate content through the BCMS Model Context Protocol (MCP) server - scoped keys, Streamable HTTP, entry/media tools. Use for content modeling, framework integrations (Next.js, Nuxt, Astro, Svelte, Gatsby, Vite), and agent-driven content operations.

It covers:

- BCMS concepts and content modeling
- SDK usage with @thebcms/client
- Framework integrations (Next.js, Nuxt, Astro, Svelte, Gatsby, Vite)
- MCP tool usage
- Permissions and security

Install:

```bash
# skills.sh (Cursor, Claude Code, Codex)
npx skills add bcms/ai --skill bcms
# OpenClaw
openclaw skills install @bcms/bcms
```

- [bcms on skills.sh](https://www.skills.sh/bcms/ai/bcms)
- [bcms on ClawHub](https://clawhub.ai/bcms/bcms)

## bcms-content (v1.1.0)

Run BCMS content operations from the command line. A thin CLI (wrapping the official @thebcms/client SDK) for agents to create, update, delete, and list entries and upload media using a single API key - the same three-part key used for the BCMS MCP. Use this for scripted, deterministic content tasks in terminals, CI, and agent workflows.

It covers:

- Deterministic content operations from terminals and CI
- Listing, creating, updating, and deleting entries
- Uploading media
- JSON output with stable error and exit codes

Install:

```bash
# skills.sh (Cursor, Claude Code, Codex)
npx skills add bcms/ai --skill bcms-content
# OpenClaw
openclaw skills install @bcms/bcms-content
```

- [bcms-content on skills.sh](https://www.skills.sh/bcms/ai/bcms-content)
- [bcms-content on ClawHub](https://clawhub.ai/bcms/bcms-content)

## Supported clients

| Client | Support | Notes |
| --- | --- | --- |
| Cursor | packaged, documented | Plugin bundle in providers/cursor/plugin with a marketplace manifest in this repository; not listed in the public Cursor marketplace directory. Skills also install via skills.sh. |
| Claude Code | packaged, documented | Plugin bundle in providers/claude/plugin installable via claude plugin marketplace add bcms/ai; not listed in a public Claude marketplace directory. Skills also install via skills.sh. |
| Codex | documented | No dedicated package. Skills install via the skills.sh CLI into agent skill folders that Codex reads; MCP connects over Streamable HTTP. Not tested by maintainers. |
| OpenClaw | published, documented | Both skills are published on ClawHub and install with openclaw skills install @bcms/<skill>. |

## Editor plugins

The Cursor and Claude Code plugins are packaged in the bcms/ai repository. They are not listed in public plugin marketplace directories; most users should install the skills via skills.sh instead.

- cursor: Add this repository as a Cursor plugin marketplace (manifest at .cursor-plugin/marketplace.json), then install the "bcms" plugin. ([manifest](https://github.com/bcms/ai/blob/main/.cursor-plugin/marketplace.json))
- claude-code: claude plugin marketplace add bcms/ai, then claude plugin install bcms. ([manifest](https://github.com/bcms/ai/blob/main/.claude-plugin/marketplace.json))

## Content CLI

The bcms-content-cli (v1.1.0) ships inside the bcms-content skill. npx skills add bcms/ai --skill bcms-content, then npm install inside the installed skill folder. Not published to npm.

Commands:

- `create-entry`: Create an entry in a template (by id or name).
- `update-entry`: Update an entry; returns the full parsed entry after the update.
- `delete-entry`: Delete an entry (irreversible). Requires confirmation or --yes.
- `list-entries`: List entry ids for a template (discovery before update/delete).
- `upload-media`: Upload a file to the media library.

## Recommended path

1. Install the bcms skill
2. Create a scoped key in the BCMS dashboard
3. Connect the MCP server in your client
4. Ask the agent to inspect available templates

## Security

- Create separate credentials per person, per client, and per environment.
- Scope keys to the templates the agent needs (least privilege), including media-level permissions.
- Never put MCP keys or BCMS_API_KEY in frontend code, public repos, or shared screenshots.
- Rotate keys regularly and revoke any key immediately if it is exposed.
- Review entry history to audit what an agent changed.
- For destructive operations, list and confirm entry ids first and use scoped delete permissions.

## More

- [Source repository](https://github.com/bcms/ai)
- [MCP server](https://thebcms.com/mcp.md)
- [Agent onboarding hub](https://thebcms.com/agents.md)
