blueprints-gui — for Claude Code blueprints-gui, xarta-node, community, for Claude Code, ide skills, gui-fallback, BLUEPRINTS_GUI_DIR, nodes.json, manifest.webmanifest, table_layout_catalog

v1.0.0

关于此技能

适用场景: Ideal for AI agents that need blueprints-gui skill. 本地化技能摘要: # blueprints-gui skill Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every xarta-node. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

功能特性

blueprints-gui skill
Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every
xarta-node. Use when editing visual behaviour, tab content, styling, or any
JavaScript feature of the GUI.
Prefer shared GUI components over page-local duplication. If two pages need the same chooser,

# 核心主题

xarta xarta
[0]
[0]
更新于: 4/24/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 10/11

This page remains useful for teams, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution Quality floor passed for review
Review Score
10/11
Quality Score
55
Canonical Locale
en
Detected Body Locale
en

适用场景: Ideal for AI agents that need blueprints-gui skill. 本地化技能摘要: # blueprints-gui skill Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every xarta-node. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

核心价值

推荐说明: blueprints-gui helps agents blueprints-gui skill. blueprints-gui skill Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every xarta-node. This AI agent skill supports Claude Code, Cursor

适用 Agent 类型

适用场景: Ideal for AI agents that need blueprints-gui skill.

赋予的主要能力 · blueprints-gui

适用任务: Applying blueprints-gui skill
适用任务: Applying Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every
适用任务: Applying xarta-node. Use when editing visual behaviour, tab content, styling, or any

! 使用限制与门槛

  • 限制说明: Prefer shared GUI components over page-local duplication. If two pages need the same chooser,
  • 限制说明: Configure helper models through environment-driven LiteLLM-compatible aliases only
  • 限制说明: Do NOT copy or sync between gui-fallback/ and .xarta/gui/ — they are maintained independently

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

评审后的下一步

先决定动作,再继续看上游仓库材料

Killer-Skills 的主价值不应该停在“帮你打开仓库说明”,而是先帮你判断这项技能是否值得安装、是否应该回到可信集合复核,以及是否已经进入工作流落地阶段。

实验室 Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

常见问题与安装步骤

以下问题与步骤与页面结构化数据保持一致,便于搜索引擎理解页面内容。

? FAQ

blueprints-gui 是什么?

适用场景: Ideal for AI agents that need blueprints-gui skill. 本地化技能摘要: # blueprints-gui skill Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every xarta-node. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

如何安装 blueprints-gui?

运行命令:npx killer-skills add xarta/xarta-node/blueprints-gui。支持 Cursor、Windsurf、VS Code、Claude Code 等 19+ IDE/Agent。

blueprints-gui 适用于哪些场景?

典型场景包括:适用任务: Applying blueprints-gui skill、适用任务: Applying Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every、适用任务: Applying xarta-node. Use when editing visual behaviour, tab content, styling, or any。

blueprints-gui 支持哪些 IDE 或 Agent?

该技能兼容 Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer。可使用 Killer-Skills CLI 一条命令通用安装。

blueprints-gui 有哪些限制?

限制说明: Prefer shared GUI components over page-local duplication. If two pages need the same chooser,;限制说明: Configure helper models through environment-driven LiteLLM-compatible aliases only;限制说明: Do NOT copy or sync between gui-fallback/ and .xarta/gui/ — they are maintained independently。

安装步骤

  1. 1. 打开终端

    在你的项目目录中打开终端或命令行。

  2. 2. 执行安装命令

    运行:npx killer-skills add xarta/xarta-node/blueprints-gui。CLI 会自动识别 IDE 或 AI Agent 并完成配置。

  3. 3. 开始使用技能

    blueprints-gui 已启用,可立即在当前项目中调用。

! 参考页模式

此页面仍可作为安装与查阅参考,但 Killer-Skills 不再把它视为主要可索引落地页。请优先阅读上方评审结论,再决定是否继续查看上游仓库说明。

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

blueprints-gui

# blueprints-gui skill Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every xarta-node. This AI agent skill supports Claude Code

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

blueprints-gui skill

Work on the Blueprints GUI — the HTML/CSS/JS dashboard served at /ui on every xarta-node. Use when editing visual behaviour, tab content, styling, or any JavaScript feature of the GUI.

Prefer shared GUI components over page-local duplication. If two pages need the same chooser, picker, modal body, or editor behavior, extract the shared part into one named module and keep page-specific behavior in small adapters or callbacks.

For broad GUI audits, use cost-efficient-subagents to review one file, diff, component, or tab behavior at a time with fresh context. Helpers can identify duplication, accessibility risks, layout regressions, or shared-component opportunities, but the orchestrator owns edits, browser checks, and final testing. Configure helper models through environment-driven LiteLLM-compatible aliases only.


File layout

All source lives in gui-fallback/ (public outer repo). This is the primary Blueprints dashboard GUI — all feature work, layout, and CSS changes start here.

⚠️ The private inner repo (.xarta/gui/) contains an independent private GUI that diverged from gui-fallback/ in 2026. Do NOT copy or sync between gui-fallback/ and .xarta/gui/ — they are maintained independently. The live app serves the private GUI from BLUEPRINTS_GUI_DIR; file changes there take effect immediately without a restart.

PWA / WebAPK manifest behavior (current)

  • gui-fallback/index.html should reference the dynamic manifest endpoint:
    • /api/v1/pwa/manifest
  • The backend route is GET /api/v1/pwa/manifest (public/token-exempt for install flows).
  • Per-node branding (name, short_name, icon paths, theme color) is derived from .nodes.json pwa_* fields with sane fallbacks.
  • Prefer updating .nodes.json branding metadata over editing a static manifest.webmanifest when the goal is per-node WebAPK differentiation.

Required reading for shared table and bucket work

Before changing shared table behavior, read the relevant node-local docs first:

  • /xarta-node/.lone-wolf/docs/web-design/TABLE-MIGRATION.md for moving a page-local table onto the shared frontend table layer
  • /xarta-node/.lone-wolf/docs/web-design/TABLE-BUCKET-MIGRATION.md for moving an already-shared table onto table_layout_catalog and table_layouts
  • /xarta-node/.lone-wolf/docs/web-design/TABLE-BUCKET-MIGRATION-BOOKMARKS.md for the completed bookmarks migration (browse/14, search/19, visits/15) — includes all implementation records, verification steps, and post-migration additions
  • /xarta-node/.lone-wolf/docs/web-design/COLUMN-SIZE-INDEXING.md for the canonical RRUUTTBB bucket contract

If the target is the Nav Items or Form Controls system, read these too before changing storage or layout behavior:

  • /xarta-node/.lone-wolf/docs/web-design/NAV-ITEMS.md
  • /xarta-node/.lone-wolf/docs/web-design/FORM-CONTROLS.md

For shared modal, chooser, or reusable admin-surface work, also read:

  • /xarta-node/.lone-wolf/docs/web-design/MODAL.md
  • /xarta-node/.lone-wolf/docs/web-design/COMPONENT-LIBRARY.md

For ultrawide sidecar debug panel behavior and extending debug scenarios:

  • /xarta-node/.lone-wolf/docs/web-design/ULTRA-WIDE-DEBUG-PANELS.md

If working on Dockge or Caddy probe tabs, also read:

  • /xarta-node/.lone-wolf/docs/dockge/README.md
  • /xarta-node/.lone-wolf/docs/dockge/OPEN-NOTEBOOK.md
  • /xarta-node/.lone-wolf/docs/caddy/CADDY.md

These node-local docs may be unavailable on some LXCs/workspaces, especially in public-scope skill contexts that cannot see node-local/private paths. If missing, continue using this skill and the codebase as the authoritative source.


Load order (index.html)

CSS (in <head>, in this order):

css/tokens.css              ← CSS custom properties + global reset
css/layout-nav.css          ← header, group-tabs, node-meta, table-nav, tab-panel
css/tables.css              ← tables, tags, badges, status colours, ip-chip, kind-badge
css/components.css          ← sync panel, toolbar, buttons, inputs, spinner, backup styles
css/hub-menu.css            ← hub-menu split-dropdown nav bar (shared across all groups)
css/probes-menu.css         ← Probes group nav ID overrides
css/settings-menu.css       ← Settings group nav ID overrides
css/synthesis-menu.css      ← Synthesis group nav ID overrides
css/hub-controls.css        ← form controls (inputs, selects) + HubSelect popup
css/responsive-header.css   ← two-state responsive header + .header-inner compact rules
css/body-shade.css          ← body shade drag handle + fill-table sizing
css/hub-modal.css           ← hub-modal <dialog> component

JavaScript (<script src=...> at end of <body>, must stay in this order):

js/utils.js                  ← esc() HTML-escape utility (used by everyone)
js/api.js                    ← TOTP auth, apiFetch(), openApiKeyModal(), saveApiKey()
js/state.js                  ← global mutable state (_services, _machines, …)
js/connectivity.js           ← offline connectivity diagnostic modal + helpers
js/health.js                 ← loadHealth(), updateKeyBadge(), openIntegrityModal(), lookupHostParent()
js/sync.js                   ← loadSyncStatus()
js/backups.js                ← loadBackups(), createBackup(), confirmRestore(), submitRestore()
js/synthesis/manual-links.js ← Manual Links tab (rendered view + table)
js/synthesis/services.js     ← loadServices(), renderServices(), openAddModal(), submitAddService()
js/synthesis/machines.js     ← loadMachines(), renderMachines()
js/sound-manager.js          ← SoundManager IIFE (tab-switch audio cues)
js/form-control-manager.js   ← FormControlManager IIFE (configurable key-value form controls)
js/hub-modal.js              ← HubModal IIFE — must load before hub-menu.js
js/hub-menu.js               ← createHubMenu() factory — shared nav engine
js/hieroglyphs.js            ← HIEROGLYPHS constant — SVG data-URIs for nav icons
js/synthesis/synthesis-menu.js  ← Synthesis group nav wrapper
js/settings/nodes.js         ← Fleet Nodes tab, fleetUpdate(), nodeRestart/GiPull/PCT
js/settings/keys.js          ← SSH key management + AES-256-GCM key store + deploy UI
js/settings/certs.js         ← Certificates tab
js/settings/docs-history.js  ← Docs history/version panel
js/settings/docs.js          ← Docs editor tab
js/settings/docs-images.js   ← Doc Images tab
js/settings/self-diag.js     ← Self Diagnostic tab (_DIAG_ENDPOINTS, runSelfDiag)
js/settings/settings.js      ← App Config key-value tab
js/settings/pve-hosts.js     ← PVE Hosts tab
js/settings/arp-manual.js    ← Manual ARP tab
js/settings/ai-providers.js  ← AI Providers tab
js/settings/nav-items.js     ← Nav Items tab
js/settings/form-controls.js ← Form Controls tab
js/probes/pfsense.js         ← pfSense DNS tab
js/probes/proxmox-config.js  ← Proxmox Config tab (probe, nets, find-IPs)
js/probes/vlans.js           ← VLANs tab
js/probes/ssh-targets.js     ← SSH Targets tab
js/probes/dockge.js          ← Dockge Stacks tab
js/probes/caddy.js           ← Caddy Configs tab
js/table-pager.js            ← TablePager IIFE — shared pagination engine
js/probes/bookmarks.js       ← Bookmarks/Visits tabs + browser extension feature
js/probes/probes-menu.js     ← Probes group nav wrapper
js/settings/settings-menu.js ← Settings group nav wrapper
js/hub-select.js             ← HubSelect IIFE — custom dropdown with smart positioning
js/responsive-layout.js      ← ResponsiveLayout IIFE — compact/full header observer
js/body-shade.js             ← body-shade drag + fill-table sizing logic
js/origin-menu-state.js      ← origin button menu FSM (IDLE/PRIMARY/CONTEXT); must load before app.js
js/app.js                    ← switchGroup(), switchTab(), DOMContentLoaded bootstrap ← MUST BE LAST

Embed component (after all app JS):

embed/blueprints-node-selector.css   (served via symlink)
embed/blueprints-node-selector.js    (served via symlink)

Current selector contract to keep in mind before editing it:

  • pageSize defines a fixed action-slot region, not a hard-coded three-button worldview
  • short pages are left-padded with placeholder circles so the right edge stays stable
  • when enabled, the last two positions stay fixed as scarab paging button then origin button
  • if /xarta-node/.lone-wolf/docs/web-design/EMBEDDED-GUI.md exists on the current node, read it before changing embed behavior; otherwise inspect the current selector source directly

Synthesis group

TabHTML section idJS file
Services#tab-servicesjs/synthesis/services.js
Machines#tab-machinesjs/synthesis/machines.js

Probes group

TabHTML section idJS file
pfSense DNS#tab-pfsense-dnsjs/probes/pfsense.js
Proxmox Config#tab-proxmox-configjs/probes/proxmox-config.js
VLANs#tab-vlansjs/probes/vlans.js
SSH Targets#tab-ssh-targetsjs/probes/ssh-targets.js
Dockge Stacks#tab-dockge-stacksjs/probes/dockge.js
Caddy Configs#tab-caddy-configsjs/probes/caddy.js

Settings group

TabHTML section idJS file
Settings#tab-settingsjs/settings/settings.js
PVE Hosts#tab-pve-hostsjs/settings/pve-hosts.js
Manual ARP#tab-arp-manualjs/settings/arp-manual.js
Nodes#tab-nodesjs/settings/nodes.js
Keys#tab-keysjs/settings/keys.js
Basic Assumptions#tab-assumptionsjs/settings/assumptions.js
Self Diagnostic#tab-self-diagjs/settings/self-diag.js

CSS topic index

I want to change…File
Colours, fonts, radius, CSS variablescss/tokens.css
Overall page layout, <header>, <main> spacingscss/layout-nav.css
Node meta badges (Gen, OK, FAILED, key count)css/layout-nav.css.badge*
Tab panel show/hidecss/layout-nav.css.tab-panel
Data table headers, rows, hovercss/tables.css
Coloured tags (tag), link badges, name linkscss/tables.css
Status colours (deployed / wip / planned)css/tables.css
IP chips, machine kind badgescss/tables.css
Toolbar, filter inputscss/components.css
Primary / secondary buttonscss/components.css
Loading spinnercss/components.css
Sync status panel gridcss/components.css
Backups table, restore / force-restore buttonscss/components.css
Warning / error / success box colourscss/components.css
Split-dropdown nav bar (all groups)css/hub-menu.css
Probes group nav overridescss/probes-menu.css
Settings group nav overridescss/settings-menu.css
Synthesis group nav overridescss/synthesis-menu.css
Form control inputs, HubSelect dropdown popupcss/hub-controls.css
Responsive two-state header (compact / full)css/responsive-header.css
Body shade drag handle, fill-table sizingcss/body-shade.css
Modal dialogs (<dialog class="hub-modal">)css/hub-modal.css

JS behaviour index

BehaviourFileKey function(s)
API key prompt & localStoragejs/api.jsopenApiKeyModal, saveApiKey
TOTP token generationjs/api.js_computeApiToken
Every API calljs/api.jsapiFetch
Offline diagnostic modaljs/connectivity.jsshowConnectivityDiagnostic
Peer reachability checkjs/connectivity.js_checkPeerNodes
Internet reachability checkjs/connectivity.js_checkInternet
Header: Gen, integrity badge, peersjs/health.jsloadHealth, updateKeyBadge
Integrity FAILED modaljs/health.jsopenIntegrityModal
Host parent lookupjs/health.jslookupHostParent
Switching top group (Synthesis/Probes/Settings)js/app.jsswitchGroup
Switching inner tabsjs/app.jsswitchTab
Page bootstrap (on load)js/app.jsDOMContentLoaded handler
Sync status paneljs/sync.jsloadSyncStatus
Backup list & createjs/backups.jsloadBackups, createBackup
Restore backupjs/backups.jsconfirmRestore, submitRestore
Services tablejs/synthesis/services.jsloadServices, renderServices
Add service modaljs/synthesis/services.jsopenAddModal, submitAddService
Machines tablejs/synthesis/machines.jsloadMachines, renderMachines
Fleet Nodes table + fleet updatejs/settings/nodes.jsloadNodes, fleetUpdate
Node restart / git pull / purge queuejs/settings/nodes.jsnodeRestart, nodeGitPull, nodePurgeQueue
LXC start/stop via PCTjs/settings/nodes.jsnodePct, enrichNodePctStatus
SSH keys list & status tablejs/settings/keys.jsloadKeys, renderKeysTable
Import key bundlejs/settings/keys.jsparseKeyBundle, importSelectedKeys
Encrypted key store (AES-256-GCM)js/settings/keys.jssaveToStore, loadFromStore, openEncrypted
Web Crypto key derive/encrypt/decryptjs/settings/keys.js_ksDeriveKey, _ksEncrypt, _ksDecrypt
Basic Assumptions editor + markdown previewjs/settings/assumptions.jsloadAssumptions, assumptionsSave, _mdToHtml
Self Diagnostic runjs/settings/self-diag.jsrunSelfDiag
Settings key-value storejs/settings/settings.jsloadSettings, saveCidr
PVE Hosts scanjs/settings/pve-hosts.jsscanPveHosts, loadPveHosts
Manual ARP entriesjs/settings/arp-manual.jsloadArpManual, addArpManualEntry
pfSense DNS probejs/probes/pfsense.jsprobePfSense, pingSweep
Proxmox Config full probejs/probes/proxmox-config.jsfullProbeProxmox, probeProxmoxConfig
Find IPs (ARP / PVE / QEMU / pfSense)js/probes/proxmox-config.jsfindIpsByArp, findIpsViaPve, findIpsViaQemuAgent
Proxmox net NIC expand/collapsejs/probes/proxmox-config.jstoggleNets, setAllNets
VLAN CIDR editjs/probes/vlans.jseditVlan
SSH Targets rebuildjs/probes/ssh-targets.jsrebuildSshTargets
Dockge Stacks probejs/probes/dockge.jsprobeDockgeStacks, renderDockgeStacks
Caddy Configs probejs/probes/caddy.jsprobeCaddyConfigs

HTML modals index

All modals use <dialog> elements in index.html. Those with class="hub-modal" use HubModal.open(); legacy dialogs use .showModal() directly.

ModalHTML idOpened by
Add/edit bookmark#bm-modal_bmOpenModal() in bookmarks.js
Add/edit manual link#ml-modalmlOpenModal() in manual-links.js
Add service#add-modalopenAddModal() in services.js
Integrity FAILED#integrity-modalopenIntegrityModal() in health.js
Edit VLAN CIDR#vlan-modaleditVlan() in vlans.js
Upload certificate#certs-upload-modalopenCertsUploadModal() in certs.js
Edit Manual ARP entry#arp-manual-edit-modalopenArpEdit() in arp-manual.js
Edit PVE host#pve-host-edit-modalopenPveHostEdit() in pve-hosts.js
Add/edit setting#setting-modalopenAddSettingModal() / editSetting() in settings.js
Add doc#add-doc-modalopenAddDocModal() in docs.js
View doc#docs-modalopenDocsModal() in docs.js
Delete doc confirm#docs-delete-modalopenDocsDeleteModal() in docs.js
Restore confirmation#restore-modalconfirmRestore() in backups.js
Key info#key-info-modalopenKeyInfo() in keys.js
Connectivity diagnostic#diag-modalshowConnectivityDiagnostic() in connectivity.js
API key#api-key-modalopenApiKeyModal() in api.js
Bookmark excluded tags#bm-excl-tag-modal_bmOpenExclTagModal() in bookmarks.js
Bookmark column visibility#bm-cols-modal_bmOpenColsModal() in bookmarks.js
Visit column visibility#vis-cols-modal_visOpenColsModal() in bookmarks.js
Score explain#bm-score-modal_bmOpenScoreModal() in bookmarks.js
Score detail (drill-down)#bm-score-detail-modal_bmOpenScoreDetailModal() in bookmarks.js
Sort explain#bm-sort-explain-modal_bmOpenSortExplainModal() in bookmarks.js

Global state variables (js/state.js)

_services        loaded services array
_machines        loaded machines array
_nodes           loaded nodes array
_settings        loaded settings array
_nodeName        display name of this node (from /health)
_selfNodeId      node_id from /health
_activeGroup     current top-level nav group ('synthesis'|'probes'|'settings')
_pfsenseDns      pfSense DNS records
_proxmoxConfig   Proxmox config rows
_proxmoxNetsMap  config_id → [net, …] map
_dockgeStacks    Dockge stack rows
_dockgeServicesMap  stack_id → [service, …] map
_caddyConfigs    Caddy config rows
_pveHosts        PVE hosts rows
_vlans           VLAN rows
_arpManual       Manual ARP rows
_sshTargets      SSH target rows
_keys            SSH key status rows
_parsedBundle    Parsed key entries from import textarea
_pctPollInterval setInterval handle for PCT status polling

Constants defined in js/connectivity.js (available globally since loaded first):

_LS_DIAG_NODE     localStorage key: this node's node_id
_LS_DIAG_HOST     localStorage key: cached parent host name
_LS_DIAG_HOST_TS  localStorage key: timestamp of cached parent
_LS_DIAG_NODES    localStorage key: cached peer node list
_HOST_TTL_MS      TTL for cached host parent (1 hour)

Embed component

Node selector lives in gui-embed/ (separate subdirectory):

  • gui-embed/blueprints-auth.js — TOTP auth helper for embed
  • gui-embed/blueprints-node-selector.js<blueprints-node-selector> web component
  • gui-embed/blueprints-node-selector.css — styles for the selector
  • gui-embed/config.example.js — configuration example

Symlinked into the GUI serve directory via setup-blueprints.sh.


Database view pages

Separate HTML pages for DB schema viewing:

  • gui-fallback/database-diagram.html → uses gui-db/database-diagram.css + gui-db/database-diagram.js
  • gui-fallback/database-tables.html → uses gui-db/database-tables.css + gui-db/database-tables.js

These are standalone pages, not part of the main SPA.

When asked to commit and push ALL repos always including the lone wolf repo. Lone wolf repo is specific to each node and not distributed. Sometimes you'll be asked to also commit and push each lone wolf repo on each node separately via ssh. That is a separate concern to commit and push all repos.

相关技能

寻找 blueprints-gui 的替代方案 (Alternative) 或可搭配使用的同类 community Skill?探索以下相关开源技能。

查看全部

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

Generate customizable widget plugins for the prompts.chat feed system

149.6k
0
AI

flags

Logo of vercel
vercel

The React Framework

138.4k
0
浏览器

pr-review

Logo of pytorch
pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

98.6k
0
开发者工具