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.
pinned to #3474420updated 3 weeks ago
Ask your AI client: “install skills/kirby-headless-api”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/kirby-headless-apimetahub onboarded this repo on the author's behalf.
If you own github.com/bnomei/kirby-mcp on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
56
Last commit
3 weeks ago
Latest release
published
- #agent-tools
- #agentic-workflow
- #claude-code
- #cli
- #codex-cli
- #commands
- #developer-tools
- #google-gemini
- #kirby
- #kirby-cms
- #knowledge-base
- #mcp-server
- #model-context-protocol
- #php8
- #prompts
- #resources
- #tools
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.3474420· 3 weeks ago
Kind-specific
31Skill: SKILL.md present
found at skills/kirby-headless-api/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
249 words · 2,013 chars · 8 sections · 1 code block
Skill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: allowed-tools scope
no allowed-tools restriction (Claude may use anything)
Release history
1- releasecurrent3474420warn3 weeks ago
Contents
KB entry points
kirby://kb/scenarios/44-headless-api-with-kqlkirby://kb/scenarios/02-json-content-representation-ajax-load-morekirby://kb/scenarios/45-headless-kiosk-applicationkirby://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
.jsonrepresentations 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-Controlwith 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
- Clarify consumers, authentication, and which content is public vs private.
- Call
kirby:kirby_initand readkirby://config/apito confirm API settings. - Check plugin availability for KQL:
kirby:kirby_plugins_index. - If you need custom endpoints, inspect existing routes with
kirby:kirby_routes_index(install runtime if needed). - Search the KB with
kirby:kirby_search(examples: "headless api with kql", "json content representation", "figma auto populate", "headless kiosk"). - Use
kirby:kirby_onlineto fetch official API/KQL docs when KB coverage is insufficient. - Implement:
- enable API auth (
api.basicAuth) when required - create or update KQL queries for
/api/query - add
.jsonrepresentations for template-backed JSON
- enable API auth (
- Verify:
- request
/api/querywith Basic Auth - render
.jsonrepresentations withkirby:kirby_render_page(contentType: json)
- request
Reviews
No reviews yet. Be the first.
Related
orchestration-patterns
>
migration-patterns
>
deployment-sop
>
mh install skills/kirby-headless-api