一键导入
app-chat
The user's chat screen in the Vesta app (web, desktop, mobile). Reply to `source=app-chat` notifications via `app-chat send`. Requires daemon.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
The user's chat screen in the Vesta app (web, desktop, mobile). Reply to `source=app-chat` notifications via `app-chat send`. Requires daemon.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use before building or modifying the user's dashboard: widgets, pages, layouts, custom UI. Understand what the user wants, design it, write a spec, then dispatch the dashboard-builder to build it.
Browse, navigate, click, fill forms, screenshot, or scrape web pages with a stealth (Camoufox) browser.
Google-native REST APIs (Gmail, Google Calendar) for users who bring their own Google Cloud OAuth client (~/.google/credentials.json required). For everyday email and calendar prefer the email-client skill, which needs no Google Cloud project. Requires daemon.
Tasks, to-dos, reminders, time-based alerts; create and manage. Requires daemon.
WhatsApp messages, contacts, groups, and live voice calls (place/answer, talk in your own voice; not generic text/SMS). Use to message or call someone on WhatsApp.
Telegram: send/receive messages; reply to source=telegram notifications. Requires daemon.
| name | app-chat |
| description | The user's chat screen in the Vesta app (web, desktop, mobile). Reply to `source=app-chat` notifications via `app-chat send`. Requires daemon. |
App chat is the built-in chat screen of the Vesta app on web, desktop, and mobile: the user's direct line to you, no third-party account involved. Messages the user types there arrive as source=app-chat notifications; replies sent with app-chat send appear in their chat live (and as a push notification when they are away). Treat it as a first-class messaging channel with the texting style below.
uv tool install --editable ~/agent/skills/app-chat/cli
Daemon: app-chat daemon start|stop|restart|status:
daemon_died notificationManage the daemon through these commands, not raw screen.
Restart: Add to the ## Daemons section of ~/agent/skills/restart/SKILL.md:
running app-chat || { app-chat daemon start; sleep 1; }
app-chat daemon start registers the app-chat service (getting its port) and starts the HTTP
server (intake, history, and the live /ws chat socket).
app-chat daemon status
app-chat send --message 'Hello!'
app-chat history --search 'query'
app-chat history --limit 20
app-chat channel, serving POST /message (intake) and GET /history on its registered port, backed by its own store (~/.app-chat/app-chat.db)source=app-chat notification itself, so a dead process never drops a message the app already showed as deliveredapp-chat send: the reply is persisted to the store, then fanned to any connected /ws chat sockets so the app sees it liveapp-chat history and app-chat history --searchapp-chat send, not through any other channelsend enforces short-bubble texting: a wall (over ~220 chars, or any text after a full stop) is rejected so you re-send as several short calls, one thought each. Don't use full stops at all: a ., ! or ? may only close a bubble, never carry text after it. Ellipses stay free, they're a beat rather than a stop. For genuine reference material the user asked for (a brief, a code block, a list), pass --longform to bypass1. or 2) is not a full stop, so a list does not need --longform[label](url) for links. Newlines work