一键导入
extensions-and-components
Use HTML adapters, JS hook seams, and component loading correctly in the layered module system.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use HTML adapters, JS hook seams, and component loading correctly in the layered module system.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Read the supplemental project documentation module
Frontend development router. Load deeper skills before editing
Use the frontend API surface correctly for app files, discovery, identity, and permission-aware browser data access.
Inspect, navigate, and interact with open browser surfaces through space.browser
Open or close stand-alone browser windows
Editable frontend runtime rules for framework pages, stores, shared runtime namespaces, and reusable visual patterns.
| 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.
<x-extension id="some/path">.mod/<author>/<repo>/ext/html/some/path/*.html.ext/html/ automatically.<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.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.head seams and the x-component nodes they insert are loaded the same way as body content.#/; _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 _core/onscreen_menu/items with numeric data-order values such as 100, 200, 300, and 400; _core/onscreen_menu sorts contributed controls or items automatically and keeps only the auth exit action after the dropdown seam.Example:
<x-extension id="page/router/overlay/end"></x-extension>
<x-component path="/mod/_core/onscreen_agent/panel.html"></x-component>
space.extend(import.meta, async function name(...) { ... }) for behavioral seams.mod/<author>/<repo>/ext/js/<extension-point>/*.js or *.mjs./start and /end hooks around the wrapped function automatically.space.extend() requires a valid module ref and a standalone named function or explicit extension point name._core/framework/initializer.js/initialize; use _core/framework/head/end when the work can stay declarative, and keep the initializer /end hook for once-per-page shell setup that must stay imperative.ext/js/_core/onscreen_agent/... hook from that feature instead of editing _core/onscreen_agent directly.ext/ folders when those files should follow the same readable-layer permissions and same-path override rules as HTML and JS extensions.ext/panels/*.yaml, which the dashboard panel index discovers through file_paths, batch-reads through fileRead(...), and collapses to one effective manifest per modulePath + manifestName.<x-component> may load a full HTML document or a fragment.<x-component> tags.<x-component> target reuse the in-flight load; they must not bail out in a way that leaves late-mounted components partially hydrated.x-component discovery watches document.documentElement, not only body, so head-side components hydrate too.<x-context> with data-runtime="browser" on normal web sessions or data-runtime="app" in the packaged desktop runtime; packaged app routes derive that from the desktop bridge before falling back to launcher runtime info or frontend config, and that same element also exposes runtime-browser or runtime-app through data-tags.<x-context> elements anywhere in mounted DOM.data-tags="a, b, c".<x-context> are the normal way to keep tags synced with route or store state./mod/_core/framework/js/context.js when code needs to inspect current <x-context> elements directly; the stable helpers are getContexts(...), getAttributeValues(...), getTags(...), and getContents(...).L0 -> L1 -> L2 inheritance chain.maxLayer constrains module and extension resolution but not logical app-file paths.<x-extension> lookups batch before they call /api/extensions_load; the default flush is the next animation frame, and frontend constant HTML_EXTENSIONS_LOAD_BATCH_WAIT_MS in app/L0/_all/mod/_core/framework/js/extensions.js adds an extra wait window in milliseconds before that frame-aligned flush.extensions_load keeps maxLayer at the call level; grouped lookups send ordered patterns arrays and receive ordered results with matching patterns plus resolved extensions.ext/html/... or ext/js/... file, the running page often needs a refresh before discovery catches up.development skill subtree in the same session.