What problem does it solve? Developers working in Liferay JSP and FreeMarker files often guess tag names, misuse JSP-only syntax in FTL templates, or hand-write HTML that an existing Clay or liferay-ui tag already covers, leading to compile errors, deprecated markup, and inconsistent UI. ## Core Features & Use Cases - Taglib Reference and Selection: Maps JSP prefixes (aui, liferay-ui, clay, portlet) and FTL namespaces (clay, liferay_aui, liferay_ui) to their .tld sources, with guidance on which library fits each UI need. - Verification Workflows: Provides grep and curl commands against the liferay-portal source and live theme CSS to confirm a tag, macro, or CSS class exists before using it. - Custom Taglib Creation: Covers building a custom JSP taglib from scratch, registering it for FTL via taglib-mappings.properties, mounting React components from tags, and extending built-in taglibs through composition. - Use Case: When converting hand-written HTML in a .jsp or .ftl display template to proper Clay tags, use this Skill to pick the right tag, avoid Jasper attribute-parsing pitfalls, and verify the tag is not deprecated. ## Quick Start Ask which Liferay taglib or FTL macro to use for a specific UI element in your .jsp or .ftl file, or how to build and register a custom taglib.