Skill 安装
多 Agent 安装npx skills add https://github.com/axiomhq/skills --skill controlling-costs
使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。
Skill 调研报告
axiomhq/skills#controlling-costs
Skill 更新日志
版本列表
无版本号
合并拉取请求 #67,来自 axiomhq/ollie/stale-script-path
docs:修复过时的 SRE 设置说明
无版本号
fix:在设置期间解析链接的技能路径
无版本号
fix:匹配捆绑的查询辅助接口
无版本号
fix:对成本控制仪表板使用共享所有权
无版本号
docs:简化技能设置措辞
无版本号
chore:移除依赖路径测试工具
无版本号
docs:修复过时的 SRE 设置说明
无版本号
fix:解析捆绑的技能依赖
无版本号
docs(dashboards):添加 Grafana 迁移指南和 PromQL→MPL 翻译规则
向 building-dashboards 技能添加两份新参考文档,以及
安全使用它们所需的支持机制:
- reference/grafana-migration.md:规范规范投影(jq)、顶层
字段映射、可视化类型表、名称映射(Prom→OTel 重命名
规则)、缺失标签的反向标签发现,以及检查清单。
- reference/promql-to-mpl.md:PromQL 选择器、
分组、rate、直方图、比率、布尔阶跃函数的机械翻译,以及
反向标签发现;包括“选择器值不在数据集中
的是别名——引用来源”规则。
技能级新增内容:
- 新增“计算所要求的内容,或用阻塞项推迟”规则,带有 Note 面板
推迟机制。
- 新增“必需图表单位配置”矩阵,涵盖每种图表类型
不对称的 unit/customUnits 要求。
- 收紧内联时间范围规则,以澄清每面板时间覆盖
仅限 UI(没有 API 字段)——overrideDashboardTimeRange 会在数据图表上被静默
丢弃,在 Note 上被拒绝。
- 更新 chart-config / chart-cookbook / design-playbook 以支持
新规则。
工具:
- scripts/metrics/resolve-url 和 scripts/dashboard-validate 获得
AXIOM_URL_OVERRIDE 支持,与 axiom-api 保持一致,因此单个环境变量
可将整个辅助工具集路由到非默认边缘(staging 所需)。
- resolve-url 切换到 /v2/datasets。
- dashboard-validate:按图表类型对 unit/customUnits 进行更严格检查。
模板:
- org-usage-cost-control.json 更新为当前 schema。
- controlling-costs/templates/dashboard.json 小幅清理。
Co-authored-by: Claude Opus 4.7 (1M context)
无版本号
使用边缘 URL
无版本号
controlling-costs:强化查询成本尖峰监控
将 15d 基线 / max-z 门控替换为来自
生产调查的强化方法:
- 30d 基线,带 5d 排除间隔(防止持续尖峰
污染基线)
- 基于持续性的门控:median_z > 3 且 p25_z > 2.5(整个
当前窗口必须异常,而不仅仅是峰值小时)
- 当前窗口百分位数(p50、p25)而不是 maxif(对
单小时离群值更稳健)
- 最小数据:baseline_hours >= 168,current_hours >= 4
- 下限过滤:current_p50_gbms > 100M GB·ms
- 监控范围:10080 -> 43200 分钟
Co-authored-by: Amp
Amp-Thread-ID: https://ampcode.com/threads/T-019c6d8c-6932-731d-b07b-78b1e734d92c
无版本号
controlling-costs:为代理工作流添加 list-notifiers 脚本
- 新的 list-notifiers 脚本显示按类型排序的可用通知器(slack 优先)
- 更新 SKILL.md 第 3 阶段以使用两步工作流:列出通知器,然后创建监控
- 移除过时的第 5 阶段 Glidepath 部分(已被 Total Ingest Guard 中的增长检测取代)
- 更新监控描述以反映 3 监控策略
Amp-Thread-ID: https://ampcode.com/threads/T-019c04ac-ad1e-723b-b3ee-79332f2da928
Co-authored-by: Amp
Amp-Thread-ID: https://ampcode.com/threads/T-019c04ac-ad1e-723b-b3ee-79332f2da928
Co-authored-by: Amp
无版本号
controlling-costs:整合为 3 监控策略,并按数据集归因
- 将 4 个监控替换为 3 个:Total Ingest Guard、Per-Dataset Spike、Query Cost Spike
- Total Ingest Guard 现在结合超支(>1.2x 合同)和增长检测(>15% 周环比)
- 尖峰监控使用 notifyByGroup:true 进行按数据集告警归因
- 使用条件聚合的单遍稳健 z-score 查询(无复杂连接)
- 移除 glidepath 监控和 update-glidepath 脚本(已被增长检测取代)
- 已在 staging 测试:正确检测到 k8s-logs-prod 20x 尖峰
Amp-Thread-ID: https://ampcode.com/threads/T-019c04ac-ad1e-723b-b3ee-79332f2da928
Co-authored-by: Amp
无版本号
controlling-costs:对尖峰检测查询使用单遍方法
将基于连接的查询替换为使用
is_current/is_baseline 标志的单遍条件聚合。这种方法比
具有多个 summarize 操作的复杂连接更高效、更可靠。
- 使用 percentileif、countif、maxif 进行条件统计
- 相同逻辑:Z > 3 且 bytes/gbms > p99,持续 2+ 小时
- 更新文档以包含新的查询模式
Amp-Thread-ID: https://ampcode.com/threads/T-019c041f-a729-7259-be63-00298935baf6
Co-authored-by: Amp
无版本号
controlling-costs:添加缺失的 format-bytes.sh 库
Amp-Thread-ID: https://ampcode.com/threads/T-019c0263-aad4-702d-b347-1553a5cb2108
Co-authored-by: Amp
无版本号
controlling-costs:使用 Oracle 审查后的修复改进尖峰检测
监控 2(摄取)和监控 3(查询成本)改进:
- 当前窗口:ago(7d) → ago(4h),以避免对旧尖峰重复告警
- 先求和,再取对数:稳健 z-score 的正确顺序
- 添加 baseline_hours >= 72 保护,以获得稳定百分位数
- 添加 isfinite() 保护以处理无效值
- 将硬编码中位数阈值替换为基于排名的过滤
- 按 max_excess_bytes 取前 10:无尺度,优先考虑成本影响
- 添加 excess_bytes > 0 门控
没有硬编码绝对阈值——完全无尺度方法。
Co-authored-by: Amp
Amp-Thread-ID: https://ampcode.com/threads/T-019c0263-aad4-702d-b347-1553a5cb2108
无版本号
controlling-costs:用稳健 z-score 替换 Spotlight 以进行按数据集尖峰检测
Spotlight 在高方差数据集(例如 k8s-events)上产生误报。
稳健 z-score 方法使用:
- 对数变换以驯服重尾
- 基于 IQR 的 sigma(对离群值稳健)
- 双重门控:z > 3 且 bytes > p99
- 持续 2+ 小时过滤
已验证:捕获 k8s-logs-staging(z=8.06),过滤 k8s-events-eu-prod(z=2.48)
Amp-Thread-ID: https://ampcode.com/threads/T-019c0263-aad4-702d-b347-1553a5cb2108
Co-authored-by: Amp
无版本号
简化安装说明以使用单个命令
技能之间存在相互依赖(controlling-costs → building-dashboards → sre),
因此建议使用 'npx skills add axiomhq/skills' 安装所有技能。
Amp-Thread-ID: https://ampcode.com/threads/T-019bf06d-944b-757d-876c-1cb428e8b341
Co-authored-by: Amp
无版本号
controlling-costs:移除 optimization-playbook.md(与脚本重复)
Amp-Thread-ID: https://ampcode.com/threads/T-019bf05a-e621-7771-98c4-0eb941861bb3
Co-authored-by: Amp
无版本号
controlling-costs:重写 SKILL.md 以提高清晰度和指令遵循性
- 从 391 行减少到 232 行(缩小 41%)
- 将预检重构为带验证的编号检查清单
- 添加 axiom-history 验证(第 4 阶段所需)
- 为不同用户请求添加阶段选择表
- 将 contract 设为必需参数(无默认值)
- 添加 building-dashboards 命令参考
- 修复监控 API 端点(v1 → v2)
- 保留所有监控阈值、参考文件、转换表
- 添加 axiom-query 指令、jq 要求、SIGPIPE 警告
Amp-Thread-ID: https://ampcode.com/threads/T-019bf05a-e621-7771-98c4-0eb941861bb3
Co-authored-by: Amp
无版本号
controlling-costs:修复 axiom-sre 路径引用,添加漂移检测阶段
- 修复路径:在所有 5 个脚本中将 axiom-sre → sre
- 添加第 0 阶段:在部署前检查现有仪表板/监控
- 添加 building-dashboards 技能集成文档
- 使用删除说明改进清理部分
Amp-Thread-ID: https://ampcode.com/threads/T-019bf05a-e621-7771-98c4-0eb941861bb3
Co-authored-by: Amp
无版本号
controlling-costs:将仪表板模板与 xai 部署同步
- 更新 note 面板以引用 controlling-costs 技能而不是 axiom-sre
- 添加 Contract (GB/mo) 过滤器和 % Over Contract / Required Cut 面板
- 将 Waste Candidates 重命名为 Lowest Query Activity with Work/GB 指标
- 移除冗余的 Low-Util Datasets 统计面板
- 添加显式表格列宽
- 将默认时间窗口更新为 30d
Amp-Thread-ID: https://ampcode.com/threads/T-019bf012-31d0-749e-98f3-53d445e0fa73
Co-authored-by: Amp
无版本号
chore:从所有 SKILL.md frontmatter 中移除 skill_path
Amp-Thread-ID: https://ampcode.com/threads/T-019bef99-b11e-733d-acd8-658ea022ea6d
Co-authored-by: Amp
无版本号
controlling-costs:统一 Analysis Queue 以防止跳过大型数据集
问题:代理分析了小型浪费候选,但跳过了两个最大的
数据集(kube_logs 7.3PB、enterprise_api 7.2PB),因为它们位于
单独的“Top 10 by Ingest”列表中,而该列表未被优先处理。
解决方案:
- 重写 baseline-stats 以生成单个统一的 Analysis Queue
- 为强制数据集添加 P0⛔ 层级(按摄取排名前 3 或 >10% 份额)
- 添加 top5_ingest 原因标记,以确保前 5 个永不被跳过
- 从全局总量(过滤前)计算 share%,以提高准确性
- 使用 query_gbms==0 表示“从未查询”(不是被下限处理的 work_per_gb)
- 使用 printf 进行表格格式化(避免 jq 填充崩溃)
- 优雅处理空队列,并提供有用的错误消息
- 用清晰规则简化 SKILL.md 第 4 阶段说明
队列现在按优先级然后摄取排序,并带有显式标记,
使代理不可能跳过影响最大的数据集。
Amp-Thread-ID: https://ampcode.com/threads/T-019befbf-6311-70bb-b8c5-4a0904e1b9f1
Co-authored-by: Amp
无版本号
controlling-costs:严格流程、命名标志、报告模板
- 将第 4 阶段重构为带检查点的严格分步流程
- 将所有脚本转换为使用命名标志(-d、-a 等)而不是位置参数
- 添加预检检查,要求先加载 axiom-sre 技能
- 当审计数据集不可访问时添加显式 STOP 条件
- 添加 analysis-report-template.md 以一致呈现发现
- 添加空值下钻流程及替代字段指导
- 记录数据集分析的优先级顺序(Work/GB = 0 优先)
- 添加关于不要将脚本输出管道到 head/tail 的警告(SIGPIPE)
Amp-Thread-ID: https://ampcode.com/threads/T-019bef99-b11e-733d-acd8-658ea022ea6d
Co-authored-by: Amp
无版本号
为所有技能添加 skill_path 以兼容 harness
一些代理 harness 不会自动跟踪技能文件
在磁盘上的位置。skill_path 字段告诉它们从技能位置解析相对
路径(scripts/、reference/、templates/)。
Amp-Thread-ID: https://ampcode.com/threads/T-019bef72-c734-7483-9bd2-5cee608d288c
Co-authored-by: Amp
无版本号
推荐使用 Personal Access Token 而不是 API token
无版本号
向所有 README 添加交互式 Axiom 配置设置和配置部分
无版本号
移除计划文档
无版本号
修复仪表板布局:将 top-datasets/top-orgs 扩展为全宽,增加 note 高度
暂无评论...