smithery/bnomei

kirby-plugin-development

Builds or extends Kirby plugins using hooks, extensions, blocks, KirbyTags, and shared templates/controllers. Use when creating reusable features or integrating Panel customizations.

Installation

$ npx skills add smithery/bnomei --skill kirby-plugin-development

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/bnomei · top by installs.

npx skills add smithery/bnomei

Browse all from smithery/bnomei

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,999 B
  • docs SUMMARY.md 214 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Kirby Plugin Development

KB entry points

  • kirby://kb/scenarios/04-share-templates-controllers-via-plugin
  • kirby://kb/scenarios/05-kirbytext-kirbytags-hooks
  • kirby://kb/scenarios/15-custom-blocks-nested-blocks
  • kirby://kb/scenarios/17-extend-kirbytags
  • kirby://kb/scenarios/59-monolithic-plugin-setup
  • kirby://kb/scenarios/60-plugin-workflow-local-testing

Required inputs

  • Plugin id (vendor/name) and scope.
  • Extension points (hooks/fields/tags/blocks/sections).
  • Distribution plan (project-only or composer package).

Minimal plugin skeleton

Kirby::plugin('vendor/name', [
  'hooks' => [],
  'blueprints' => [],
  'snippets' => [],
]);

Local testing

  • Use the local workflow guide to test without publishing.
  • Render affected pages and verify plugin registration.

Common pitfalls

  • Using inconsistent plugin ids or folder names.
  • Registering hooks that assume Panel or API is always enabled.

Workflow

  1. Define the plugin id (vendor/name), feature scope, and whether it must be reusable across projects.
  2. Call kirby:kirby_init and read kirby://roots to locate plugin roots.
  3. Inspect existing plugins to avoid duplication: kirby:kirbypluginsindex.
  4. Use extension and hook references:

- kirby://extensions and kirby://extension/{name} - kirby://hooks and kirby://hook/{name}

  1. Search the KB with kirby:kirby_search (examples: "kirbytext hooks", "extend kirbytags", "custom blocks", "share templates via plugin", "monolithic plugin setup").
  2. Implement the plugin with a minimal index.php registration, then add blueprints/snippets/assets as needed.
  3. Verify by rendering affected pages with kirby:kirbyrenderpage and confirming the plugin loads without errors.