What problem does it solve? Building a form-builder feature inside the Go CMS requires coordinating many moving parts: site-scoped form ownership, field/element/layout modeling, public submission with CAPTCHA and uploads, result persistence, statuses, and asynchronous trigger/action execution. This Skill encodes the complete architectural contract so the Forms module is implemented consistently without leaking Forms-specific logic into the generic kernel. ## Core Features & Use Cases - Domain Modeling: Defines separate entities for Form, Field, Element, LayoutNode, Status, Result, ResultValue, Action, and ActionExecution with relational integrity and site scoping. - Public Submission Pipeline: Specifies validation, conditional visibility, CAPTCHA verification, transient upload spooling, and atomic Result plus Outbox persistence. - Extensible Actions: Describes a site-runtime-scoped action type registry with a built-in Mail action, async jobs, retries, and runtime transition draining. - Use Case: When adding a contact form with file upload and email notification to a CMS site, follow this Skill to model the form, wire the Mail action by template code, and keep uploads in the Forms-owned spool until executions finish. ## Quick Start Ask the AI to implement the Forms module for the Go CMS backend following the go-cms-forms architecture, starting with the Form aggregate and its required initial consent, CAPTCHA, and submit-button structure.