mcpField
C
cost-check

cost-check

github.com/rshade云与 DevOps386 次安装2 周前更新
代码仓库

关于 cost-check

cost-check 用于识别 IaC 项目、运行兼容的成本工具,并按阈值生成成本报告,适合基础设施成本审查,结果写入 COST_CHECK.md。

主要功能

  1. 01检测 IaC 堆栈与成本工具
  2. 02按阈值标记资源及总成本
  3. 03与之前的报告比较
  4. 04生成终端摘要和 COST_CHECK.md 报告

适用场景

  1. 01审查 IaC 项目的预计成本
  2. 02查找超过成本阈值的资源
  3. 03比较本次与上次检查结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rshade/agent-skills --skill cost-check

安装后在 Claude Code 中输入/cost-check确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
default-thresholds.md
report-template.md
tool-matrix.md
tool-parsers.md

详细介绍

成本检查

检测当前目录中的 IaC 技术栈,运行兼容的成本工具,并生成一份标记问题项的成本报告。

核心原则: 调用真实的成本工具 — 不要直接解析 IaC 文件或手动估算价格。

步骤 1:检测 IaC 技术栈

扫描当前目录中的 IaC 项目文件:

ls Pulumi.yaml 2>/dev/null && echo "pulumi: detected"
ls *.tf 2>/dev/null && echo "terraform: detected"

如果未找到 IaC 文件,请停止并报告: “此目录中未检测到 IaC 项目。”

完整的检测表请参见 references/tool-matrix.md。

步骤 2:检测成本工具

对于每个检测到的 IaC 技术栈,检查是否已安装兼容的成本工具:

command -v finfocus 2>/dev/null && echo "finfocus: available"
command -v infracost 2>/dev/null && echo "infracost: available"

如果检测到的技术栈没有找到兼容的工具,请以软失败方式处理: 报告检测到的 IaC 技术栈,并推荐合适的工具。不要提供安装命令 — 链接到该工具自己的文档。推荐信息请参见 references/tool-matrix.md。

如果唯一可用的工具与检测到的技术栈不兼容(例如,找到了 infracost,但项目使用的是 Pulumi),则按未找到工具处理。

步骤 3:加载阈值

检查项目根目录中是否存在 .cost-check.yml。如果存在,请读取阈值覆盖配置。如果不存在,请使用 references/default-thresholds.md 中的默认值:

  • resource:$100/mo(标记成本高于此值的单项资源)
  • increase:$50/mo(标记成本增幅高于此值的情况)
  • increase_pct:20%(标记成本增幅百分比高于此值的情况)
  • total:$1000/mo(标记总成本高于此值的情况)

步骤 4:读取基线

如果项目根目录中存在之前的 COST_CHECK.md,请读取其中的月度总成本。此值将作为差值比较的基线。如果不存在之前的报告,请跳过差值标记。

步骤 5:运行成本工具

针对每个检测到的 IaC 技术栈运行兼容的成本工具。各工具的调用和解析说明请参见 references/tool-parsers.md。

捕获完整输出,并提取为规范化结构:

  • 预计月度总成本
  • 按技术栈/工作区划分的成本
  • 每个技术栈中按资源类型分组的成本
  • 单项资源成本

步骤 6:标记问题项

将阈值应用于规范化的成本数据:

  1. 高成本资源 — 标记月度成本高于资源阈值的任何资源
  2. 成本增幅 — 如果存在基线,当总成本增幅超过 increase 阈值或增幅百分比超过 increase_pct 阈值时进行标记
  3. 总成本 — 如果所有技术栈的预计总成本超过 total 阈值,则进行标记

步骤 7:终端摘要

立即打印结果:

  • 使用的 IaC 技术栈和成本工具
  • 各技术栈的总成本及资源类型明细
  • 已标记的问题项及触发标记的阈值
  • 与基线的差值(如果存在基线)
  • 所有技术栈的总成本

步骤 8:生成 COST_CHECK.md

使用 references/report-template.md 中的模板将报告写入项目根目录。包含所有部分:摘要、技术栈明细、已标记的问题项、使用的阈值和工具信息。

对生成的文件运行 markdownlint。

步骤 9:呈现结果

向用户展示:

  1. 所有技术栈的预计总成本
  2. 按类别统计的已标记问题项数量
  3. 成本最高的已标记问题项
  4. 与上次检查的差值(如果存在基线)
  5. 询问用户是否要调整阈值或调查特定问题项

评论

支持 Markdown