What problem does it solve? Provisioning a new Liferay site with pre-built content (pages, web content, documents, KB articles, objects, blueprints, taxonomies, fragments, roles) is error-prone: resource folder conventions are undocumented, token substitution order is opaque, and silent failures like misplaced metadata files produce misleading errors. This Skill encodes the verified contract of Liferay's BundleSiteInitializer engine so you can build, deploy, and debug site initializers correctly the first time. ## Core Features & Use Cases - Resource folder reference: Complete, source-verified table of every folder the engine supports under site-initializer/ (documents, journal-articles, knowledge-base-articles, object-definitions, sxp-blueprints, layouts, fragments, and more), including metadata file placement conventions. - Token substitution guide: Documents [$TOKEN$] and "[#TOKEN#]" replacement tokens (e.g. [$DOCUMENT_FILE_ENTRY_ID:...$], [$OBJECT_DEFINITION_ID:...$]) with dependency-order caveats, plus grep commands to verify against the actual portal source. - Known platform bugs and workarounds: Empirically confirmed issues such as the StructuredContentFolder viewableBy gap, DuplicateFolderNameException from misplaced metadata files, and the inability to target system-required sites, each with a tested fix. - Use Case: You add a journal-articles/ folder to a client extension site initializer and redeploy, but get DuplicateFolderNameException. The Skill tells you the metadata file must be a sibling of the folder directory, not inside it. ## Quick Start Ask the assistant to create a Liferay site initializer client extension that provisions a new site with a home page, web content articles, and a sample object definition.