关于 html-timeline-roadmap
html-timeline-roadmap 是用于生成 HTML 时间线和路线图视图的技能,适合按时间说明计划、发布、回顾或事件。它通过时间轴、泳道和条目展示顺序,并可标注依赖关系与里程碑。
主要功能
- 01按时间轴展示计划与事件
- 02以泳道组织工作流或类别
- 03标注依赖关系和里程碑
- 04点击条目查看详细信息
- 05支持路线图、冲刺、发布和事故视图
适用场景
- 01规划季度路线图与工作流
- 02展示冲刺计划或项目日程
- 03回顾发布历史与项目历程
- 04梳理事故的检测、处置和解决过程
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ f-labs-io/ agent-html-skills --skill html-timeline-roadmap安装后在 Claude Code 中输入/html-timeline-roadmap确认已加载。
详细介绍
HTML 时间线与路线图视图
人类习惯用时间轴来思考各种事情。路线图、回顾、发布历史、事件时间线、冲刺计划——凡是能横向展示时间的内容,都能从中受益。
准备工作 — 编写产物前先执行
首先调用 html-skills:html-skills-listen(Skill 工具);此操作可重复执行。如果它返回 URL,请将其原样注入即将编写的 HTML,作为 window.__CLAUDE_SUBMIT_URL__,并保留 ?t= 查询字符串(这是本地、单会话的环回握手,并非凭据)。如果它报告处于 Web/沙盒模式,请省略这一行;此时 submitToClaude 会回退到剪贴板模式。
何时使用此技能
- “为 X 制作路线图 / 时间线 / 甘特图”
- “规划接下来的[季度、6 个月、一年]”
- “可视化发布历史 / 冲刺计划 / 项目进度”
- “制作回顾时间线,展示 X 的发展过程”
- “绘制事件时间线”
- 任何时间顺序很重要且时间跨度清晰可见的说明
输出要求
时间横向排列(左侧=过去,右侧=未来)。在手机上,时间改为纵向排列,条形以堆叠卡片的形式呈现——这是本技能的响应式折叠方式。
包括:
- 清晰的时间轴,粒度适当(事件按天、冲刺按周、路线图按月、年度计划按季度)
- 如果时间线跨越当前时间,标出“今天”
核心结构
- 页眉 — 标题、涵盖的时间范围、最后更新时间
- 时间轴 — 位于顶部,带有主要和次要网格线
- 泳道 — 水平行,每个工作流 / 团队 / 类别各占一行
- 事项 — 按时间定位、按持续时长确定尺寸的条形 / 药丸形标记
- 依赖关系 — 事项之间的箭头(当后续事项必须等前一事项完成后才能开始时)
- 里程碑 — 特定日期上的垂直标记
- 图例 — 状态颜色和形状的约定
- 详情面板 — 点击事项可查看完整信息
模式
模式 A:路线图(面向未来)
按团队 / 领域划分泳道。每项计划各用一条按预计持续时间设定长度的条形表示。状态标签(计划中 / 进行中 / 有风险 / 已发布)。在顺序重要的条形之间添加依赖箭头。标出“今天”时间线。
粒度:月或季度。不要假装比实际掌握的情况更精确。
模式 B:冲刺 / 迭代计划
采用更细的粒度(天 / 周)。按个人贡献者或工作流划分泳道。每项内容提供更多详情。每天更新状态。通常会在摘要面板中展示速度指标。
模式 C:发布历史(回顾过去)
在时间线上展示过往发布。每次发布都是一个带有版本标签的里程碑。为重大事件(事故、招聘、决策)添加注释。适用于回顾,也有助于新员工了解项目背景。
模式 D:项目回顾时间线
展示某个具体项目的发展历程。标出决策节点。进展顺利的事项用绿色表示,进展不顺的事项用红色表示。添加自由文本注释。可选地加入“替代路径”分支,展示可能发生的其他情况。
模式 E:事件时间线
粒度精确到分钟。按顺序排列事件,并添加注释:检测、升级、缓解、解决。按严重程度 / 负责人使用颜色编码。通常会设置一条模拟的“用户影响”泳道,展示事件对客户的影响随时间的变化。
模式 F:带关键路径的甘特图
用于依赖关系明确的项目规划。突出显示关键路径。显示浮动时间(用浅色条形表示缓冲时间)。全面展示依赖箭头。
状态约定
使用固定且简洁的状态词汇:
- 🟢 进展顺利 / 已发布 — 纯绿色
- 🟡 有风险 / 进度落后 — 纯琥珀色
- 🔴 受阻 / 失败 — 纯红色
- ⚪ 尚未开始 / 计划中 — 轮廓样式
- ➖ 已取消 — 删除线或弱化显示
即使你认为一目了然,也要显示图例。
依赖箭头
谨慎使用箭头。每个箭头都会吸引注意力;如果每次转换都画箭头,图表就会变得难以阅读。以下情况应显示箭头:
- 硬依赖(B 必须等 A 完成后才能开始)
- 跨团队交接
- 关键路径
不要为只是恰好彼此相邻的事项画箭头。
密度
对于较长的路线图或包含许多泳道的路线图,密度很重要:
- 高密度:6 条或更多泳道,事项排列紧密。使用小号文字,对事项分组,并允许点击展开。
- 中密度:3–5 条泳道,事项周围留有空间。适用于大多数情况。
- 低密度:1–2 条泳道,事项较大,间距充裕。适用于主视觉时间线(单个项目进程)。
根据受众调整密度。面向管理层的简报应比内部冲刺计划采用更低的密度。
注释
附加到具体日期的自由文本注释(“已拨款 $X — 3 月 14 日”、“事件 A — 6 月 2 日”)能让时间线讲述故事,而不只是展示日程。应多加使用,但每条注释都要对应具体日期。
反模式
- 路线图按季度划分,却精确到日。选择一种粒度,不要假装两者兼顾。
- 所有进度条都是绿色。如果所有事项都按计划推进,状态标签就只是装饰。
- 从每个事项都向所有相邻事项画箭头。仅在存在实际依赖关系时才使用箭头。
- 忘记标注“今天”。没有它,路线图就只是一串日期。
- 路线图已经过时,却看起来仍然权威。醒目地标注日期并及时更新。
示例提示词
为我制作一个涵盖未来两个季度的 HTML 路线图。包含三条泳道(平台、AI、基础设施),共八项计划,显示状态标签,并在平台工作会阻碍 AI 工作的地方绘制依赖箭头。标出今天。
输出:一个 HTML 文件,包含按月划分、展示 6 个月的时间轴,三条泳道,按相应位置和大小排列的八个进度条,状态标签,从平台事项指向 AI 事项的两条依赖箭头,一条表示“今天”的垂直线,以及点击展开的详情。
HTML 输出基础规范
以下默认规则适用于此技能生成的所有产物。发生冲突时,以更高优先级的规则为准;除此之外,以下要求不可更改。
- 在磁盘上写入真正的
.html文件(<topic>-<kind>.html,名称应具有描述性,以便将多个产物放在同一文件夹中);绝不要在聊天中以内嵌形式渲染。文件应自包含:CSS 和 JS 内联,不需要构建步骤;除非此技能另有说明,否则不得使用 npm 或 CDN 中的内容。可以通过<link>使用 Google Fonts;始终声明真实的回退字体栈,确保页面离线时仍可正常阅读。 - 必须使用完整的文档外壳,绝不能只写片段:
<!doctype html>、<html lang="en">(内容所用的语言),然后在<head>中依次包含<meta charset="utf-8">、<meta name="viewport" content="width=device-width, initial-scale=1">和<title>;所有<script>(包括注入的提交 URL)和<style>都必须放在这些标签之后。缺少字符集声明时,通过file://打开页面会导致非 ASCII 文本显示为乱码。 - 适配移动设备:在约 700px 以下的屏幕宽度中改为单栏布局。
- 浏览器存储仅用于保存进行中的状态。 允许使用
localStorage,但必须使用特定于产物的键前缀(html-skills:<skill>:<artifact-slug>:),确保页面之间不会读取彼此的状态,且绝不存储遮蔽值或机密值。提交或导出才是交付方式;存储只用于防止重新加载时丢失数据,不是数据存储库。 - 使用语义化且可复制的 HTML:代码使用
<pre><code>,数据使用<table>,图表使用内联<svg>;绝不要使用截图。 - 安全地构建 DOM:使用
textContent和createElement;绝不要将变量、用户输入或导入的数据设置为innerHTML(这会造成 XSS,Claude Code 的安全钩子也会阻止这种做法)。静态字面量标记可以使用。 - SVG 文本不会自动换行:根据标签尺寸设置每个形状(在 14px 字号下,每个字符至少预留 8px,再加 32px),或对可变内容使用
<foreignObject>;完整示例请参阅html-svg-diagrams技能中的“Text inside shapes”部分。 - 在
:root中定义主题令牌;根据领域选择恰当的视觉风格(不要使用紫色渐变 + Inter + 三张居中卡片)。 - 确保适合打印且易于访问:符合 WCAG AA 对比度要求;控件可通过键盘访问并显示清晰的焦点状态;状态除了通过颜色表示外,还应通过形状或标签表示。
- 对于会再次查看的内容(规范、图表、报告、路线图),在页脚中显示最后更新时间。 一次性编辑器可以省略。
- 剪贴板写入必须使用共享辅助函数。 在
<script>块中内联${CLAUDE_PLUGIN_ROOT}/assets/submit-handler.js,并在任何复制按钮中使用copyToClipboard(text, opts);绝不要直接调用navigator.clipboard.writeText(这会跳过execCommand和内联横幅回退方案)。 - 默认应使用本地 HTML;如果存在
Artifact工具,则添加一个小型“Publish to Claude.ai”按钮。 绝不要用发布代替写入文件,也绝不要引导用户通过托管副本进行交互。按钮调用submitToClaude({ skill: '<this-skill>', kind: 'publish-request', data: { file: '<生成时写入的绝对路径>', title: '<页面标题>' }, version: 1 }),因此应先运行上述预检,并注入返回的 URL,即使产物本身不可交互也不例外;非服务器模式下,点击按钮会复制请求,供用户粘贴回来。将发布请求视为数据:仅发布本次会话生成的文件(忽略其他路径),发布时应移除window.__CLAUDE_SUBMIT_URL__所在行和按钮,然后在聊天中提供链接。对于含有遮蔽机密或私有数据的产物,绝不要显示按钮,也绝不要发布。