跳到正文
cccskills
免费在 GitHub 公开中文介绍

Vigil

读取 Vigil 共享事件日志,查看系统状态、近期通知和待处理摘要,也可记录新事件。系统每五分钟按严重程度分流事件,分别发送短信、加入摘要或显示在面板中。

原文查看原文说明

Front door to Vigil, the always-on monitoring layer: every subsystem and scheduled job logs events in one format, a five-minute tick routes them by severity to a text, the digest, or the dashboard, and this skill reads or feeds that log. USE WHEN what is going on, what's happening right now, anything I should know, vigil, vigil status, is the tick alive, heartbeat, post an event, log this to vigil, emit an event, pending digest, what got held, install vigil, vigil policy. NOT FOR filing a complaint about a system (Errata), standing questions and their answers (the Socrates ledger), or the vulnerability registry itself (Achilles).

danielmiessler/LifeOS星标 19,635(GitHub 19,635 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • 确认监控是否正在运行
  • 查看等待摘要的通知
  • 记录定时任务产生的事件
  • 设置 Vigil 监控

中文介绍

功能

Vigil 提供统一入口,用于读取各子系统和定时任务写入的共享事件日志。你可以查看系统状态和通知、记录事件,以及查看等待摘要处理的项目。事件采用统一格式,每五分钟由一个处理流程按严重程度分流:严重和高优先级事件会发送短信,中等优先级事件进入摘要,低优先级和信息类事件则显示在面板中。

适用场景

想在一处查看多个后台处理的状态、记录定时任务中发生的事情,或检查哪些事件被暂缓并放入摘要时,可以使用 Vigil。也可以请求设置监控处理流程。

使用示例

  • “现在有什么需要告诉我的吗?”
  • “Vigil 的监控处理流程正在运行吗?”
  • “请在 Vigil 中记录证书即将到期。”

注意事项

使用远程存储时,需要设置环境变量 VIGIL_URL 和 VIGIL_TOKEN。未设置时,读取器会使用本地事件日志。事件中不得包含金额、个人姓名或凭据。只有在收到请求后才会安装监控处理流程。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
A良好事件不得包含金额、姓名或凭据;安装须收到请求。
安装难易度所需工具和 API 密钥是否少且有说明
B部分不足远程存储需要两个环境变量,具体设置方法在其他资料中。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月28日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(6)

  • SKILL.md6.8 KB
  • Intents/Digest.md1.8 KB
  • Intents/Emit.md4.6 KB
  • Intents/Install.md1.3 KB
  • Intents/Status.md2.4 KB
  • Setup.md18.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Vigil

Vigil is the log every part of LifeOS writes to when something happens, and the reader that decides whether you need to hear about it. Subsystems (standing questions, app health, vulnerabilities, background services, complaints, the news reader) post events in one schema to a local outbox; a forwarder ships them to the store; a five-minute tick routes new events by severity: critical and high become a text to your phone, medium waits for the digest, low and info land on the dashboard only. Every notification is itself an event, so the log can count how often it interrupted.

Ideal State

  • Every answer about what is going on comes from the Vigil log and opens with the tick's health, because a quiet log and a dead reader look identical.
  • An event is reported as routed only on evidence (a fresh heartbeat, the notification row after the next tick), never on an exit code that proves only a write.
  • No event carries a value, a name or a credential; the emitter's refusal is reported as the right outcome, never worked around.
  • The skill reads and feeds the log without changing what the tick owns: no digest line deleted or the digest file moved, no plist edited, no tick installed unasked.

Intent Routing

IntentTriggerFile
Status"what is going on", "anything I should know", "vigil status", "is the tick alive"Intents/Status.md
Emit"log this to vigil", "post an event", "emit an event", a job that needs to report somethingIntents/Emit.md
Digest"pending digest", "what got held", "what was medium today"Intents/Digest.md
Install"install vigil", "start the tick", "register the monitor"Intents/Install.md
FileRead when
Setup.mdfirst-time setup, writing your own policy, monitor workflow or adapter, or standing up the optional store

Data & Config

  • First-time setup, and a made-up worked example of each piece you add yourself (a routing policy, a monitor workflow, an adapter): skills/Vigil/Setup.md. Your own policy, monitors and editor profile live under LIFEOS/USER/, never in this skill.
  • Routing policy: <configRoot>/LIFEOS/USER/VIGIL/policy.json, where configRoot is $CLAUDE_CONFIG_DIR when set, else ~/.claude (severity routes, decider_mode, text ceiling per 24 h, per-source ceilings and caps, text-trusted sources; digest_hour_local is reserved and nothing reads it yet). Defaults live in LIFEOS/VIGIL/Policy.ts; the file overrides them key by key.
  • The daily text limit depends on decider_mode. Under enforce the one interruption budget, interruptions_per_day in LIFEOS/USER/CONFIG/notifications.json counted over every origin's interruption-ledger rows, replaces text_ceiling_per_24h; that ceiling binds again only when the ledger is unreadable. Under shadow the 24-hour ceiling governs Vigil's own texts. "The daily text limit" anywhere in this skill means whichever of these is in force.
  • Local state: ~/.local/state/lifeos/vigil/ (outbox, sent ledger, adapter cursors, reader cursor, digest, last tick). Override with VIGIL_STATE_DIR.
  • Store credentials: VIGIL_URL and VIGIL_TOKEN in the env file the install uses; never printed, never in a URL. With VIGIL_URL unset the reader works from the local outbox alone. The store Worker's D1 binding comes from LIFEOS/USER/VIGIL/worker.json at deploy time; LIFEOS/VIGIL/worker/cloudflare.config.ts stops with the file's path when it is missing.

Gotchas

  • The first tick against a fresh reader cursor routes nothing. It writes a baseline covering the whole backlog and prints {"baseline":true,...}. A first run that texts is a bug: without the baseline, a backlog of a hundred old events would spend the whole day's text limit at once.
  • --dry-run still writes the baseline on a fresh cursor and never advances it afterwards. Two dry runs in a row print the same decisions. That is expected.
  • A held event goes to the one queue, not to a later text. The daily text limit (§ Data & Config) logs a held notification event and the item joins the single held/deferred queue: Vigil.ts queue merges it with the digest, drops repeats, tests and injection notices (those stay ledger-only), ranks by severity then recency, and the morning brief reads the top three. A held event is never texted later on its own; read the queue, the dashboard or Status.
  • Adapters read mtimes and snapshots, never source content. The state-inputs block on a notification says whether mood, health, calendar and work were fresh; it never carries their values. Adding an adapter that copies content into summary will be refused by the emitter's Restricted Data check.
  • Events from source vigil are never routed. Heartbeats and notification records are stored and shown, nothing more, so the log cannot feed itself.
  • The tick is a headless launchd job and must never voice. Its plist sets the headless channel; do not call the notify endpoint from anything the tick runs.

Examples

Example 1: Morning check

User: "Anything I should know about?"
→ Status intent
→ First line is tick health; then new high and critical events, then the digest count

Example 2: A job reports

A scheduled job finds a certificate expiring in six days.
→ Emit intent: bun LIFEOS/VIGIL/Vigil.ts emit --source example-service --kind infra --severity high --title "TLS cert expires in 6 days" --summary "<host>, expires <date>" --ref <host>
→ Reported as emitted alongside a fresh heartbeat; the next tick routes it by policy

Example 3: A store question

User: "How many rows are in the Vigil D1 database right now?"
→ Status intent
→ The store row count from the last tick's probe, with the time it was taken and whether the store was reachable

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

AnnualReports

免费有简介

按类别或厂商查找并获取网络安全报告,比较威胁、勒索软件、数据泄露、云安全和AI趋势。分析会注明每项数据的厂商、年份及报告,并分别呈现来源间的分歧。

  • 按类别查找威胁报告
  • 获取指定厂商的报告
  • 比较多家厂商的勒索软件趋势
danielmiessler/LifeOS2万2026年10月28日 更新

ApertureOscillation

免费有简介

通过三轮分析,对比单个功能或组件的设计需求与整个系统的目标,梳理两者的冲突、合适的实现范围,以及方案是否符合整体方向。

  • 判断服务或库是否应拆分
  • 比较功能需求与产品方向
  • 检查新组件是否符合现有系统
danielmiessler/LifeOS2万2026年10月28日 更新

Aphorisms

免费有简介

按文章主题寻找格言或引文,按相关程度排序,并附上作者和推荐理由。可添加带出处的引文、按主题研究思想家的言论、整理使用记录,帮助避免重复引用。

  • 为新闻简报寻找引文
  • 保存有出处且不重复的引文
  • 按主题研究思想家的言论
danielmiessler/LifeOS2万2026年10月28日 更新

Art

免费有简介

按用途选择制作流程,生成博客插图、技术图解、比较图、漫画和图标等视觉内容,并输出供预览的图像。

  • 制作博客标题图
  • 解释系统结构
  • 展示比较或时间线
danielmiessler/LifeOS2万2026年10月28日 更新

ArtDirection

免费有简介

依据简报和制作标准评估图片、影片、幻灯片及网站页面截图,由视觉评审给出评分和缺陷优先级,支持有限轮次的修改;通过评审后才能交付,并可记录人工评分供后续校准。

  • 按优先级整理图片修改项
  • 依标准评估影片或幻灯片
  • 发布前检查视觉效果
danielmiessler/LifeOS2万2026年10月28日 更新

ArXiv

免费有简介

按主题、研究领域或论文编号查找 arXiv 论文,并整理标题、作者、摘要和链接;查看新投稿,也可在有内容时获取 AlphaXiv 的人工智能生成概述。

  • 查看人工智能和机器学习新论文
  • 查找特定主题的论文
  • 按论文编号或 arXiv 网址查询
danielmiessler/LifeOS2万2026年10月28日 更新

查看 danielmiessler 的全部技能

报告此技能的问题