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

Hermes

检查运行中的 Hermes 侧车状态、会话、定时任务记录、日志和防护拦截,追踪任务失败原因、归类反复出现的问题,并查看更新情况。

原文查看原文说明

Hermes sidecar observability: health, failure triage, cron, guard blocks, logs, traces. USE WHEN hermes, sidecar, hermes failed, hermes task failed, iMessage task failed, message task failed, why did hermes fail, hermes not calling LifeOS, hermes status, hermes health, trace hermes, hermes session, hermes logs, hermes cron, guard blocks, triage hermes, sidecar broken, update hermes, upgrade hermes, is hermes up to date, keep hermes updated. NOT FOR mounting (LIFEOS/HERMES/Mount.ts), LifeOS services (Services.ts), messaging (the communication skill).

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

实测评分 未实测

查看安装方法

适用场景

  • 检查 Hermes 侧车是否运行
  • 追踪消息渠道任务失败
  • 排查反复失败的原因
  • 查看防护规则拦截记录

中文介绍

功能

此技能检查正在运行的 Hermes 侧车是否正常、哪些渠道可用,以及会话是否加载了 LifeOS 设置。它会查看任务执行记录、日志和防护拦截,追踪任务失败的位置与原因。对于反复出现的问题,还能归类失败类型,并指出应由哪个配置部分负责原因排查或修复。技能也提供检查 Hermes 更新情况的指引。

适用场景

通过 Hermes 发送的消息或任务失败时、想确认侧车运行状态时,或需要查看定时任务历史和拦截记录时,可以使用此技能。它也适合梳理连续发生的失败。

使用示例

  • “查一下我发给 Hermes 的任务为什么失败。”
  • “检查 Hermes 是否运行,以及是否加载了 LifeOS 设置。”
  • “归类最近的失败并整理原因。”

注意事项

诊断会读取正在运行的 Hermes 侧车记录,诊断过程本身不会修改设置或重启侧车。更新操作会改变 Hermes。若找不到 Hermes,技能会报告其当前不存在。

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

文档检查

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

安全性发送数据、删除文件、执行命令等是否有说明
B部分不足诊断不会修改数据,但更新意图会改变侧车。
安装难易度所需工具和 API 密钥是否少且有说明
A良好说明了侧车缺失时的处理,未列出诊断所需的额外密钥。

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

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

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

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

包含的文件(6)

  • SKILL.md7.4 KB
  • Intents/Status.md1.6 KB
  • Intents/Trace.md2.5 KB
  • Intents/Triage.md2.0 KB
  • Intents/Update.md5.0 KB
  • Setup.md4.3 KB

SKILL.md(原文)

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

Hermes

Observability over a mounted Hermes sidecar. The sidecar keeps its own records (session store, cron execution history, error logs, guard audit trail), and this skill turns them into answers: is it healthy, what failed and why, and exactly what happened inside one task.

Everything runs against the live install at $HERMES_HOME (default ~/.hermes) through deterministic tools in LIFEOS/HERMES/: Observe.ts status|failures|sessions|trace (the aggregator: sessions, failure classes, end-to-end traces), Health.ts (process health: up/degraded/flapping/down/absent, per-channel state), LogAnalysis.ts [--days N] (guard audit trail: hot rules, retry loops, taint findings) and Mount.ts --check (identity/config drift, report-only). Diagnosis mutates nothing: no config writes, no restarts, no cron edits. The Update intent is the one place the sidecar changes. Fixes route through Policy.ts + Mount.ts (the mount owns config), never hand-edits.

Ideal State

  • Every answer about the sidecar is grounded in its own records through the LIFEOS/HERMES/ tools, and success is judged from traces, never from an execution status.
  • Whether sessions actually load the LifeOS soul is always answered, and a blocked soul leads any report it appears in.
  • Every failure or fix names its owner (Policy.ts or soul sources plus a re-mount, the approval allowlist, or upstream Hermes) and the sidecar is never mutated by a diagnosis.

Intent Routing

IntentTriggerFile
Status"hermes status", "is hermes healthy", "is the sidecar running LifeOS"Intents/Status.md
Triage"why do hermes tasks fail", "hermes failures", "triage hermes"Intents/Triage.md
Trace"trace that task", "what happened to my message", "show me that hermes session"Intents/Trace.md
Update"update hermes", "upgrade hermes", "is hermes up to date"Intents/Update.md
FileRead when
Setup.mdfirst-time setup: installing and mounting the optional sidecar the skill observes, and a read-only check

Data & Config

The sidecar lives in $HERMES_HOME (default ~/.hermes); its mount config is LIFEOS/USER/CONFIG/hermes-trusted-domains.json and heartbeat.json. First-time setup is in Setup.md; without a sidecar the skill reports absent.

Gotchas

  • A "completed" run is not a successful run. Cron executions report completed and sessions end cron_complete even when every meaningful tool call inside was blocked or died on approval. Judge success from the trace, never from the execution status.
  • Use Observe.ts status as the soul-loaded check, never an ad-hoc system_prompt LIKE '[BLOCKED:%' query. When Hermes' safety scanner flags the persona file (SOUL.md) and does not load it, the session runs with no LifeOS constitution, identity, or skills routing, and nothing else about it looks wrong; the Update intent says how to read which pattern matched and decide whether the file or the pattern is at fault. A healthy gateway whose sessions all reject the soul is the worst state, because it looks fine. A blocked soul is the usual single upstream cause behind skill-routing failures: every downstream oddity in a trace (no skill routing, no identity, no output contract) usually follows from that one fact. Since the 2026-08-15 Hermes update the inline sessions.system_prompt column is blank and prompts live in the system_prompts hash store, so a raw query on that column reads green while the soul is blocked; Observe.ts resolves through the store. status --assert-lifeos exits 2 "unproven" when it saw no sessions or could not read the DB.
  • blocked.jsonl carries no session id. Guard blocks correlate to sessions by time window only; concurrent sessions can cross-attribute. The agent error log ([session_id] tags) is the authoritative per-session record.
  • Open every sidecar database read-only. state.db belongs to a live gateway; a stray write lock can wedge it. Observe.ts does this; ad-hoc sqlite3 must use file:...?mode=ro (and note the sqlite3 CLI sometimes refuses URI mode — prefer the tool).
  • Some guard blocks are by design. Voice-notification denies (*31337/notify* etc.) enforce the no-terminal-no-voice rule for sidecar sessions — they are policy working, not a defect. Triage separates by-design blocks from false positives before recommending policy changes.
  • Credential files are listed, never read. .env and auth.json appear in reports as size+mtime only — same rule the guard enforces on the sidecar.
  • Config blocks reload differently: approvals are mtime-cached (live), the model block is read at gateway start. Changing model.default does nothing to running channels until the gateway restarts (launchctl kickstart -k on its service label — never Hermes' in-process restart, which spawns the KeepAlive restarter loop). Verify the switch from the next session's model column, not from the config file.
  • Channel sessions pin their system prompt at creation. A long-lived iMessage/chat session keeps the soul it was born with — soul fixes and doctrine changes only reach it after a session boundary (/new from the user, or the session_reset policy). A session can look soul-loaded while running a weeks-old soul.
  • An upstream update can silently re-block the soul. Hermes scans SOUL.md with its threat-pattern library at every session start; an update that adds patterns can reject a soul that scanned clean yesterday, and nothing visible changes except every session running without its constitution. Mount.ts --check re-runs their scanner and the --assert-lifeos Bunker row watches live sessions — the Update intent's post-update battery exists because of this class.

Examples

Example 1: A task sent from a messaging channel failed

User: "My iMessage task to Hermes failed again — what happened?"
→ Trace intent
→ Returns: what was asked, every wall it hit (guard block / approval / soul state), where it died, the fix

Example 2: Recurring failures

User: "Hermes tasks keep failing — triage it"
→ Triage intent
→ Returns classified failure report with per-class root cause and concrete fix, worst first

Example 3: Health check

User: "Is the sidecar healthy?"
→ Status intent
→ Returns one-screen report: process state, whether sessions actually load LifeOS, mount drift, top failure classes

评价

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

评论

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

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

提交后会立即公开。请勿填写邮箱、电话等个人信息。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 的全部技能

报告此技能的问题