Agent skill
kirby-scaffold-page-type
Scaffolds a new Kirby page type (blueprint + template, optional controller/model) using project roots, index tools, and Panel field/section references. Use when creating a new page type or extending an existing blueprint/template.
Install this agent skill to your Project
npx add-skill https://github.com/bnomei/kirby-mcp/tree/main/skills/kirby-scaffold-page-type
SKILL.md
Kirby Scaffold Page Type
Quick start
- Follow the workflow below to scaffold a new page type safely.
KB entry points
kirby://kb/scenarios/01-scaffold-page-typekirby://kb/scenarios/22-custom-post-typeskirby://kb/scenarios/30-create-a-blog-sectionkirby://kb/scenarios/31-one-pager-site-sectionskirby://kb/scenarios/06-blueprints-reuse-extends
Required inputs
- Page type name and required fields.
- Panel UX expectations and any reuse/extends needs.
- Template/controller/model naming preferences.
Minimal scaffold
Blueprint:
title: Example
fields:
title:
type: text
Template:
<?php snippet('header') ?>
<?php snippet('footer') ?>
Default controller/model
Controller:
return function ($page) {
return ['page' => $page];
};
Model:
class ExamplePage extends Page
{
}
Naming checklist
- Template filename matches blueprint id.
- Controller filename matches template name.
- Model class name matches template name in StudlyCase.
Common pitfalls
- Mismatched template, blueprint, and controller names.
- Creating a Panel type without a matching blueprint.
Workflow
- Ask for page type name, required fields, Panel UX expectations, and whether to extend an existing type.
- Call
kirby:kirby_initand readkirby://rootsto locate templates, blueprints, controllers, models, and snippets. - Check for name collisions and existing patterns:
kirby:kirby_templates_indexkirby:kirby_blueprints_indexkirby:kirby_controllers_indexkirby:kirby_models_index
- If extending an existing type, read it with
kirby:kirby_blueprint_readbefore generating new files. - Use Panel reference resources for field and section choices:
kirby://fieldskirby://sections
- Search the KB with
kirby:kirby_search(examples: "scaffold page type", "blueprints reuse extends", "custom post types", "create a blog section", "one pager site sections"). - Create minimal, convention-aligned files; prefer snippets for reusable view logic.
- Verify with
kirby:kirby_render_page(noCache=true)when runtime is available; otherwise runkirby:kirby_runtime_statusandkirby:kirby_runtime_installfirst. - Optionally run
kirby:kirby_ide_helpers_statusandkirby:kirby_generate_ide_helpers(dry-run first) to keep IDE types in sync.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
kirby-i18n-workflows
Manages Kirby multi-language workflows, translations, and localized labels. Use when dealing with languages, translation keys, placeholders, or importing/exporting translations.
kirby-security-and-auth
Secures Kirby sites with access restriction, user roles, permissions, and protected downloads. Use when implementing login/role-based access, permissions, or file protection.
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.
kirby-performance-and-media
Improves Kirby performance and media delivery (cache tuning, CDN, responsive images, lazy loading). Use when optimizing page speed, caching, or image handling.
kirby-panel-and-blueprints
Designs Kirby blueprints and Panel UI, including blueprint reuse/extends, programmable blueprints, and custom Panel fields/sections/areas. Use when changing the Panel experience or schema.
kirby-upgrade-and-maintenance
Upgrades Kirby and maintains dependencies safely using composer audit, plugin compatibility checks, and official docs. Use when updating Kirby versions or making maintenance changes that affect runtime.
Didn't find tool you were looking for?