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 DisplayField for former custom sections, InputField for input and ValueField for 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, preserve value/input, declare emits and never bundle a second Vue runtime.
  • Bundle compatible kirbyuse if needed, leaving Vue external; see kirby://kb/panel/tooling-kirbyuse for 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.

KB entry points

Installs
7
GitHub Stars
66
First Seen
Apr 1, 2026