kirby-forms-and-frontend-actions
Implements frontend forms and actions in Kirby (contact forms, file uploads, email with attachments, creating pages from frontend). Use when handling user input or building submission flows.
pinned to #3474420updated 2 weeks ago
Ask your AI client: “install skills/kirby-forms-and-frontend-actions”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/kirby-forms-and-frontend-actionsmetahub onboarded this repo on the author's behalf.
If you own github.com/bnomei/kirby-mcp on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
56
Last commit
2 weeks ago
Latest release
published
- #agent-tools
- #agentic-workflow
- #claude-code
- #cli
- #codex-cli
- #commands
- #developer-tools
- #google-gemini
- #kirby
- #kirby-cms
- #knowledge-base
- #mcp-server
- #model-context-protocol
- #php8
- #prompts
- #resources
- #tools
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.3474420· 2 weeks ago
Kind-specific
31Skill: SKILL.md present
found at skills/kirby-forms-and-frontend-actions/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
259 words · 2,062 chars · 7 sections · 1 code block
Skill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: allowed-tools scope
no allowed-tools restriction (Claude may use anything)
Release history
1- releasecurrent3474420warn2 weeks ago
Contents
KB entry points
kirby://kb/scenarios/39-basic-contact-formkirby://kb/scenarios/40-frontend-file-uploadskirby://kb/scenarios/41-email-with-attachmentskirby://kb/scenarios/42-creating-pages-from-frontendkirby://kb/scenarios/43-user-registration-and-login
Required inputs
- Form fields and validation rules.
- Spam protection choice and error handling expectations.
- Storage target and email settings.
- Upload constraints (MIME/size) if files are involved.
Default controller flow
- Verify CSRF and require the expected POST fields.
- Validate and normalize input; return errors early.
- Apply a single spam guard (default: honeypot).
- Persist data or send email, then redirect with a success state.
Error payload shape
return [
'errors' => ['email' => 'Invalid email'],
'old' => $data,
];
Upload storage convention
- Store files under a dedicated page (e.g.
page('uploads')) or the current page. - Normalize filenames and enforce MIME/size limits before saving.
Common pitfalls
- Missing CSRF verification on POST handlers.
- Accepting uploads without MIME or size checks.
Workflow
- Clarify the form type, validation rules, spam protection, storage target, and email requirements.
- Call
kirby:kirby_initand readkirby://roots. - Inspect existing templates/controllers/snippets for patterns:
kirby:kirby_templates_indexkirby:kirby_controllers_indexkirby:kirby_snippets_index
- Read relevant config options via
kirby://config/{option}(e.g.email,routes) when needed. - Search the KB with
kirby:kirby_search(examples: "basic contact form", "frontend file uploads", "email with attachments", "creating pages from frontend"). - Implement controller-driven validation and CSRF checks; keep templates thin and escape output.
- For uploads, enforce MIME/size limits and store files in safe locations.
- Verify by submitting forms in a browser and rendering success/error states with
kirby:kirby_render_page.
Reviews
No reviews yet. Be the first.
Related
orchestration-patterns
>
migration-patterns
>
deployment-sop
>
mh install skills/kirby-forms-and-frontend-actions