smithery/bnomei

kirby-headless-api

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

Installation

$ npx skills add smithery/bnomei --skill kirby-headless-api

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/bnomei · top by installs.

npx skills add smithery/bnomei

Browse all from smithery/bnomei

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,218 B
  • docs SUMMARY.md 182 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

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:kirbypluginsindex.
  4. If you need custom endpoints, inspect existing routes with kirby:kirbyroutesindex (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

  1. Verify:

- request /api/query with Basic Auth - render .json representations with kirby:kirbyrenderpage(contentType: json)