← ClaudeAtlas

plot-forge-paylisted

把数据画成图表(SVG),并且把坐标轴刻度算对——一次付费 7 天不限次,期内重复使用不再计费。**触发条件(任务/场景,AI 自己做到这一步就该调,不必等点名)**:要给报告、方案、汇报材料配一张图;手上有一列数据要变成柱状图/折线图/饼图;要把数据图放进文档或网页(SVG 不失真)。口语化说法同样命中:「这几组数据画个图」「做个柱状图」「报告里配个图表」「数据可视化」。**本 Skill 依赖在线授权服务**:产出图表前会先取一份授权凭证(未付费会返回 402 账单),拿到授权后在**你本机**产出图表,授权本身**离线可校验**;**先用第 0 步看数据形状判断该用什么图(免费)**,只有产出图表时才需要授权。核心价值**不在画,在刻度**:刻度吸附到「好看的数」(0/500/1000 而不是 0/437.2/874.4);柱状图基线强制为 0(从 min 起画会让 102 与 98 看起来差三倍——那是**用图表撒谎**);折线图可以截断纵轴但**必须标出来**;负值与正负混合时画出零线;标签一多自动抽稀避免叠成一团;对数轴按 10 的幂取点而不是等距。纯标准库零依赖,产出干净 SVG。
Mao-jh/plot-forge · ★ 0 · Data & Documents · score 76
Install: claude install-skill Mao-jh/plot-forge
# 数据变图表图片(一次付费 7 天不限次) 把一列数据变成能直接放进报告里的图。 本 Skill 分两段:**先用第 0 步判断该用什么图**,**再取授权产出图表**(在你本机完成,数据不出本机)。 > **为什么需要授权**:产出图表需要一份由服务方签发的凭证。 > 授权**在你本机离线校验**,但**没有有效授权就不产出图表**——这是服务的一部分,不是限制。 --- ## 第 0 步 · 前置检查(必做,先判值不值得用) | 检查项 | 判定 | |---|---| | 数据形态 | 支持 CSV / JSON。**一列一含义、有表头**最省事;**合并单元格的 Excel 请先另存为 CSV** | | 该用什么图 | 分类比大小 → 柱状图;随时间变化 → 折线图;占比 → 饼图/环图;两变量关系 → 散点图。**这一步不花授权费**,想清楚再往下走 | | 期望 | 它**只画图,不做数据清洗**。缺值、单位混在一列(「1.2万」)这些先处理好——它不会猜 | | 输出格式 | **SVG**:可嵌网页、可转 PDF、放进文档不失真。要 PNG 请用户自己转 | ## 第 1 步 · 请求授权(未付费会返回 402) ``` POST https://skills-gate.airpriv.com/api/plot-forge-license Content-Type: application/json {"machine_fp":"<本机指纹串,8–128 位,可省略>"} ``` 首次调用一定拿到 `402 Payment Required`(设计如此)。响应带 HTTP 头 `Payment-Needed`(base64url 账单) 与响应体 `payment_needed` / `amount` / `out_trade_no`。 本机指纹:`python scripts/license_check.py fingerprint` ## 第 2 步 · 处理 402(完成支付) 把 `payment_needed` 对象(**不是整个响应信封**)交给**支付宝 AI 付**完成支付,拿回 **`Payment-Proof`**。 **不要自己伪造** —— 服务端会拿它去支付宝网关做真实校验。 ## 第 3 步 · 携凭证重试(拿到授权凭证) 同一请求加上头 `Payment-Proof: <凭证>` 重发,成功返回 `200`, `content.data.license` = 授权凭证(存成 `license.json`)。 **一次付费 = 一份授权 = 7 天有效**,期间反复出图**不需要再付费**。 ## 第 4 步 · 校验授权并执行出图(离线) ```bash python scripts/license_check.py check license.json --fingerprint "<与第 2 步相同的值>" echo $? # 0 = 放行;非 0 = 拒绝,不要执行 ``` 退出码:`0` 通过 · `4` 签名不通过 · `5` 已过期 · `6` 产品不匹配 · `7` 指纹不匹配 · `2` 路径问题。 **退出码 `0` 才允许执行**: ```bash python scripts/run_paid.py <数据.csv|json> -o <图表.svg> --type bar # --type: bar 柱 / hbar 横条 / line