Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install maven2024-omer-claude-skills-composio-skills-prismic-automationgit clone https://github.com/Maven2024/omer-claude-skills.gitcp omer-claude-skills/SKILL.MD ~/.claude/skills/maven2024-omer-claude-skills-composio-skills-prismic-automation/SKILL.md---
name: Prismic Automation
description: "Automate headless CMS operations in Prismic -- query documents, search content, retrieve custom types, and manage repository refs through the Composio Prismic integration."
requires:
mcp:
- rube
---
# Prismic Automation
Manage your **Prismic** headless CMS directly from Claude Code. Query documents by type, full-text search content, inspect custom types, and work with repository refs for content versioning.
**Toolkit docs:** [composio.dev/toolkits/prismic](https://composio.dev/toolkits/prismic)
---
## Setup
1. Add the Composio MCP server to your configuration:
```
https://rube.app/mcp
```
2. Connect your Prismic account when prompted. The agent will provide an authentication link.
3. Most content queries require a `ref` token. Always start by calling `PRISMIC_REPOSITORY_API_GET_REFS` or `PRISMIC_REPOSITORY_API_GET_INFO` to obtain the master ref.
---
## Core Workflows
### 1. Get Repository Info and Refs
Retrieve comprehensive repository metadata including available refs (content versions), custom types, languages, tags, and bookmarks. This is typically your first API call.
**Tools:** `PRISMIC_REPOSITORY_API_GET_INFO`, `PRISMIC_REPOSITORY_API_GET_REFS`
No parameters required -- these endpoints return the full repository configuration. The `refs` field is critical since refs are required for all content queries.
Example prompt: *"Get my Prismic repository info and the current master ref"*
---
### 2. Query Documents with Predicates
Fetch documents using Prismic's predicate query syntax with full pagination and filtering support.
**Tool:** `PRISMIC_CONTENT_API_QUERY_DOCUMENTS`
Key parameters:
- `ref` (required) -- content release reference ID (typically the master ref)
- `q` -- predicate query, e.g., `[[at(document.type, "page")]]`
- `page` (min 1) and `pageSize` (1-100) -- pagination
- `lang` -- language code, e.g., `en-us` (default `*` for all)
- `orderings` -- sort order, e.g., `[my.article.date desc]`
- `fetch` -- comma-separated fields to fetch, reducing response size
- `fetchLinks` -- resolve linked document fields inline
Example prompt: *"Query all published blog posts in Prismic, sorted by date descending, in English"*
---
### 3. Fetch Documents by Type
Retrieve all documents of a specific custom type with automatic master ref resolution.
**Tool:** `PRISMIC_GET_DOCUMENTS_BY_TYPE`
Key parameters:
- `type` (required) -- custom type API ID, e.g., `blog_post`, `article`, `page`
- `page` (default 1) and `pageSize` (1-100, default 20)
- `lang` -- language code filter
- `orderings` -- sort order, e.g., `[my.article.date desc]`
- `after` -- cursor-based pagination for deep pagination beyond page 50
Example prompt: *"Get all blog_post documents in Prismic, 20 per page"*
---
### 4. Full-Text Search
Search across all text fields in documents for specified terms. Case-insensitive, matches on root words.
**Tool:** `PRISMIC_CONTENT_API_GET_DOCUMENTS_WITH_FULLTEXT_SEARCH`
Key parameters:
- `q` (required) -- full-text predicate, e.g., `[[fulltext(document, "machine learning")]]`
- `page`, `pageSize`, `lang`, `orderings` -- same pagination/filtering as other queries
Example prompt: *"Search all Prismic documents for 'machine learning'"*
---
### 5. Get a Single Document by ID
Retrieve a specific document by its unique identifier.
**Tool:** `PRISMIC_GET_DOCUMENT_BY_ID`
Key parameters:
- `document_id` (required) -- unique document identifier
- `ref` (required) -- content ref from repository
- `lang` -- optional language filter
Example prompt: *"Fetch Prismic document Xx2KLhEAAJljVWaA"*
---
### 6. List Custom Types
Discover all custom types (content models) defined in the repository, including their structure definitions.
**Tool:** `PRISMIC_TYPES_API_GET_TYPES`
Key parameters:
- `limit` -- max number of types to return per page
- `page` -- page number (1-indexed)
- `sort` -- sort order, e.g., `name`
Example prompt: *"List all custom types in my Prismic repository"*
---
## Known Pitfalls
- **Ref is required for all content queries:** You must obtain a valid `ref` (typically the master ref) from `PRISMIC_REPOSITORY_API_GET_REFS` or `PRISMIC_REPOSITORY_API_GET_INFO` before querying any documents. Queries without a ref will fail.
- **Predicate syntax requires double brackets:** Prismic queries use double square brackets: `[[at(document.type, "page")]]`. For multiple predicates, combine them: `[[at(document.type, "blog")][at(document.tags, ["featured"])]]`.
- **Deep pagination limit:** Standard page-based pagination may fail beyond page 50. For deep pagination, use the `after` parameter with the last document ID from your previous result set.
- **pageSize cap is 100:** Requesting more than 100 documents per page will be rejected. Use pagination to iterate through larger result sets.
- **Language filtering:** The default language filter is `*` (all languages). If you need documents in a specific locale, always pass `lang` explicitly (e.g., `en-us`, `fr-fr`).
- **Integration fields require separate ref:** When using `PRISMIC_CONTENT_API_GET_DOCUMENTS_WITH_INTEGRATION_FIELDS`, you need an `integrationFieldsRef` in addition to the standard content `ref`.
---
## Quick Reference
| Tool Slug | Description |
|---|---|
| `PRISMIC_REPOSITORY_API_GET_INFO` | Get repository metadata, refs, types, languages |
| `PRISMIC_REPOSITORY_API_GET_REFS` | List all refs (master + releases) |
| `PRISMIC_TYPES_API_GET_TYPES` | List all custom types / content models |
| `PRISMIC_CONTENT_API_QUERY_DOCUMENTS` | Query documents with predicates and pagination |
| `PRISMIC_GET_DOCUMENTS_BY_TYPE` | Fetch documents filtered by custom type |
| `PRISMIC_GET_DOCUMENT_BY_ID` | Retrieve a single document by ID |
| `PRISMIC_CONTENT_API_GET_DOCUMENTS_WITH_FULLTEXT_SEARCH` | Full-text search across all documents |
| `PRISMIC_CONTENT_API_GET_DOCUMENTS_WITH_PREDICATES` | Filter documents with multiple predicate conditions |
| `PRISMIC_CONTENT_API_GET_DOCUMENTS_WITH_INTEGRATION_FIELDS` | Fetch documents with integration fields data |
| `PRISMIC_GET_DOCUMENTS_ORDERED` | Fetch documents sorted by specified fields |
---
*Powered by [Composio](https://composio.dev)*