← ClaudeAtlas

bridge-feature-slicelisted

Use when adding or changing a capability in this repo that users should reach — a new endpoint, panel, command, or piece of session data. Names every file the change has to touch across the bot, the Mini App and the dashboard, in order, so a surface doesn't get left behind. Use before writing code, not after.
ainurdev/mystical-assistant · ★ 6 · AI & Automation · score 81
Install: claude install-skill ainurdev/mystical-assistant
# Wiring a capability across the three surfaces A feature here is never one file. The same capability has to reach a Telegram chat, a phone-sized Mini App and a desktop dashboard, each with its own server, its own client and its own auth. Leave one out and the product quietly disagrees with itself. ## The slice, in order Trace an existing feature before you start — `attribution` / "breakdown" is a clean, recent one to copy: | # | Layer | File | Rule | |---|-------|------|------| | 1 | Logic | `bridge/<feature>.py` | Stdlib only. Module docstring says *why*, including what you chose not to build. Best-effort features swallow their own errors — nothing may raise into the turn lifecycle. | | 2 | Storage | `bridge/store.py` | Only if it must outlive the process. SQLite; migrations live here too. | | 3 | Dashboard route | `bridge/dashboard/server.py` → `_get_api()` / `do_POST` | `self._json(...)`. POST is gated on Host + Origin + `X-Dash-Token`. | | 4 | Mini App route | `bridge/miniapp/server.py` | Same data, `/api/...` prefix, auth is a validated `X-Telegram-Init-Data`. | | 5 | Dashboard client | `bridge/dashboard/web/src/api.ts` | Typed `req<T>`; export the interface. | | 6 | Mini App client | `bridge/miniapp/web/src/lib/api.ts` | Typed `request<T>`. | | 7 | Dashboard UI | `bridge/dashboard/web/src/components/hud/` | HUD panel — see the `mystical-assistant-design` skill. | | 8 | Mini App UI | `bridge/miniapp/web/src/components/` | Sheet/tab, 390px-first. | | 9 | Bot | `bridg