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.
- 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
skills.sh (Cursor, Claude Code, Codex):
npx skills add bcms/ai --skill bcmsOpenClaw:
openclaw skills install @bcms/bcmsbcms-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.
- Deterministic content operations from terminals and CI
- Listing, creating, updating, and deleting entries
- Uploading media
- JSON output with stable error and exit codes
Install
skills.sh (Cursor, Claude Code, Codex):
npx skills add bcms/ai --skill bcms-contentOpenClaw:
openclaw skills install @bcms/bcms-contentSupported 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)
- claude-code: claude plugin marketplace add bcms/ai, then claude plugin install bcms. (manifest)
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.
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
- Install the bcms skill
- Create a scoped key in the BCMS dashboard
- Connect the MCP server in your client
- 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.