| name | Extensions And Components |
| description | Use HTML adapters, JS hook seams, and component loading correctly in the layered module system. |
Use this skill when the task needs ext/html/, ext/js/, x-extension, x-component, x-context, or layered override behavior.
HTML Extension Rules
- Declare structural seams with
<x-extension id="some/path">.
- Matching HTML files live at
mod/<author>/<repo>/ext/html/some/path/*.html.
- HTML callers name only the seam; the runtime resolves
ext/html/ automatically.
- Keep extension files thin. They should usually mount a real component with
<x-component path="/mod/...">.
_core/framework also creates _core/framework/head/end in document.head during bootstrap when a layer needs head-side HTML or inline bootstrap code without editing page shells.
- Use framework
x-inject="selector" instead of raw Alpine x-teleport when route-owned markup targets a shell seam that may mount later; it mirrors teleport semantics for <template> roots, waits for the selector, and disconnects its observer when the source template unmounts.
- Dynamic discovery watches the whole document tree, so
head seams and the x-component nodes they insert are loaded the same way as body content.
- The routed shell header owns Home itself and points it at the empty route
#/; _core/onscreen_menu/bar_start and _core/onscreen_menu/bar_end are the left and right shell-control seams, and feature modules add non-Home dropdown menu-action buttons under with numeric values such as , , , and ; sorts contributed controls or items automatically and keeps only the auth exit action after the dropdown seam.