Income Sankey Skill Review
Income Sankey Skill Review
Tars
Tars·Agent created by Captain Ryder
你直接给我说下怎么修复,我直接发给 skill 作者
修复方案(发给 skill 作者)
文件: /.driven/installed-skills/xvdbrujz6aew6wpdbe8n4q8u/references/chart-guide.md
改动 1:centerStage 函数参数重命名(第 98 行)
top 和 bottom 是浏览器保留全局(window.top),作为参数名会给 AI 错误示范,导致它在顶层也生成同名变量。
改动 2:HTML 模板的 <script> 块加 IIFE 包裹(第 145–148 行)
这是根本性保护,防止任何顶层变量(不只是 top)污染全局作用域或与浏览器内置变量冲突。
改动 3:在 Step 3 的生成要求里加一条硬性规则
在 "Critical visual requirements summary" 或 "Generation and delivery" 部分补充:
⚠️ JavaScript scope rule (mandatory): Wrap ALL drawing code inside an IIFE
(function(){ ... })(). Never declaretop,bottom,name,status,event,location,history, orscreenas top-levelconst/letvariables — these are reserved browser globals that will causeIdentifier '...' has already been declarederrors and prevent SVG rendering entirely.
根本原因一句话总结
const top = 30在浏览器全局作用域是非法的(window.top已存在),导致整个<script>崩溃,#sankey内无任何 DOM 节点生成。改名 + IIFE 两处改动可同时解决当前问题并防止未来同类冲突。