Awesome-claude-skills Prismic Automation

Automate headless CMS operations in Prismic -- query documents, search content, retrieve custom types, and manage repository refs through the Composio Prismic integration.

install
source · Clone the upstream repo
git clone https://github.com/ComposioHQ/awesome-claude-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComposioHQ/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/composio-skills/prismic-automation" ~/.claude/skills/composiohq-awesome-claude-skills-prismic-automation && rm -rf "$T"
manifest: composio-skills/prismic-automation/SKILL.md
source content

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


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 SlugDescription
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