增值税计算

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

模式 已知 计算 不含税 exclusive 不含税金额 税额 = 金额×税率;价税合计 = 金额+税额 含税 inclusive 价税合计 不含税 = 金额÷(1+税率);税额 = 含税−不含税 税率:ratePercent/100,负数被 Math.max(0, …) 当成 0 一律 toFixed(2) 到分;含税税额用差式,避免 0.01 误差 UI 默认金额 10000、税率 6%、档位 1/3/6/9/13;改任一输入即重算 边界:只做价税试算,不做进项抵扣/申报

一句话选型结论

按资料字段整理

增值税计算是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_f1b049da/vat-trial-calc
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_f1b049da仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791677214
正文体量6.3 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
增值税计算当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

6.3 KB
模型实际读到的说明书原文,来自技能仓库

VAT Trial Calc(增值税试算)

依据本仓库演示页 /demo/local-crm-tools/tax-calc 的自研逻辑(src/utils/localCrmTools/taxCalc.ts → calcVat),指导 Agent 实现本地、无接口的增值税价税试算。

本 Skill 经递归自我改造三轮加固(见文末),在保留原公式语义的前提下补齐校验、舍入一致性与回归样例。

源逻辑分析(必须先懂再写)

输入

参数 含义 UI 默认
amount 金额(≥0,两位小数) 10000
ratePercent 税率百分数,如 6 表示 6% 可选 1 / 3 / 6 / 9 / 13
mode exclusive 不含税 · inclusive 含税 exclusive

内部

rate = max(0, ratePercent) / 100

分支 A:不含税计价(exclusive)

已知:不含税金额 = amount

税额       = round2(amount × rate)
价税合计   = round2(amount + 税额)
不含税金额 = round2(amount)

公式文案:税额 = 不含税金额 × 税率;价税合计 = 不含税 + 税额

分支 B:含税计价(inclusive)

已知:价税合计 = amount

不含税金额 = round2(amount ÷ (1 + rate))
税额       = round2(amount − 不含税金额)
价税合计   = round2(amount)

公式文案:不含税 = 含税 ÷ (1+税率);税额 = 含税 − 不含税

关键不变量

  1. 恒等(在 round2 约定下)
    - exclusive:amountIncl ≈ amountExcl + tax
    - inclusive:tax ≈ amountIncl - amountExcl(税额用差式,避免 excl×rate 再 round 导致 0.01 偏差)
  2. 税率 0:税额为 0;两种 mode 下 excl/incl 均等于输入金额(round2 后)。
  3. 本地试算:不申报、不抵扣进项;仅开票前自检 / 商务测算。

输出 TaxResult

{
  amountExcl: number; // 不含税
  tax: number;        // 税额
  amountIncl: number; // 价税合计
  rate: number;       // 回显百分数
  formula: string;    // 给人看的公式说明
}

硬约束

  1. 公式不得改语义:与上节分支 A/B 一致;不得擅自改成「税额 = 含税 × 税率」等错误式。
  2. 金额舍入统一 round2:+(n.toFixed(2)) 或等价银行家以外的常规四舍五入到分(与源码一致用 toFixed(2))。
  3. inclusive 税额必须用差式 含税 - 不含税,与源码一致。
  4. 非法输入:amount < 0、NaN、非有限数 → 拒绝计算并提示;ratePercent < 0 → 按 0(与 Math.max(0, rate) 一致)或显式校验(推荐显式校验并提示)。
  5. 展示公式:结果区必须展示 formula,便于业务核对。
  6. 变更输入即时重算(@change / watch),与演示页一致。

标准工作流

VAT Trial Calc
- [ ] 复述 mode 与公式(exclusive / inclusive)
- [ ] 实现 calcVat + round2 + 输入校验
- [ ] 常用税率档位 1/3/6/9/13(可扩展)
- [ ] UI:金额、税率、模式、四字段结果+公式
- [ ] 跑 fixtures(见 reference)
- [ ] 对照源文件 taxCalc.ts 做一次差分确认

推荐实现骨架

export type TaxMode = 'exclusive' | 'inclusive';

export type TaxResult = {
  amountExcl: number;
  tax: number;
  amountIncl: number;
  rate: number;
  formula: string;
};

const round2 = (n: number) => +n.toFixed(2);

export function calcVat(amount: number, ratePercent: number, mode: TaxMode): TaxResult {
  if (!Number.isFinite(amount) || amount < 0) {
    throw new Error('金额必须为 ≥ 0 的有限数字');
  }
  if (!Number.isFinite(ratePercent) || ratePercent < 0) {
    throw new Error('税率必须为 ≥ 0 的有限数字');
  }
  const rate = ratePercent / 100;
  if (mode === 'exclusive') {
    const tax = round2(amount * rate);
    return {
      amountExcl: round2(amount),
      tax,
      amountIncl: round2(amount + tax),
      rate: ratePercent,
      formula: '税额 = 不含税金额 × 税率;价税合计 = 不含税 + 税额',
    };
  }
  const excl = round2(amount / (1 + rate));
  const tax = round2(amount - excl);
  return {
    amountExcl: excl,
    tax,
    amountIncl: round2(amount),
    rate: ratePercent,
    formula: '不含税 = 含税 ÷ (1+税率);税额 = 含税 − 不含税',
  };
}

本仓库已有实现时可直接复用:

import { calcVat } from '@/utils/localCrmTools/taxCalc'

新页面优先复用,避免分叉;若加固校验,在包装函数中 throw/Toast,勿改坏旧调用方默认行为(或同步改源并加注释)。

递归自我改造记录(本 Skill 内建)

R1 — 忠实抽取

从 taxCalc.ts + 演示 UI 还原双模式公式与 toFixed(2) 舍入。

R2 — 发现缺口并补强

  • 源码未拦截 NaN / 负数 → Skill 要求显式校验
  • 仅差式算税可减少 inclusive 下 0.01 误差 → 写入硬约束
  • 税率档位与 UI 默认写入文档,避免 Agent 臆造 16%/17% 旧档而不说明

R3 — 可回归

  • 增加 fixtures(reference)
  • 要求交付前用样例手算核对
  • 明确「非申报级、无进项抵扣」边界,防止做成税务引擎误导

Agent 实现后若发现新边界,应追加到 reference.md fixtures,而不是悄悄改公式。

反模式

禁止 原因
含税金额 × 税率 = 税额 数学错误(多算)
不含税用 amount × (1-rate) 与增值税价税分离不符
混用 round 位数(有的 2 有的 4) 对账失败
做成进项/销项/申报表 超出试算范围
抄财务软件闭源规则却声称同源 本 Skill 仅对齐仓库自研试算

Agent 交付检查

  • [ ] exclusive / inclusive 两路公式正确
  • [ ] 税额舍入与源语义一致(含税用差式)
  • [ ] 非法输入有提示
  • [ ] 结果含 formula
  • [ ] fixtures 通过
  • [ ] 优先复用 taxCalc.ts

附加资源

  • 样例与对照表:reference.md
  • Vue 模板:templates/vue-vat-trial.md
  • 逻辑对照笔记:analysis.md

常见问题

5 问
答案由本站依据条目字段整理
增值税计算怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_f1b049da/vat-trial-calc。安装方式为未标注。装完刷新技能列表或重开客户端。

增值税计算支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

增值税计算权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

增值税计算收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

增值税计算用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。