Living UI Manager
SkillDev toolsManage and operate Living UI projects — list, inspect, launch, stop, restart, use their data/ops, and diagnose issues. No code changes.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Living UI Manager skill
What this skill tells your AI
The instructions your AI receives, as published by craftos-dev/craftbot in skills/living-ui-manager/SKILL.md and read by ahel’s review.
Operate and manage existing Living UIs. Never edit code here — if a request needs code changes, that's living-ui-modify.
Inventory
- Registry:
agent_file_system/workspace/living_ui_projects.json— id, name, status, port, path per project. - Per project:
manifest.json(port, authMode, pipeline),LIVING_UI.md(what it does),operations.json(its verbs).
Lifecycle
living_ui_notify_ready(project_id)— validate + launch (or relaunch).living_ui_restart(project_id)— stop then full relaunch.- A running app serves everything on ONE port:
http://localhost:<port>— the UI, the PB REST API (/api/collections/...), declared ops, and discovery atGET /api/_ops.
Operating an app (using it on the user's behalf)
Use the lui CLI via run_shell. ALWAYS use the ABSOLUTE CLI path —
the shell's cwd is NOT the repo root, so relative paths fail. The CLI is
<craftbot-root>/living-ui/tools/src/cli.ts (craftbot-root = parent of
agent_file_system; in a Living UI session the [INTERACTING WITH LIVING UI]
note contains the exact ready-to-run commands). <CLI> and <project> below
are absolute paths.
- Discover what the app can do:
node <CLI> ops <project> - Declared op exists → run it:
node <CLI> run <project> <op-name> --param valueOps markedDESTRUCTIVE→ confirm with the user first. - No op → generic data access:
node <CLI> data <project> <collection> list --filter '...' --sort '-created' --limit 20node <CLI> data <project> <collection> create --json '{"field":"value"}'node <CLI> data <project> <collection> update <id> --json '{...}'/delete <id>Read freely; write only what the app's own UI offers. - Needs new capability → say so and offer a modification instead of hacking around it.
Fallback only when the shell is unavailable: the living_ui_http action
speaks to the same API.
Diagnosing
- Status
error: read the project'serrorfield in the registry, thenlogs/pocketbase.log(server/migrations) andlogs/frontend_console.log(frontend). Report findings honestly; hand fixes to living-ui-modify. - Never start
pocketbase/npmprocesses by hand; never touchpb_data/or.superuser.
Signals
- GitHub stars
- 382
- Forks
- 45
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
living-ui-manager- Source
- github.com/craftos-dev/craftbot