Community生产力与协作github.com

Project Quote

将项目范围转化为带有品牌标识的报价单和SOW PDF(包含阶段、交付物、工时与费率或固定费用、应急金、付款计划、假设条件、非包含项、时间线、条款和签名栏),并通过脚本计算总额确保数据准确无误。同时生成一页纸的服务与费率价目表。适用于客户请求报价、估算、提案(含定价)、SOW、预算或价目表时使用。使用方法:/project-quote 后跟客户名称和工作描述,或“rate card”。

Project Quote 是什么?

该项目报价技能(Project Quote)专为创意或自由职业项目设计,能够根据用户提供的项目范围描述,自动生成带有品牌标识的专业报价单和SOW PDF。它通过一个计算脚本(quote_calc.py)确保所有数学计算准确无误,避免人工心算错误。用户只需输入客户名称、项目描述、预算和截止日期等信息,技能便会引导完成报价生成流程,包括确定费率、工作室详情、付款条件等。该技能支持多个平台(如Claude Code、Cursor等),并遵循硬性规则,如所有计算必须通过脚本执行、工时需有合理解释、不得虚构用户费率、范围需明确列出包含与不包含项等。它还能生成一页纸的价目表,并支持提供多个选项(如三级方案)供客户选择。最终输出为PDF文件,并附带JSON数据以便后续修改。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BeautifulEngine/project-quote/tree/HEAD/project-quote

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Project Quote(项目报价)

将“客户想要什么”转化为客户可签字的报价单:你将制作什么、分哪些阶段、费用是多少及原因、何时支付、假设条件以及不包含的内容。数字来自计算脚本,绝不会用口头心算。它还能生成一页纸的价目表。

用法

/project-quote <客户>: <他们想要的内容> [预算] [截止日期]
/project-quote rate card

直接请求也可以:

  • “为一家咖啡烘焙商报价品牌标识:包括Logo、配色方案、3个SKU的包装设计,6周内完成。”
  • “为Acme公司估算一个20×20展位设计和搭建管理,预算约6万美元。”
  • “制作我的价目表:设计总监$175/小时,设计师$120/小时,日费$1,300。”
  • “将这封客户邮件(附件)转化为SOW。”
  • “同样的报价,但按阶段采用固定费用而非按小时计费。”

需要一次获取的信息

用户的个人详细信息使报价归属于他们。首先在对话记录、记忆和附件中查找,然后通过一条简短消息询问缺失的信息:

  • 费率:角色及其小时费率或日费率(或可参考的过往报价或价目表)。
  • 工作室详情(用于信头):公司名称、联系方式以及他们附加的颜色或Logo文件。他们自己的Logo可以放在自己的报价单上。如果没有,则使用简洁的字体样式字标。
  • 他们使用的付款条件(首付比例、净付款天数),如果他们有一个标准条件。

如果他们表示“直接做吧”,则使用明确标注的默认值:签署时支付50%,交付时支付50%,净付款15天,每项交付物两轮修改,10%应急金,报价有效期30天。在回复中列出这些默认值。

文件。 <skill-dir> 表示此技能的文件夹,即存放这个SKILL.md的文件夹。模板位于 assets/ 目录,脚本位于 scripts/ 目录,共享的PDF处理步骤(字体、颜色、渲染、检查)位于 references/rendering.md。

硬性规则

  • 所有计算必须通过 scripts/quote_calc.py 完成。 编写 quote.json,运行脚本,粘贴其生成的表格。要更改数字,编辑JSON并重新运行。绝不可手动输入总额。
  • 工时必须有理由。 每个阶段列出交付物,每个条目都是客户能识别的任务。如果你估算工时,需基于工作范围,说明哪些因素导致工时较多,并保持估算对用户资历的合理性。
  • 绝不可凭空捏造用户的费率。 如果他们问“我该收多少钱?”,需调研当前市场范围(根据他们的角色和地区——设计调查、自由职业平台、招聘信息),注明来源,标记为 Estimate,并让他们自己选择。
  • 范围必须明确包含和不包含的内容。 每个报价单都有“已包含”的交付物和“不包含”的项目(如素材、印刷、媒体购买、额外修改、差旅费、字体或音乐的许可费),以及如何处理变更。
  • 非法律建议。 条款是一个合理的起点。对于大型或非常规合同,建议咨询律师,并且绝不可以声称条款具有法律强制力。
  • 不得添加Beautiful Engine或其他第三方品牌标识:报价单属于用户。

工作流程

  1. 理解工作内容。 客户、项目、交付物、数量、时间线、制约条件、预算信号。如果用户附带了简报或邮件,从中提取每一项交付物。
  2. 规划阶段(通常为:发现、概念、设计或开发、生产、交付),并列出各阶段的交付物和评审点。
  3. 估算:将每个阶段分解为包含角色和工时的任务,以及代付成本(印刷、制作、差旅、许可费)作为固定项目。根据用户偏好决定按小时显示或按阶段固定费用("show_hours": false);默认对客户按阶段固定费用显示,工时保留在JSON中。
  4. 计算:python3 <skill-dir>/scripts/quote_calc.py quote.json > tables.html。脚本将总额输出到stderr,并且如果某个角色没有费率或付款进度表加起来不等于100%则会失败。如果有预算信号且总额超出了预算,提供选项(缩小范围、分阶段工作、或更轻量级方案),而不是默默削减工时。
  5. 编写报价单:基于 assets/quote-template.html 并遵循 references/rendering.md(复制 base.css):将 tables.html 中的 ESTIMATE、SUMMARY 和 PAYMENTS 区块粘贴到标记位置,填写范围、假设条件、时间线和条款。使用用户的颜色和字体。
  6. 渲染、审计、检查。 确认第1页上的总额与脚本输出的总额完全一致,并且客户请求中的每一项交付物都出现在范围中。
  7. 交付:PDF文件,以及 quote.json(以便以后修改)。在回复中附上:总额、付款进度表(一行列出)、风险最高的假设条件,以及你使用的任何默认值。

输出文件名:<Studio>-Quote-<Client>-<Project>-<YYYY-MM-DD>.pdf,带有报价编号,如 Q-<YYYYMMDD>-01。

价目表

基于 assets/ratecard-template.html:按类型分组的服务,每项服务包含具体内容及费率(小时费、日费或“起价”项目价)、最低消费、加急费、修改政策、付款条件和联系方式。一页纸。输出文件名:<Studio>-Rate-Card-<YYYY>.pdf。

选项与层级

当用户需要多个选项时,制作三个层级(例如:基础版、推荐版、完整版),作为独立的阶段或独立的 quote.json 文件,分别为每个层级运行计算器,并在第1页显示对比表格,标记推荐的层级。

相关技能