团队周报/日报格式固化与生成器
一、定位
> 解决痛点:每次写周报/日报都要重新教 AI 团队格式。
> 本技能把格式「固化」一次,之后调用即带格式,输入要点即可出稿。
- 模式 A · 格式固化:首次或更新时,把团队真实周报/日报格式沉淀为规格文件,后续生成自动套用。
- 模式 B · 日常生成:输入本周/本日工作要点,按固化(或默认)格式生成 Markdown + Word(.docx) 双交付物。
二、触发场景
- 用户说「帮我写周报/日报」「按我们团队格式出周报」「固化一下我们周报格式」「生成 XX 周报」。
- 用户贴出团队周报样本或描述格式要求。
- 用户抱怨「每次都要教 AI 格式」。
三、模式 A:格式固化(首次 / 更新)
目标:把团队格式写进 references/active_format.md(若文件不存在则基于 references/default_format.md 创建),作为生成时的优先格式源。
流程:
1. 若用户提供样本文件(Word/PPT/腾讯文档截图/文本)或口头描述格式 → 解析其模块结构、字段、措辞、落款规范。
2. 若无样本 → 读取 references/default_format.md,向用户展示标准格式,请其确认或提出差异点。
3. 将团队真实格式写入 references/active_format.md,结构对齐 references/format_spec_guide.md 的契约(team / center / period 规则 / sections 列表 / 落款 / 风格)。
4. 告知用户:此后生成将优先使用 active_format.md;如需回退默认,删除该文件即可。
注意:active_format.md 为团队专属,仅保留一个团队;跨团队使用前请先更新或改名备份。
四、模式 B:日常生成(周报 / 日报)
流程:
1. 读取格式源:优先 references/active_format.md,否则 references/default_format.md。
2. 收集用户输入的本周/本日工作要点(对话中提供即可,无需预先整理)。
3. 结构化:依格式契约把要点整理为 JSON(字段见下方「内容契约」)。
4. 调用生成引擎:
bash
python3 <SKILL_DIR>/scripts/build_report.py \
--content <结构化JSON文件或'-'从stdin> \
--type weekly|daily \
--out <输出目录>
5. 引擎产出 <类型>_<日期>.md 与 <类型>_<日期>.docx,并自动执行脱敏自检。
内容契约(JSON 字段,供 AI 结构化用户输入):
{
"team": "贵团队", "center": "贵中心",
"period": "2026年第XX周 (09/21–09/27)",
"date": "2026-09-27", "author": "(待填)",
"summary": ["结论1(结论先行)", "结论2"],
"sections": [
{"title":"重点工作进展", "blocks":[
{"subtitle":"模块A", "points":["进展1","进展2"]}
]},
{"title":"数据与指标", "blocks":[
{"table":{"headers":["指标","目标","实际","偏差","说明"],
"rows":[["...","...","...","...","..."]]}}
]},
{"title":"风险与问题", "blocks":[{"items":["风险1","风险2"]}]}
],
"next_plan": [{"task":"事项","owner":"责任人","due":"截止日"}],
"needs": ["需协调/支持事项1"],
"confidential": true
}
sections支持三种块:points(要点列表)、table(表格)、items(清单)。模块可增减、改名、调序——即团队格式的差异点。- 周报默认模块见
references/default_format.md;日报为精简版(今日完成 / 进行中 / 明日计划 / 需协调)。
五、默认格式(摘要,完整版见 references/default_format.md)
周报结构:标题 → 核心结论(结论先行 3–5 条)→ 重点工作进展(模块:背景→进展→风险→下一步)→ 数据与指标(表格)→ 风险与问题 → 下周计划(表:事项/责任人/截止)→ 需协调事项 → 落款(报告人/日期)。
日报结构:标题 → 今日完成 → 进行中/风险 → 明日计划 → 需协调事项 → 落款。
通用规范:结论先行;数据带单位与同比/偏差;风险标注升级路径;落款仅写团队+报告人+日期,不特定抬头;页脚标注「{团队} · {中心} · 机密」。
六、脱敏规范(强制)
- 本技能默认去标识化:不写死具体集团/中心/人名,使用占位「(贵团队)/(贵中心)/(待填)」。
- 生成后引擎对最终产物自动自检,命中以下疑似敏感标识即告警(不阻断):
- 真实姓名、数字分身标识;
- 工号(WP-xxxx 等);
- 手机号、邮箱、身份证号;
- 公司/部门专属标识(如某集团、某中心、某主管等,须替换为通用表述)。
- 上架/分发前,请再次核对是否混入真实敏感数据。
七、边界
- ✅ 周报、日报的格式固化与生成;支持团队格式覆盖。
- ✅ 交付 Markdown(轻量、可转腾讯文档)+ Word(可提交)。
- ✅ 数据缺失用「(待补充)」占位,不在文稿中编造数字。
- ❌ 不评价财务利润指标(除非团队格式明确要求且用户提供)。
- ❌ 不自动抓取外部系统数据,需人工提供要点。
- ❌ 不替代真实填写与责任人确认。
- 付费校验经平台 fulfill API 完成;签名密钥仅来自环境变量
TEAM_REPORT_KIT_PAY_SECRET/ 平台注入,不内置缺省密钥,不本地自签自验。
八、付费与使用授权(Pay-Skill · 已实现 402 收银协议)
本技能通过 SkillHub 以付费技能(pay-skill)方式分发,按调用量计费,且已落地完整 402 收银协议,非「声称付费」。
- 计费模式:按调用量计费(元 / 次)。
- 单价:¥0.50 / 次(已确认;须与
metadata.pricing.unit_price及支付平台 / 上架表单三处一致)。 - 支付依赖包:
alipay-aipay(支付宝 AI 付 / 402 自收款),已在 frontmatterdependencies声明,为付费下单与收款后端。 - 授权范围:付费调用 / 购买后,您获得本技能的非独占、不可转售使用授权,可用于个人或企业内部生成周报 / 日报;不得对本技能进行反向工程、再分发、转售或用于提供竞争性商业服务。
- 版权:© 2026 乐Buddy(数字分身)。保留一切权利。
- 源码授权:技能内附文档与脚本源码随本技能以专有付费授权一并提供,不另行适用任何开源软件许可协议;本第八节「付费与使用授权」为唯一适用授权。
- 三处单价一致性(关键):服务端 SkillCatalog 配置、支付平台登记单价、上架表单标价——三处必须填同一单价,否则买家付款会被拒。
- 发布路径:付费技能不能用
skillhub publishCLI 发布(CLI 无计费字段,发出必为免费版,且可能被判站外交易引流)。必须走 SkillHub 网页后台手工上传(详见references/pricing.md)。
九、402 Paywall 协议实现(probe → pay → verify → complete/ack)
所有收费动作由 scripts/paywall.py(stdlib 实现,零外部依赖)承载,完整实现 402 协议握手。未持有效 Payment-Proof 时,生成入口拒绝 fulfillment 并返回 HTTP 402 Payment Required。
9.1 协议命令(真实可运行)
| 命令 | 作用 | 关键行为 |
|---|---|---|
probe |
付费探测 | 无有效 Proof → 输出 HTTP 1.1 402 Payment Required + Payment-Needed 头(amount/currency/skill/method/user),退出码 2 |
pay |
发起支付 | 调用支付后端(alipay-aipay / 平台 fulfill /orders)下单,由服务端用其自有密钥签发 Payment-Proof 并登记授权记录;技能本地不持有服务端密钥,无法自签有效凭证 |
verify |
校验凭证 | 仅以服务端 verify/fulfillment API 判定为准(SKILLHUB_FULFILLMENT_API);未配置或调用失败一律按未付费(fail-closed),不静默放行;本地不对付费凭证做签名校验 |
complete / ack |
支付确认 + 履约 | 校验 Proof 通过后 PAYMENT_ACK_OK,进入 fulfillment:调用 build_report.py 生成 Markdown + Word 周报/日报 |
9.2 调用示例(AI / 平台接入时按此路由)
# 1) 探测:未付费 → 402 + Payment-Needed
python3 <SKILL_DIR>/scripts/paywall.py probe --user <user_id>
# → HTTP/1.1 402 Payment Required
# → Payment-Needed: amount=0.50; currency=CNY; skill=team-report-kit; method=alipay-aipay-402; user=<user_id>
# 2) 支付:经 alipay-aipay 下单,取得 Payment-Proof
python3 <SKILL_DIR>/scripts/paywall.py pay --user <user_id>
# → {"Payment-Proof":"<token>","method":"alipay-aipay-402","amount":0.50,"expires_in":1800}
# 3) 校验:verify/fulfillment API 校验 Proof
python3 <SKILL_DIR>/scripts/paywall.py verify --user <user_id> --proof <token>
# 4) 履约:ack + 生成报告(仅在校验通过后执行)
python3 <SKILL_DIR>/scripts/paywall.py complete \
--user <user_id> --proof <token> \
--content <结构化JSON> --type weekly|daily --out <输出目录>
# → PAYMENT_ACK_OK → FULFILLMENT_DONE(生成 .md / .docx)
9.3 协议要点
- 402 响应处理:
probe/complete在 Proof 缺失或失效时,统一返回HTTP 402 Payment Required+Payment-Needed头,明确告知金额与收款方式。 - Payment-Needed / Payment-Proof 机制:
Payment-Needed声明收费事实;Payment-Proof为签名令牌,承载支付结果,作为履约前置凭证。 - 防篡改:Proof 经 HMAC-SHA256 签名,校验失败一律按未付费处理(返回 402)。
- verify / fulfillment API(服务端权威 + fail-closed):
verify子命令仅以平台verify/fulfillment API返回为准;SKILLHUB_FULFILLMENT_API未配置或调用异常(超时 / 非 200 / 解析失败)一律按未付费返回 402,绝不本地回退放行。 - 支付依赖包:
alipay-aipay负责真实收款下单,已在dependencies声明。
9.4 安全模型与密钥管理(经安全审查整改)
- 密钥安全注入(无内置缺省):签名/请求鉴权密钥
TEAM_REPORT_KIT_PAY_SECRET仅从环境变量或平台安全注入获取,代码内不内置任何缺省值;缺失时pay直接报错退出(退出码 3),verify/probe按未付费返回 402,即「缺失即拒绝启动付费流程」。 - 服务端权威校验:
Payment-Proof由平台服务端用其独立密钥签发并绑定服务端授权记录(订单/支付状态)。技能本地仅持请求鉴权密钥,无法签发也无法验证付费凭证——单凭本地密钥不能伪造有效凭证。 - fail-closed 远程核验:
SKILLHUB_FULFILLMENT_API(平台 fulfill 基址)未配置、网络不可达、超时、非 200 或响应异常时,凭证一律判定为无效并按未付费处理,绝不静默放行。 - 集成契约:
SKILLHUB_FULFILLMENT_API基址下需提供POST /orders(下单并签发凭证)与POST /verify(校验凭证,返回{"valid": bool});请求须带X-Skill-Slug / X-Skill-Ts / X-Skill-Sig请求鉴权头(由TEAM_REPORT_KIT_PAY_SECRET签名)。生产由 SkillHub 运行时注入上述环境变量。
十、付费发布操作清单
详见 references/pricing.md:后台上传步骤、三处单价一致性核对、402 协议自测、上架材料清单、免费范围可选设计、上架后自测项。