← Back to list

kirby-routing-and-representations
by bnomei
CLI-first MCP server for composer-based Kirby CMS projects — inspect blueprints/templates/plugins, interact with a real Kirby runtime, and use a bundled Kirby knowledge base.
⭐ 20🍴 0📅 Jan 20, 2026
SKILL.md
name: kirby-routing-and-representations description: Implements custom Kirby routes and content representations (.json/.xml/.rss), including redirects, sitemap endpoints, and URL pattern filtering. Use when building endpoints, redirects, or representation templates that change how URLs resolve.
Kirby Routing and Representations
KB entry points
kirby://kb/scenarios/13-custom-routeskirby://kb/scenarios/21-filtering-via-routeskirby://kb/scenarios/49-sitemap-xml-routekirby://kb/scenarios/78-trailing-slash-and-canonical-urlskirby://kb/scenarios/02-json-content-representation-ajax-load-more
Required inputs
- URL pattern and HTTP methods.
- Response type and content language behavior.
- Redirect or canonicalization rules.
Decision guide
- Use content representations for page-backed JSON/XML/RSS.
- Use routes for non-page endpoints, redirects, or custom logic.
- Avoid greedy patterns that shadow representations.
Pattern hint
- Put specific routes before catch-alls; avoid top-level
(:all)when using representations.
Canonical redirect example
[
'pattern' => '(:any)/',
'action' => function ($path) {
return go('/' . trim($path, '/'), 301);
}
]
Common pitfalls
- Route patterns that shadow
.jsonor.rssrepresentations. - Expecting
kirby:kirby_render_pageto execute route logic.
Workflow
- Clarify the URL pattern, HTTP methods, response type, and language behavior.
- Call
kirby:kirby_initand readkirby://rootsto locate config and template roots. - Read
kirby://config/routesto understand current route configuration. - If runtime is available, call
kirby:kirby_routes_indexto see registered patterns; otherwise runkirby:kirby_runtime_statusandkirby:kirby_runtime_installfirst. - Inspect existing templates/controllers to avoid collisions:
kirby:kirby_templates_indexkirby:kirby_controllers_index
- For content representations, add
site/templates/<template>.<type>.phpand optionalsite/controllers/<template>.<type>.php. - For routes, add or adjust
routesinsite/config/config.phpor a plugin. Avoid greedy patterns that shadow.json/.rssrepresentations. - Validate output:
- use
kirby:kirby_render_page(contentType: json|xml|rss)for representations - manually hit route URLs for router behavior (render does not execute the router)
- use
- Search the KB with
kirby:kirby_search(examples: "custom routes", "json content representation", "filtering via routes", "sitemap.xml", "trailing slash").
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon


