Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add medalsoftchina/workcopilot --skill doa-quotationgit clone --depth 1 https://github.com/medalsoftchina/workcopilotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/medalsoftchina/workcopilot/doa-quotation)<a href="https://agentmods.dev/skills/medalsoftchina/workcopilot/doa-quotation"><img src="https://agentmods.dev/badge/skills/medalsoftchina/workcopilot/doa-quotation/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/medalsoftchina/workcopilot/doa-quotation"><img src="https://agentmods.dev/badge/skills/medalsoftchina/workcopilot/doa-quotation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00228 | $0.06077 |
| Opus 5.5 | $0.00091 | $0.02431 |
| Sonnet 5.5 | $0.00046 | $0.01215 |
| Haiku 4.5 | $0.00023 | $0.00608 |
Grade A, and why
doa-quotation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 566 lines — stays where its author put it; the contents beside it link to each section on GitHub.
报价与敏捷任务拆分生成
工作流概览
用户提供需求/客户/项目信息
→ 确认输出模式(经典报价 / 敏捷方式)
→ 搜索并比对当前工作区模板
→ 结构化整理报价项或 Sprint/任务项
→ 生成 Excel 或 Python 生成脚本
→ 校验工时/金额/税率/样式
→ 输出最终文件路径与说明
何时使用
- 用户说“帮我做报价”“生成报价单”“整理工时报价”
- 用户说“按敏捷方式拆任务”“做 Sprint 拆分”“生成敏捷排期 Excel”
- 用户提供客户名称、项目名称,希望参考已有模板生成新的 Excel
- 用户提供 Python/openpyxl 脚本或历史 Excel,要求按同类风格生成新版本
Step 0: 必须先确认输出模式
当用户只说“做报价”或“做任务拆分”,必须先使用 vscode_askQuestions 确认:
- 经典报价
- 适合固定范围、按模块/工时/费用输出传统报价单
- 敏捷方式
- 适合按 Sprint、任务、人天、验收标准输出敏捷任务拆分表
推荐问题:
问题:本次希望采用哪种输出方式?
选项:
- 经典报价 ← recommended
- 敏捷方式(Sprint / 任务拆分)
如果用户已经明确说了“经典报价”或“敏捷方式”,可以跳过这一步。
Step 0.5: 必须确认期望总工时范围
在进入模板选择和任务拆分前,必须再使用 vscode_askQuestions 确认期望的总工时范围,单位为人天。
推荐问题:
问题:本次期望的总工时范围是?
选项:
- 10人天以下
- 10-30人天
- 30-50人天
- 50-70人天 ← recommended
- 70-100人天
使用规则:
- 这个范围是生成报价和任务拆分时的重要约束,不应跳过
- 若用户已明确给出目标工时或目标预算可推导工时范围,可直接采用并在最终说明中写明
- 若用户选择的工时范围与参考模板差距很大,应优先调整任务粒度、Sprint 数量或模块范围,而不是机械照搬模板
- 经典报价与敏捷方式都应记录该范围,作为总人天校验依据
Step 1: 收集最小必要信息
至少确认以下信息;如用户未提供,继续追问缺失项:
- 客户名称
- 项目名称
- 需求描述或范围说明
- 输出模式
- 期望总工时范围
- 人天单价(必填,单位:元/人天,例如 2200、3000、3500)
- 是否有参考模板
人天单价必须由用户提供,不使用任何默认值。如果用户未主动给出,使用
vscode_askQuestions追问。
建议补充信息:
- 报价主体
- 默认:用户公司名称(需用户提供)
- 税率
- 默认沿用模板;无模板时单独确认
- 交付周期
- 角色与单价口径
- 例如 PM/BA 与 PG/PT 是否同价,SA、QA 是否有独立单价
- 是否需要同时输出 Python 生成脚本
Step 2: 先找模板,再决定结构
优先在当前工作区搜索并复用现有模板,而不是从零随意生成。
模板搜索优先级
- 同客户、同项目族的 Excel 或 Python 生成脚本
- 同类型文档模板
- 报价单、敏捷任务拆分、Sprint 计划、工时校验
- 用户本次显式提供的附件或脚本
- 如果仍然没有,再基于通用结构新建
客户名称自动匹配规则
在搜索模板前,优先根据客户名称锁定候选目录,再在目录内按输出模式挑选模板。
当前工作区已知映射
以下为示例映射,实际使用时根据工作区中的客户目录自动发现。
- 客户名称包含:
示例客户、ExampleCorp- 优先目录:
ExampleCorp/ - 经典报价优先模板:
ExampleCorp/示例项目.工时报价.xlsx
- 敏捷拆分优先模板:
ExampleCorp/示例项目_敏捷任务拆分.xlsx
- Python 参考脚本:
ExampleCorp/示例项目_敏捷任务拆分.py
- 优先目录:
匹配流程
- 先读取用户输入中的客户名称
- 如果客户名称命中已知映射,先限定到对应目录搜索
- 在对应目录中按输出模式筛选:
- 经典报价:优先
报价、工时报价、quotation - 敏捷方式:优先
敏捷任务拆分、Sprint、工时校验
- 经典报价:优先
- 如果同目录存在多个候选模板:
- 优先用户显式提到的项目名
- 其次优先最新日期版本
- 再其次优先已有配套 Python 脚本的模板族
- 如果客户名称未命中任何已知映射,再退回通用搜索策略
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 566 lines · 228 tokens per session scan A c77c6c7d623f
doa-quotation is a skill published in the GitHub repository medalsoftchina/workcopilot (4 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 228 tokens to every session and 6,077 once invoked, about $0.0009 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
update-status
This skill should be used when the user wants to change the status of a job already in the tracker (List.xlsx), especially after a company responds. Triggers on phrases like "[company] called me back", "[company] replied", "got an interview with [company]", "move [company] to in progress", "set [company] to in…
stylework-yunxiao-requirement-sync
A workflow for exporting selected requirements from Yunxiao, a project-management service, into a new sheet in an existing DingTalk online spreadsheet. It formats the result into a fixed set of columns and groups it by iteration.
wps-gantt
A Gantt-chart generator that places project tasks on a dated timeline in an Excel file. A Gantt chart shows when each task starts, ends, and progresses.
google-workspace-ops
Operate across Google Drive, Docs, Sheets, and Slides as one workflow surface for plans, trackers, decks, and shared documents. Use when the user needs to find, summarize, edit, migrate, or clean up Google Workspace assets without dropping to raw tool calls.
slack-report-delivery
Deliver formatted network reports, audit results, topology diagrams, and compliance documentation to Slack channels with rich Block Kit formatting. Use when posting a health check report, sharing a security audit, delivering topology diagrams, or sending scheduled network reports to Slack.
google-apps-script
Build Google Apps Script automation for Sheets and Workspace. Custom menus, triggers (onEdit / time-driven / form submit), dialogs, sidebars, email batches, PDF export, external API. Use whenever the user wants to automate a Google Sheet, build a Sheets menu / sidebar / dialog, hit a Sheets row from email or a…