关于 cc-canary-html
cc-canary-html 是一项 Claude 技能,将 cc-canary 会话分析整理为 HTML 报告,并指导脚本运行、叙述内容填写和浏览器打开。它还规定了回归信号的判断方式。
主要功能
- 01生成 HTML 报告
- 02配置分析时间窗口
- 03分类回归信号
- 04在浏览器中打开报告
适用场景
- 01查看近期会话趋势
- 02比较模型版本
- 03评估潜在回归
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ delta-hq/ cc-canary --skill cc-canary-html安装后在 Claude Code 中输入/cc-canary-html确认已加载。
附带文件scripts/compute_stats.py
详细介绍
cc-canary-html — HTML 降级检测报告
与 /cc-canary 的分析相同,以 HTML 格式呈现。
随附脚本 scripts/compute_stats.py 会在约 2.5 秒内完成工作:扫描
JSONL 文件,运行拐点 + 转折日检测,构建前后聚合、跨版本比较、时段、
词频、三阶段思考深度、可见性转变、每轮速率和异常分析,然后渲染出完整的 HTML
框架,填充所有表格,并在等宽 <pre> 块中保留 ASCII 条形图。
叙述文本占位符标记为 ``。
默认时间窗口:60d。接受 7d / 14d / 30d / 60d / 90d / 180d。
你的 4 步任务
1. 运行脚本
Bash(python3 <SKILL_DIR>/scripts/compute_stats.py --window {window} --render-html /tmp/cc-canary-skeleton-{window}.html > /dev/null 2>&1)
<SKILL_DIR>:.claude/skills/cc-canary-html/ → 若不存在,则使用 ~/.claude/skills/cc-canary-html/。
标志:--window {Nd}(必需);--include-agents;--min-user-words N。
如果脚本失败:报告错误,使用 --include-agents 重试一次;否则停止。绝不改为手动计算。
2. 阅读 HTML 框架
Read /tmp/cc-canary-skeleton-{window}.html
3. 填写每个 `` 占位符并保存
将每条占位符注释替换为适合 HTML 的叙述文本。对你写入的内容中的
<、>、& 进行转义。保留所有表格、<pre> 条形图和现有 HTML,不做改动。保存为:
Write ./cc-canary-{YYYY-MM-DD}.html
4. 在浏览器中打开
通过 Bash(uname) 检测平台:
Darwin→Bash(open ./cc-canary-{YYYY-MM-DD}.html)Linux→Bash(xdg-open ./cc-canary-{YYYY-MM-DD}.html)- 其他情况 →
Bash(start ./cc-canary-{YYYY-MM-DD}.html)
如果打开命令失败,只需打印绝对路径,不要报错。
以此结束你的消息:Wrote /Users/.../cc-canary-{date}.html — opened in browser.(如果打开失败,则用 … open manually.)
叙述文本占位符
与 /cc-canary 相同:
verdict-line— HOLDING / SUSPECTED REGRESSION / CONFIRMED REGRESSION / INCONCLUSIVE + 简要理由summary— 1–2 句话,简洁说明变化及幅度timeline— 1–2 段xv-para— 1 段跨版本分析(若存在 §2)finding-N-class× 最多 5 个 — 行内分类:model-side | user-side | ambiguousfinding-N-reason× 最多 5 个 — 最多 2–3 句话,先列证据root-cause— 3–5 段what-would-help— 2–4 条具体建议appendix-a1…a4, b, c, d, e, f, g, h— 每项 1 段meta-note— 2–5 句话,使用第一人称,坦诚表述
判定标准
- HOLDING:≤1 个 model-side 信号
- SUSPECTED REGRESSION:2–3 个 model-side 信号
- CONFIRMED REGRESSION:≥3 个 model-side 信号 + 非空的跨版本分析显示性能下降 +
session_count ≥ 15+ 至少 2 个模型 +inflection.gap_sigma ≥ 1.0 - INCONCLUSIVE:
session_count < 15或inflection.method == "fallback_split_half"且存在相互重叠的混杂因素
以下情况最多判为 SUSPECTED:只有一个模型;会话少于 15 个;单项目且项目在窗口中途才开始;拐点与可见的用户侧事件同时出现。
硬性规则
- 绝不读取、grep 或 glob
~/.claude/projects/**/*.jsonl。绝不对会话文件运行jq/awk/wc。所有这些操作均由脚本负责。 - 绝不改动现有 HTML、表格或
<pre>块——它们来自真实数据。 - 对你插入的任何叙述文本进行 HTML 转义(将
<、>、&转为实体)。 - 每个发现都必须有分类标签。
- 如果跨版本分析为空或
session_count < 15,请 谨慎表述。 - 没有满足完整检查清单时,不要判定为 CONFIRMED REGRESSION。
- 不要原样保存框架——必须先替换每个 ``。
失败情形
- 脚本导入错误 → 检查
python3 -V是否 ≥ 3.8;使用--include-agents重试一次;否则停止。 - 框架小于 5KB → 可能是窗口内没有会话。
inflection.method == fallback_split_half→ 明确说明;判定最多为 SUSPECTED。- 跨版本 Δ 为
None→ 当模型 A 的值为 0 时会发生除以零;说明这一混杂因素。 - 浏览器打开命令失败 → 不要报错;打印路径并继续。