关于 temporal-awareness
temporal-awareness 是帮助 Agent 处理时间敏感问题的技能,适用于需要依据用户时区和可靠时间锚点作答的场景。它还区分稳定知识与需要实时核实的信息,并提供刷新时间上下文的规则。
主要功能
- 01捕获本地与 UTC 时间锚点
- 02按用户时区处理相对日期
- 03判断是否需要实时核实
- 04提供长会话刷新规则
- 05用脚本检查时效风险
适用场景
- 01回答今天或明天相关的问题
- 02处理跨时区日期与时间换算
- 03核实当前版本或价格等变化信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jpcaparas/ skills --skill temporal-awareness安装后在 Claude Code 中输入/temporal-awareness确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonREADME.mdskill-card.prompt.mdagents/openai.yamlassets/.gitkeepevals/evals.jsonreferences/bootstrap.mdgotchas.mdlong-horizon.mdrecency-triage.mdverification-patterns.mdscripts/capture_temporal_context.pyprobe_temporal_awareness.pyrecency_guard.pytest_skill.pyvalidate.pytemplates/session-brief.md详细介绍
temporal-awareness
对于时间敏感的回答,使用可靠的时间锚点和用户所在时区;对于会变化的外部事实,应单独核实。
决策树
时间敏感的失败模式是什么?
-
回答前需要建立准确的会话时间锚点
- 在足够可靠时,复用新鲜可信的会话时钟和已知的用户时区。
- 如果缺少时间信息、信息过时,或边界计算很重要,请运行
python3 scripts/capture_temporal_context.py --format markdown(需要时添加--extra-zone <user-zone>)。详情请阅读references/bootstrap.md。
-
需要判断提示词能否依据稳定知识回答,还是需要实时核实
- 根据事实的变化程度和现有证据进行判断。
scripts/recency_guard.py是可选的辅助启发式工具,并非必需命令,也不能替代判断。 - 如果不确定如何区分,请阅读
references/recency-triage.md。
- 根据事实的变化程度和现有证据进行判断。
-
需要了解
latest、today、yesterday、tomorrow、时区计算或来源选择的处理模式- 请阅读
references/verification-patterns.md
- 请阅读
-
需要了解长时间运行的会话、日期切换或重复性工作的刷新规则
- 请阅读
references/long-horizon.md
- 请阅读
-
需要排查过时假设、过时的模型名称或相对日期错误
- 请阅读
references/gotchas.md
- 请阅读
快速参考
| 任务 | 命令或文件 | 原因 |
|---|---|---|
| 获取缺失或过时的本地时间和 UTC 时间上下文 | python3 scripts/capture_temporal_context.py --format markdown | 在现有上下文不足时建立可靠的时间锚点 |
| 比较当前时刻在不同时区的时间 | python3 scripts/capture_temporal_context.py --format markdown --extra-zone America/New_York --extra-zone Europe/London | 避免时区偏移悄然发生 |
| 获取辅助性的时效性分类 | python3 scripts/recency_guard.py --prompt "What is the latest release?" --format markdown | 标记需要评估的风险,而非强制的决策关卡 |
| 运行确定性探测套件 | python3 scripts/probe_temporal_awareness.py --format pretty | 验证该技能是否仍按设计运行 |
| 了解启动工作流 | references/bootstrap.md | 会话加载顺序和准确命令 |
| 处理相对日期和易变事实 | references/verification-patterns.md | 转换为绝对日期并选择来源 |
阅读指南
| 如果用户说…… | 阅读 |
|---|---|
| “回答前,请告诉我这里的日期,以及我们使用的时区。” | references/bootstrap.md |
| “这个问题需要浏览网页核实吗?还是属于稳定信息?” | references/recency-triage.md |
| “这里的 latest 指什么?” | references/verification-patterns.md |
| “这个会话已经运行好几个小时了,要刷新日期上下文吗?” | references/long-horizon.md |
| “为什么 Agent 还在提过时的产品、职位或价格?” | references/gotchas.md |
操作规则
- 检查会话是否已有足够新、精度足以满足请求的可靠时钟。若足够,则复用;若缺失或已过时,或涉及午夜、夏令时或跨时区边界计算,则获取时间。
- 用户已知的时区决定与用户相关的日期,而非 orb/服务器的本地时区。时区转换使用 IANA 时区。如果某个重要时区未知,应询问用户或说明假设,不要根据主机推断。
- 对于真正易变的外部信息(当前模型、版本、价格、法律、日程、天气、高管和实时事件),使用实时权威来源。时钟无法验证这些信息。如果无法进行实时核实,应说明这一限制,而不是断言信息是最新的。
- 当存在歧义或涉及边界时,将相对日期转换为明确日期。不要仅因提示中出现时间词,就添加时钟信息、运行工具或浏览网页。
- 长时间暂停、用户所在时区的午夜、夏令时变更或时区上下文变更后,重新评估信息的新鲜度。只刷新回答所需的信息;即使时钟基准仍然足够,滚动更新的外部数据也可能需要重新查询来源。
已验证行为
scripts/capture_temporal_context.py会输出本地和 UTC 时间戳、时区名称候选、UTC 偏移量、区域设置、平台,以及可选的额外时区快照。scripts/recency_guard.py会检测相对日期用语和易变领域,并区分稳定的历史问题与询问当前状态的问题。scripts/probe_temporal_awareness.py会针对冒烟、边缘、否定和披露风格的场景运行确定性检查。- 此技能将模型系列和产品版本视为易变信息,而不会假设记忆中的默认信息仍然有效。
- 对于长时间运行的会话,会明确规定刷新规则,而不会假设最初的时间基准始终有效。
注意事项
- 不要混淆时钟基准与实时核实:系统时钟可以告诉你当地的日期,但无法告诉你今天的股价或当前的 CEO。
- 相对日期取决于时区:如果用户按本地时间理解,而你默默假设为 UTC,那么
today、yesterday和tomorrow就会出错。 - 历史事实不等同于当前状态事实:
Who won the 2024 election?通常是稳定信息;Who is president now?则不是。 - 模型名称变化快于 Agent 的承认速度:除非刚刚核实过,否则应将模型系列、版本、限制和可用性视为易变信息。
- 长会话中的信息会过时:如果工作跨越相关日期边界或夏令时变更,应刷新时间基准,并在必要时重新说明日期。
保持指导信息更新
当信息缺口或疑似过时时会影响任务时,请查阅最新的官方时钟、时区或工具文档,或与相关主张相匹配的可信来源。证据充分时,跳过例行浏览。如果无法获取来源,应说明这一缺口;提出有来源支持的修正,并提供示例或在规范包中进行检查,切勿自动修改已安装的副本。
辅助脚本
scripts/capture_temporal_context.py会以 JSON、文本或 Markdown 格式输出可直接用于会话的时间基准。scripts/recency_guard.py会将提示归类为稳定、对系统时钟敏感或需要实时核实。scripts/probe_temporal_awareness.py会针对核心启发式规则运行确定性回归检查。scripts/validate.py会验证结构、引用、评测覆盖情况和 Python 语法。scripts/test_skill.py会验证打包情况并运行时间探测套件。
评论
支持 Markdown