kirby-plugin-development
Installation
SKILL.md
Kirby Plugin Development
Use Kirby 6 conventions for new work. For existing Panel plugins, consult kirby://kb/panel/compat-k5-k6-migration before porting code.
Kirby 6 plugin contracts
- Register PHP field classes, not arrays. Use
DisplayFieldfor former custom sections,InputFieldfor input andValueFieldfor value-only fields. Built-in sections auto-convert; custom sections do not. - Build Panel code for Vue 3 with kirbyup 4 / Node.js 24+. Import Vue from
vue, preservevalue/input, declare emits and never bundle a second Vue runtime. - Bundle compatible kirbyuse if needed, leaving Vue external; see
kirby://kb/panel/tooling-kirbyusefor loader details. - Use trusted-HTML APIs only with escaped/sanitized input. Use Panel instance APIs and route controller
action/factory()contracts; preserve valid closures. - Auth methods/challenges are instance classes under
Kirby\Auth; pending login is not authenticated. Hash challenge secrets and test recovery/denied paths.