文档与知识 · nexu-io/html-anything

eng-runbook

服务概述 + alerts 表 + dashboards + 操作命令 + on-call + 事故清单

风险提醒:绿色 · 放心使用AI 侦查报告
作者 nexu-ioGitHub nexu-io/html-anything ↗Stars 8827许可 Apache-2.0(仓库根 LICENSE = Apache License 2.0;GitHub API license.spdx_id = Apache-2.0;next/package.json 亦声明 Apache-2.0)commit 553ed98c28
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

这个 skill 不是可执行程序,而是「一个目录 = 一个模板」:SKILL.md 的 frontmatter 供选择器展示,正文(body)就是发给模型的提示词;加模板=加目录,不需要改 TypeScript。

next/src/lib/templates/loader.ts
routes rescan disk and the client refetches `/api/templates`.
注:同一文件头注释写明目录约定:SKILL.md(frontmatter + prompt body)/ example.md(可选输入样例)/ example.html(可选预览)。本 skill 目录内正是这一结构。

实际下发提示词 = 平台共享设计指令(SHARED_DESIGN_DIRECTIVES)+ 本 skill 的 SKILL.md 正文 + 用户内容,由 assemblePrompt 拼成一条 prompt。

next/src/lib/templates/shared.ts
Wrap a per-template instruction body with the shared design directives and
注:所以本 skill 的正文只负责「版式/风格/组件库」这一段;输出纪律(单文件 HTML、必须用用户真实数据、内容驱动数量)来自共享指令,模板作者不必重复声明。

成稿不走文件系统:共享指令明令禁止 Write/Edit/Bash 等文件工具,要求模型把整份 HTML 直接作为回复正文流式输出(stdout 由前端捕获落盘)。

next/src/lib/templates/shared.ts
**禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何 \`.html\` 文件里。前端直接捕获你的 stdout 文本, 文件落盘由前端负责。
注:这是「skill 自身零写盘」的机制来源:写文件的是宿主前端,不是 skill;本目录内也无任何脚本。

页面骨架是「编号章节 + 表格 + 命令块」:样例五节依次为 Service summary、Alerts、Common procedures、On-call rotation、Incident response。

next/src/lib/templates/skills/eng-runbook/example.html
<h2><span class="index">03</span>Common procedures</h2>
注:每节标题用 .index 小号等宽序号(01-05)统一节奏,与 SKILL.md 的布局清单前五项对应;样例主题为虚构的 auth-service。

告警表是本模板的核心件:四列(Alert / Severity / What it means / First response),逐行给「被叫醒后先做什么」。

next/src/lib/templates/skills/eng-runbook/example.html
<thead><tr><th>Alert</th><th>Severity</th><th>What it means</th><th>First response</th></tr></thead>
注:与 SKILL.md 写的「severity / threshold / runbook link」三列不一致:样例隐去了 threshold 与 runbook link,改成 What it means + First response(更偏行动导向,见 second_pass)。

命令块按「操作名 + 何时用 + 说明 + 可拷命令」组织,样例用前置 $ 与注释 span 标出可直接复制的命令行。

next/src/lib/templates/skills/eng-runbook/example.html
<span class="cmt"># Deploy auth-service v4.7.3 to production</span>
注:对应 SKILL.md 的「Common procedures (mono 代码块, 一键复制)」——但样例没有复制按钮(无脚本),「一键复制」只能靠宿主的代码块复制能力或人工选中。

值班表按月铺开,四列(Week / Primary / Secondary / Backup (escalation)),一周一行共四周。

next/src/lib/templates/skills/eng-runbook/example.html
<thead><tr><th>Week</th><th>Primary</th><th>Secondary</th><th>Backup (escalation)</th></tr></thead>
注:SKILL.md 写的是「On-call rotation (本周 + 下周)」,样例给了整月四周 + 三级升级链,信息量更大、粒度不同(见 second_pass)。

视觉走深色值班台风格:深蓝黑底 #0c0e14、面板 #14171f、薄荷绿 accent #6ee7b7,另备 warn 黄 / danger 红。

next/src/lib/templates/skills/eng-runbook/example.html
--bg: #0c0e14;
注:深色底 + 高对比状态色适合 oncall 场景(夜间查看、终端旁屏幕);SKILL.md 未规定主题,主题由样例定调,属模板自由度较大的部分。

事故响应用两列 checklist 网格呈现「最初 30 分钟」的动作项,依赖清单用 ok/warn 两态着色表达依赖健康。

next/src/lib/templates/skills/eng-runbook/example.html
.checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
注:对应 SKILL.md 的「Incident response checklist」与「Service overview (拓扑 + 依赖)」;依赖行用 .deps li 承载模块名 + ok/warn 标记。

服务端 /api/convert 只做三件事:按 templateId 从磁盘读 skill、拼 prompt、spawn 本地 agent CLI 并 SSE 流转发输出。

next/src/app/api/convert/route.ts
prompt = assemblePrompt({ body: skill.body, content, format });
注:同文件先 `const skill = loadSkill(templateId);`(无此模板即 400),再交给 invokeAgent;skill 目录本身不产生进程、不联网。

2核心能力

01Oncall 可执行 runbook 单页:概述 / 告警 / 程序 / 值班 / 事故清单
02告警-行动对照表(Alert/Severity/含义/第一响应)
03服务概览面板:文字摘要 + 依赖清单(含 ok/warn 状态态)
04常见操作的程序块(含 when 提示与可直接复制的 shell 命令)
05整月值班表 + 三级升级链(Primary/Secondary/Backup)
06事故响应 checklist(最初 30 分钟,双列网格)

4风险提醒 风险提醒:绿色 · 放心使用

风险提醒:绿色 · 放心使用
  • 承诺与样例落差最大 — SKILL.md 的 dashboards 卡片、threshold/runbook link 列、一键复制在本模板样例中均未实现;若下游只按样例验收,会认为功能缺失。
  • 复制命令的误操作风险 — runbook 天然包含生产命令(部署/回滚/清库),成稿若把命令写成一行且无二次确认说明,值班人可能误粘贴执行;模板未内置「先 dry-run」的提醒结构。
  • 无一键复制=依赖人工选中 — 长命令在深色底上人工选中易漏字符,建议宿主启用代码块复制或人工核对。
  • 内网信息外泄 — 用户若把真实服务名、内部域名、值班人姓名粘进来,成稿即为敏感资产;模板本身无脱敏机制。
  • 注入面 — 用户内容逐字进 prompt;成稿在宿主预览 iframe(allow-scripts allow-same-origin)中渲染。
风险提醒:绿色,放心使用。判级对象=skill 自身目录(SKILL.md + example.html/example.md,本目录零脚本、零凭证读取、零写盘指令、无网络调用代码)。按批4 终版口径,html-anything 模板一律 green:SKILL.md 全文未点名任何运行时服务后端/API,也不把用户素材送外部生成后端(无 orange 要件);无逆向/冒充/绕过后端(无 red 要件)。目录内实际出现的端点仅有产物示例外链(无(example.html 全文无外链:字体族名走系统栈 Inter/ui-monospace,无字体链接、无 CDN、无图片 URL)),属「產物示例」,按口径不判级,仅在此自证列出。宿主侧另需知悉:预览 iframe 用 sandbox="allow-scripts allow-same-origin"、本地 agent CLI 被 spawn(next/src/lib/agents/invoke.ts)、共享指令要求成稿引 CDN——这些是平台行为,只作说明。

5第二遍独立确认

  • [unlocatable] 「Dashboards links 卡片」 — 样例五节中无 dashboards/Grafana 类链接卡片,全文 grep dashboard 零命中;SKILL.md 承诺的这一节在样例里无对应实现(既非改名也非隐藏,属未实现)。
  • [discrepancy] 「Alerts table (severity / threshold / runbook link)」 — 表列实为 Alert / Severity / What it means / First response,没有 threshold 列与 runbook 链接列。
  • [discrepancy] 「Common procedures (mono 代码块, 一键复制)」 — mono 代码块成立(--mono + 前置 $ 与 cmt span),但「一键复制」需 JS,样例零 <script>,无复制按钮。
  • [discrepancy] 「On-call rotation (本周 + 下周)」 — 样例给整月四周(Oct 27–Nov 23)且含 Backup (escalation) 列,比承诺更全但粒度不同。
  • [ok] 「Incident response checklist」 — 第 05 节 .checklist 双列网格承载「最初 30 分钟」动作项。
  • [ok] 目录内零脚本/零端点 — 无 <script>、无外链字体与图片、无 CDN;命令均为虚构内部工具示意。
  • [ok] 深色主题 — --bg:#0c0e14 / --paper:#14171f / --accent:#6ee7b7 / --warn:#fbbf24 / --danger:#f87171(SKILL.md 未规定主题,属模板自由度)。

6结论

  • 内容模型正确:runbook 要的是「告警→第一响应」与「可直接拷的命令」,样例两件都给了具体数值与命令。
  • 值班表信息完整:整月安排 + Primary/Secondary/Backup 三级升级链,一张表解决找谁的问题。
  • 深色值班台主题 + 状态色,适合夜间与终端场景阅读,与浅色文档模板形成互补。
  • 零依赖:无脚本无外链,网络隔离环境(跳板机、内网门户)也能直接打开。
  • 适合:适合 SRE/后端团队给单个服务做 oncall 手册;适合把散落在 Confluence 的告警说明压成一页可打印/可投屏的 runbook;适合事故复盘前快速产出「现状 + 第一响应」页面。
    不适合:不适合多服务总览(本模板是单服务长页);不适合对外发布或客户可见的文档(深色主题与内部命令不宜外发);不适合需要真正交互(复制按钮、图表联动)的场景;也不适合非工程读者(术语与命令密度高)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 eng-runbook.tar.gz
    sha256: b08657d6c60cbf74…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 553ed98c28;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库nexu-io / nexu-io/html-anything
    Stars8827
    最近推送2026-09-15
    本 skill commit553ed98c28
    许可Apache-2.0(仓库根 LICENSE = Apache License 2.0;GitHub API license.spdx_id = Apache-2.0;next/package.json 亦声明 Apache-2.0)
    本站信息
    收录日期2026-09-06
    分类文档与知识
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近