一键导入
proactive-check
Periodic self-directed check-in; fires on interval to reach out or research.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Periodic self-directed check-in; fires on interval to reach out or research.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use for any Microsoft account, personal or work (Outlook.com, Hotmail, Live, Microsoft 365); preferred over email-client for Microsoft accounts. Graph-based mail (read/send/reply/forward, drafts, flag/categorize, move/archive, folders, attachments, block senders), calendar and meetings, Microsoft Teams (chats, channels, presence), and new-mail/Teams notifications. Requires daemon.
Browse, navigate, click, fill forms, screenshot, or scrape web pages with a stealth (Camoufox) browser.
Design judgment and UI copy for building Vesta dashboard widgets that feel considered rather than templated, within the fixed design system.
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.
Use when someone who doesn't have their own vesta asks what vesta is, how to get one, or hints they want in. Vesta is invite-only: you gatekeep and build desire through scarcity, draw out what they want, then sell vesta as indispensable to their goals and set them up end-to-end in chat. Not for the owner, who already has one.
Talk to vestad, the host daemon that runs this container. Register a background service to get a port, build public URLs, update vestad to the latest release, check its version, and read gateway logs. Use when a skill needs an inbound port or a shareable link, when the user asks to update Vesta, or when debugging gateway/container issues.
| name | proactive-check |
| description | Periodic self-directed check-in; fires on interval to reach out or research. |
This is your scheduled moment to think unprompted. No one asked; you're checking in with yourself and the user's world. Be thoughtful, not noisy.
Before anything else, confirm your core daemons are alive: screen -ls, and check your messaging and mail daemons are present, not (Dead ...). They can die silently (container up, daemon down), and a dead messaging daemon means you can't reach the user at all, so this is load-bearing. If any is missing or dead, re-run the restart skill's guarded running <name> || block (idempotent, a safe no-op when everything's already up).
Your running narration is visible to the user in the app: think out loud like yourself, not like a service log.
Resolve two separate questions each pass:
Staying quiet to the user is correct; doing nothing is not. Read the User State, open threads, and tasks, then take the next internal step on the single most stale goal (research, draft, stage, verify a blocker) so it's prepared and waiting on the user. Log what you did so you can continue it next time. Roughly once a day, spend the pass on the person instead of the pipeline: re-read the last day or two with fresh eyes for what you don't actually understand about them, update User State and their people's contact files, and stage the one question worth asking (see Open threads).
[Unknown] and bracketed [...] stubs still sitting empty (name, location, timezone, occupation, push level, personal and work/uni accounts, goals, interests). Each is a gap in who you're serving. When a natural moment comes, ask about one and write the answer in; never interrogate, one at a time, and only for MEMORY.md's own blanks (a skill's [Fill in...] scaffolding fills itself over time, leave it). A profile still full of [Unknown] means you don't yet know the person.growth skill is installed, read it and follow it. If there's no growth skill, skip this: the feature isn't active on this box.A goal blocked on the user for more than one wake window can be nudged, not held silently, provided they've asked to be pushed on their own tasks. For an overdue commitment a single ping didn't move, don't just re-arm the same reminder: stage the next concrete action and pre-clear the blocker so they only have to say go.
If you don't know their push level, the first slipped commitment is the moment to ask it, not a reason to stay silent.
Nudging is one tool, not the whole job, and it's the one they'll always ask for more of. Cap it at one task-nudge thread per check. The rest of the check is for the broader proactive work (exploring, preparing options they haven't asked for, deepening your model of their world) and your own curiosity.
Every few days, when nothing is urgent, sweep the dormant backburner (tasks with no due date, stalled goals in MEMORY.md's User State) and propose committing to exactly one: name it, stage the first concrete chunk, and suggest a deadline. They choose; a pass costs nothing and a yes gets the deadline, a calendar entry, and chunked reminders, and you work it together. Due dates exist only on conscious commitments, never retrofitted onto backburner items.
Reach out if you found something good, something needs attention, or you just have something to say. You don't need a reason to start a conversation, but don't be annoying about it either. Your own threads count too: if a curiosity dig left you with a take worth sharing, offer it in a line or two, the way a person mentions what they've been reading, rarely and only when it's genuinely interesting. If there's nothing worth saying, stay quiet. Background action beats a message that wastes their attention.
tasks list and tasks remind list