Claude Code Plugins

Community-maintained marketplace

Feedback

kirby-headless-api

@bnomei/kirby-mcp
17
0

Expose Kirby content to headless clients using the API, KQL, and JSON representations. Use when building API endpoints, KQL queries, or headless frontends.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name kirby-headless-api
description Exposes Kirby content to headless clients using the API, KQL, and JSON representations. Use when building API endpoints, KQL queries, or headless frontends.

Kirby Headless API

KB entry points

  • kirby://kb/scenarios/44-headless-api-with-kql
  • kirby://kb/scenarios/02-json-content-representation-ajax-load-more
  • kirby://kb/scenarios/45-headless-kiosk-application
  • kirby://kb/scenarios/28-figma-auto-populate

Required inputs

  • Consumers and auth requirements.
  • Public vs private content boundaries.
  • Response shape and caching policy.
  • Preferred approach (KQL, representations, or routes).

Default delivery choices

  • Use .json representations for page-backed responses.
  • Use KQL for cross-collection queries and filtered datasets.
  • Use routes for non-page or composite endpoints.

Default response envelope

{
  "status": "ok",
  "data": {}
}

Caching rule

  • Public endpoints: set Cache-Control with a short max-age.
  • Authenticated endpoints: disable caching.

Common pitfalls

  • Exposing private fields or drafts in JSON output.
  • Caching authenticated responses.

Verification checklist

  • Confirm auth requirements and public/private boundaries.
  • Validate JSON output for required fields.

Workflow

  1. Clarify consumers, authentication, and which content is public vs private.
  2. Call kirby:kirby_init and read kirby://config/api to confirm API settings.
  3. Check plugin availability for KQL: kirby:kirby_plugins_index.
  4. If you need custom endpoints, inspect existing routes with kirby:kirby_routes_index (install runtime if needed).
  5. Search the KB with kirby:kirby_search (examples: "headless api with kql", "json content representation", "figma auto populate", "headless kiosk").
  6. Use kirby:kirby_online to fetch official API/KQL docs when KB coverage is insufficient.
  7. Implement:
    • enable API auth (api.basicAuth) when required
    • create or update KQL queries for /api/query
    • add .json representations for template-backed JSON
  8. Verify:
    • request /api/query with Basic Auth
    • render .json representations with kirby:kirby_render_page(contentType: json)