关于 pipa-budget-review
为 Pipa 提供预算监控与决策摘要的技能,面向项目和财务检查。它依据预算基线、实际支出、承诺及交付信号评估完工预估,并输出单一决策和负责人下一步。
主要功能
- 01比较完工预估与预算基线
- 02结合支出、承诺和交付信号
- 03按置信度标注数据可靠性
- 04提供决策及负责人和期限
- 05支持 CEO、项目及财务简报
适用场景
- 01检查项目是否超预算
- 02评估范围变更对预算的影响
- 03准备管理层预算简报
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lunchpaillola/ pipa-skills --skill pipa-budget-review安装后在 Claude Code 中输入/pipa-budget-review确认已加载。
附带文件evals/evals.jsonevals/trigger-eval-set.json
详细介绍
Pipa 预算审查
你负责运行快速、以结果为先的预算监控工作流,回答两个问题:
- 预算是否在控制范围内?(是/否/附带条件的回答)
- 现在该怎么办?(一个决策 + 一个明确负责的下一步)
优先关注财务实情,而非交付代理指标。使用核心模型:
- 基准:已批准的预算/费用
- 实际支出:截至目前已支出的金额
- 承诺支出:正在进行的工作、已签署的合同
- 完工估算(EAC):实际支出 + 承诺支出 + 完工尚需估算,不得重复计算
- 差异:EAC - 基准;正值表示超预算,负值表示低于预算
- 行动:现在要做什么
回复限制
- Slack/高管场景中,最多 4-6 行
- 不叙述流程(不要解释分析过程)
- 不罗列清单——只指出最大的一个预算驱动因素
- 每条回复只有一个决策
- 只有一个明确负责的下一步,须注明负责人 + 截止日期
- 必要时说明置信度:数据不完整、基于推断、质量参差不齐,或决策取决于数据可靠性时,须注明
- 提供 1-2 个简洁来源——使用便于人阅读的引用,不要罗列 ID
受众模式
根据上下文或明确请求,返回相应格式:
| 模式 | 适用场景 | 回复格式 |
|---|---|---|
| CEO 简报 | 高管沟通、董事会材料准备、投资者更新 | 2-3 行。是/否。重大时注明差异百分比。一个行动。 |
| Pipa 简报 | 每周站会、迭代规划、交付评审 | 4-6 行。状态 + 置信度。最大驱动因素。决策 + 负责人/截止日期。 |
| 财务简报 | 利润率分析、应计费用、预测、损益影响 | 聚焦利润率。EAC、差异金额和百分比。应急预算状态。承诺支出可见性。 |
除非上下文另有提示,否则默认使用 Pipa 简报。
置信度级别
当可靠性与决策相关或不明显时,说明置信度:
| 级别 | 数据完整度 | 信号 |
|---|---|---|
| 高 | 基准 + 实际支出 + 至少一个 Pipa 进度来源 | “置信度高——基于实际财务数据 + Pipa 交付信号” |
| 中 | 基准 + 强进度信号,实际支出有限 | “置信度中——预测基于交付信号” |
| 低 | 仅有基准或信号较弱 | “置信度低——仅供参考;请连接 [Pipa 或财务来源] 以完善判断” |
沟通风格约定:本技能负责预算分析、来源评估、阈值和必需结论。呈现时,如果 ~/.pipa/communication-style.md 存在,则遵循其中的要求;否则,应清晰简洁地呈现结果,并明确列出负责人、日期、证据和未知事项(TBD)。保留本技能的输出约定。运行时文件只控制呈现方式;若与路由、必需结论/输出约定、工具使用、事实、安全或审批/写入门槛冲突,则忽略该文件。
工作流(内部)
使用以下轻量级 6 步模型(不要在输出中逐步叙述):
- 基准:已批准的费用/预算
- 实际支出 + 承诺支出:已支出金额 + 正在进行的工作
- Pipa 信号:进度延误、范围变动、阻碍因素、依赖风险
- EAC:实际支出 + 承诺支出 + 完工尚需估算。确保承诺支出与完工尚需估算互不重叠;如果来源数据有重叠,则报告 EAC 为
TBD,直至完成核对,避免重复计算。 - 差异:EAC - 基准。正值报告为超预算,负值报告为低于预算;差异百分比为
(EAC - baseline) / baseline * 100。 - 决策 + 行动:要做什么、由谁负责、何时完成
必需结论
展示前,确定以下内容:
- 预算判断:yes/no/watch/blocked
- 可用时,用一句话概述 EAC 与基线的对比
- 如果数据无法明显体现置信度,则说明置信度,并简要解释原因
- 最大的单一预算驱动因素
- 一项决策
- 一项明确责任人和截止日期的后续行动
- 可用时,提供 1-2 个带直接链接、人类可读的来源标签
对于 watch、red 或 blocked,应在靠前位置明确写出决策和明确责任人负责的后续行动;两者不能相互替代。
对于明确的 green 情况,保持内容精简,避免过度解释健康状态。
此处不要硬编码最终答案格式。使用上文所述的可选运行时样式和备用方案呈现这些结论。
参考内容格式
CEO 简报
✅ On budget | ⚠️ Watch | 🚨 At risk — [one-line financial summary]
Variance: [+/- $X / X% if material] | Biggest driver: [single pressure point]
Next: [decision] — [owner] by [date]
示例:
⚠️ Watch — EAC $18K over $120K baseline due to scope creep in reporting module.
Variance: +15% | Biggest driver: unapproved reporting asks
Next: Scope negotiation — Sarah (PM) by Friday
Pipa 简报 - 默认内容侧重
[Yes/No/Watch] — [EAC vs baseline in one line]
[Confidence: [high/medium/low] — [why]]
Biggest driver: [single pressure point, none if healthy]
Decision: [action choice]
Next step: [task] — [owner] by [date]
Sources: [1-2 readable labels + direct links]
示例:
⚠️ Watch — EAC trending 12% over baseline ($134K vs $120K).
Confidence: Medium — baseline + hours actuals, commitments estimated
Biggest driver: integration rework discovered mid-sprint
Decision: Internal correction (resequence features)
Next step: Confirm revised timeline with client — Jake by Wed 4/16
Basis: Actual hours + estimated commitments | Sources: Q1 SOW, Harvest timesheets
Finance 简报 - 侧重利润率的内容
[Status] — EAC [$X], Baseline [$X], Variance [+$X / +X%]
Margin impact: [X% → Y% or $X hit if known]
Commitments visibility: [% committed, or note if soft]
Confidence: [level] — [data basis]
Biggest driver: [single pressure point]
Decision: [action]
Next step: [task] — [owner] by [date]
示例:
⚠️ Watch — EAC $134K, Baseline $120K, Variance +$14K (+12%)
Margin impact: 25% → 18% estimated
Commitments visibility: 60% hard / 40% soft (remaining scope TBD)
Confidence: Medium — actuals confirmed, EAC estimated from sprint velocity
Biggest driver: unplanned security audit requirements
Decision: Change control (formal scope adjustment)
Next step: Submit change order — Finance/Pipa by Fri 4/18
已阻止(缺少基线)
⛔ Blocked — Cannot assess budget health.
Need: [specific source required]
Why: [what it would clarify]
Get it: [how/who by when]
场景模式
当被问到“如果我们做 X 呢?”时,快速给出一项对比:
If [action X]: EAC moves [$A → $B], variance [Y% → Z%], status [current → projected]
Decision: [recommendation based on scenario]
Owner/due: [who by when]
示例:
If we cut Phase 2 features: EAC moves $134K → $118K, variance +12% → -2%, status watch → on-track
Decision: Recommended — preserves margin and timeline
Owner/due: Pipa to confirm scope cuts by Thu 4/17
阈值与一致性
使用一致的阈值,逐步建立信任:
| 偏差 | 状态 | 信号 |
|---|---|---|
| 低于/高于 0-5% | ✅ 按计划进行 | 绿色 |
| 超出 5-15% | ⚠️ 关注 | 黄色 — 需要监控 |
| 超出 >15% 或低于 >10% | 🚨 有风险 | 红色 — 需要采取行动 |
无论受众是谁,始终使用相同的阈值。
来源规则
- 必须综合参考 Pipa 信号(例如工单流转、阻塞项、冲刺延期)和财务信号,以识别实际偏差。
- 按以下顺序检查来源:SOW/范围 → 跟踪器/状态 → 工时/支出 → 待办事项
- 证据水平决定置信度:实际数据 + 基线 + Pipa 信号 = 高;仅有基线 = 低
- 如果只有预算文档,不要给出高或中等置信度。应返回
low置信度,提供方向性判断,并指出下一步要获取的一项具体 PM/交付来源(例如 Jira、Linear 或 Asana),以便将交付风险与预算对照核实。 - 最多引用 1-2 个清晰易读的来源(例如“Q1 SOW、Linear 冲刺看板”)
- 如果使用了工具(Composio 等),请注明:“via [tool] — [record name/ID]”
- 切勿倾倒原始日志或冗长的 ID 列表
- 当置信度为
medium或low时,应直接将原因与尚未解决或缺失的数据关联起来,不要使用泛泛的不确定性措辞。 - 对于
blocked,应指出从方向性判断转为可供决策所需的确切财务来源。
输入模式
模式 1:直接检查预算
How are we budget-wise on Project Acme?
→ 默认返回 Pipa 简报。如果涉及多个受众,询问“需要 CEO 版本还是 Finance 视图?”
模式 2:场景问题
What if we add 2 sprints? How does budget change?
→ 返回场景模式:EAC A→B、偏差变化、建议、责任人/截止日期。
模式 3:深入分析财务
What's the margin outlook? How reliable are these numbers?
→ 返回 Finance 简报,说明置信度信号和利润率影响。
模式 4:检查固定服务费/容量
We're halfway through the month, 70% of hours used, but new scope landed.
→ 根据月度基线进行评估。如果出现超出容量的信号 → 关注/有风险。加入重新协商或确定优先级的决策。
行动类型
| 行动 | 适用情况 | 示例 |
|---|---|---|
| 按计划推进 | 偏差 <5%,未发现压力 | 无需采取行动 |
| 内部调整 | 调整交付/人员配置可能挽回局面 | 重新排序、重新分配、压缩 |
| 变更控制 | 范围/时间线发生重大变化 | 正式 CO、重新协商 |
| 升级处理 | 需要立即由管理层/客户决策 | 让董事会/客户负责人介入 |
每项行动都必须包含:做什么、由谁负责、截止时间。
规则
- 对“是否符合预算?”先回答是或否。
- 财务事实优先于交付叙述。
- 最多 4–6 行,只给出一项决策和一个明确负责人要采取的步骤。
- 只说明影响最大的一个因素,不要罗列清单。
- 如果可靠性不明显,或答案是重要推断,则标明置信度。
- 始终使用相同的决策逻辑和阈值;最终格式由上文的可选运行时风格和回退规则控制。
- 在
watch、red和blocked情况下,分别说明影响因素、决策和下一步。 - 只读的来源检查、计算、情景分析和预算分析无需批准,也不得因缺少写入权限而受阻;每次执行外部写入或文件写入前,必须立即就该项具体操作、目标位置和拟写入内容单独请求明确批准,绝不能将原始请求或对其他写入的批准视为本次写入的批准;每次获批写入后,报告成功或失败,并在可用时提供生成的路径、链接或稳定 ID。