体育试讲设计每日一练 · 自动出帖(v3)
产品定位与内容标准
教学质量优先的 2—4 分钟教学片段(含示范与停顿 120—240 秒),可嵌入完整无生试讲,不冒充完整试讲。每期执行六条标准:
- 讲清用途:标明适用学段、嵌入位置(片段位置)和本期重点。默认学段属于示例设置,不得冒充教材对该活动的明确要求。
- 讲清怎么做:方法写动作过程;规则写起止条件和判定;组织写站位、轮换与返回路线。三处不得复述同一段话。
- 讲清怎么教:示范指出观察重点;纠错含"具体表现、纠正办法、再次检查",不得只有"动作规范一点"。
- 讲清安全安排:把本活动需要的场地检查、行动路线、停止条件写成能执行的口令,不得只写"注意安全"。
- 区分来源:教材内容保留准确出处(book_file+行号+excerpt);新增组织、提示和纠错标为教学加工并登记理由(adapted_note)。改变核心动作、比赛规则和负荷的内容不纳入默认加工(教材【拓展变化】引用时须注明)。
- 保持片段完整:按练习/游戏/体能三类片段流程组织(见 r2),结尾回扣本期目标并衔接后续教学;不固定安排家庭作业,不写"下课"。
版式(保留品牌,逐页验证)
- 封面:整页底层背景图(behindDoc 锚定)+ 48pt 浅青品牌标题 + 项目标签 + 环节名 + 诚实难度(教材未标难度时写"教材未标难度,按入门基础层处理",绝不出现编造星级),恰好一页
- 页面固定 3:4(15cm × 20cm);正文/表格 ≥18pt,栏目标题 24–28pt,图注/标签 ≥16pt,CTA ≥18pt
- 页眉斜向水印「世豪老师」(VML,灰 #C0C0C0);页脚无页码
- 正文顺序:图例区(如有)→ 环节拆解(名称/类型/适用学段/片段位置/时长/方法/规则/意图/组织)→ 教学要点(本期重点/器材与场地/安全安排/分层/评价与观察)→ 易犯错误与纠正表(仅 practice,42/58 固定列、行不跨页)→ 试讲逐字稿(按教学阶段语义分段,阶段标注含口播+示范停顿秒数)→ 引流两行
- 逐字稿语义分段:整句成段,禁止按固定字符数截断;重复整段不重复渲染
- 引流:#标签行居中灰 #808080 + 固定引流段居中深蓝 #0B3289,紧接逐字稿空一行,不另起页
五道门禁(成功提示只能在全部通过后出现)
| 门 | 执行者 | 拦截内容 |
|---|---|---|
| 1 视图门 | fill 步骤 2 | 误收选题(课外作业建议等 10 条已标记 blocker)、缺 PDF/图例不可满足 |
| 2 评分门 | fill 步骤 3 | 事实锁定未归类、编造星级、题文错配、近重复凑时长、断裂标点、时长标注与分段合计不一致(容差 15s)、安全只有套话无口令、前文引用未补证据、含示范停顿超出 120—240s |
| 3 评审门 | fill 步骤 4 | 无评审记录、评审记录与草稿版本不一致(内容改了沿用旧审核)、五项内容评审任一未过 |
| 4 格式验证 | fill 步骤 6 | 关键内容缺失、孤立标点段、占位符残留、引流样式破坏、封面底图异常 |
| 5 渲染检查 | fill 步骤 6(runpy 进程内调 render_docx) | 非 3:4、缺字方框、触边、占高异常、CTA 孤页、水印超标、证据 PDF 留档 |
评分权重与放行线冻结不变:教材事实30/考编可用20/安全20/教学15/口语10/证据5,总分≥85、教材≥27、安全≥16、硬门0。 程序负责可验证检查;动作逻辑、建议依据、纠错有效性、可讲性由内容评审记录实责(review@1)。
关键路径(Pre-flight 必查)
| 路径 | 说明 |
|---|---|
/Users/shawn/Desktop/AI工作区/03-Resources/各版本体育教材/人教版/ |
教师用书源(MD + PDF,只读,9 本) |
本 skill 的 scripts/fill_trial_daily_post.py |
生成脚本 = 统一门禁入口(视图/评分/评审/格式/渲染) |
本 skill 的 scripts/ptd_core.py |
核心库(稳定 ID/视图/章节边界/factlock/量表/评审校验) |
本 skill 的 scripts/build_generatable_view.py |
生成可生成视图(含误收拦截/边界/引用标记) |
本 skill 的 scripts/ptd_workflow.py |
工作流编排(真实门禁核验 + 状态机,--dry-run 演练止步 rewrite_review) |
本 skill 的 config.default.json |
显式配置(学段/时长口径/3:4 版式阈值) |
本 skill 的 references/r1-schema-and-scale.md |
v3 视图/factlock/量表权威定义 |
本 skill 的 references/r2-fragment-and-review.md |
v3 片段规范 + 草稿/评审 schema(含时长口径) |
项目 scripts/activity_index.json |
活动索引(313 条,只读) |
项目 scripts/pending_trial_daily.json |
本期草稿(draft@3,生成脚本输入) |
项目 scripts/review_trial_daily.json |
本期评审记录(review@1,须与草稿同版本) |
项目 scripts/progress_trial.json |
选题进度 |
项目 scripts/_snapshots_trial/ |
快照(回退用,保留最近 10) |
Python:使用当前会话提供的 python3(已装 python-docx)。调用统一加 env -u PYTHONHOME -u PYTHONPATH。
工作流(7 步)
步骤 1:选题(含误收拦截)
- 读
scripts/progress_trial.json。确认合法 JSON、done无重复、last_done存在于done,否则 🔴 STOP。 - 跑
build_generatable_view.py --out /tmp/ptd_view取本条视图记录。generatable=false或 flags 含miscollected_topic(课外作业建议等非教学活动)→ 换下一个候选并记录,不得生成。 - 领导指定选题时同规则校验;已完成再选 → 报告并 🔴 STOP。
步骤 2:在章节边界内提取教材内容
- 用视图记录的
book_file + section_start_line/section_end_line读取本活动原文,只读边界内文本,不得读取下一个活动。 - 提取:
【动作方法/活动方法/游戏方法/练习方法】→方法;起止条件与判定→规则;【素养要点/素养培育要点】→意图;站位轮换→组织;【易犯错误与纠正方法】→纠错对;【拓展变化】只可作标注来源的变式,不得混入默认方法。 - 视图 flags 含
method_cross_reference(如平击球"与正(反)手平击发球动作相同")→ 必须补被引用段落(本条 md_line 之前的行)作为 method 证据,缺证会被硬门cross_ref_evidence_missing拦截。 - 图例按视图策略:
use_extracted/needs_ocr_verify→ 提取真实图片;figure_required_but_pdf_missing→ 🔴 STOP(不再允许"跳过图例继续生成");misattributed_treat_as_none/none→ 空图不占位。
步骤 3:写草稿 JSON(draft@3)
按 references/r2-fragment-and-review.md 的 schema 写 scripts/pending_trial_daily.json:内容块(fields/flow)带 provenance+evidence+adapted_facts+adapted_note(教学加工必须给理由);segment.meta 八要素(学段/片段位置/时长/重点/器材/安全/分层/评价);flow 每阶段登记 demo_sec/pause_sec(示范与停顿秒数,显式登记,不许靠拉长句子凑时长);逐字稿用本活动的动作与规则填充,禁通用套话拼接;禁止中文冒号/ASCII 冒号/破折号;结尾回扣本期目标并衔接后续教学,不写家庭作业、不写"下课"。
步骤 4:human-writing 改写 + 事实复核
触发 human-writing skill 重写 flow[].script。不可用则 🔴 STOP,不得静默降级。改写后必须重跑评分(事实锁定会复核改写稿),并在 notes.human_rewrite_applied=true 标记。改写时保持:动作过程与教材一致;每阶段 1—3 个完整句段;不制造重复句。
步骤 5:内容评审(review@1,实责)
评审完成后写 scripts/review_trial_daily.json(schema 见 r2):五项 checked(动作逻辑一致 / 建议标注+理由 / 纠错三件套 / 考生可讲可评 / 安全可执行口令)逐项给出 true/false 与依据,suggestion_notes 登记每处教学加工的理由;draft_sha 用 ptd_core.draft_hash(草稿) 计算填入。评审记录与草稿版本绑定:草稿任何修改后旧评审作废,须重新评审(硬门校验 draft_sha)。发现核心动作冲突、无依据扩展、纠错无效 → 如实判 false 并退回步骤 3 修订。
步骤 6:跑生成脚本(统一门禁入口)
python3 "$(dirname "$0")/fill_trial_daily_post.py" --workspace "/Users/shawn/Desktop/AI工作区/01-Projects/自媒体内容库-持续项目/体育教师编"
脚本依次执行五道门禁,输出依次出现 ✅ 视图门通过、✅ 评分门通过、✅ 评审门通过、✅ 构建验证通过、渲染明细、✅ 全部通过、✅ pending_trial_daily.json 已删除 才算成功。任一门失败 → 脚本退出非 0、保留 pending、不动旧成品;按报错只修草稿/评审,不改脚本阈值。
(可选)状态机核验:python3 ptd_workflow.py --draft scripts/pending_trial_daily.json --workspace <工作区> 全绿表示门禁链与提交顺序完整;--dry-run 只核验前四门并明确标注 [演练]。
步骤 7:进度与上传
成功后更新 scripts/progress_trial.json:活动名追加进 done、写 last_done、按上海时区写 last_date,回读确认三处命中。需上传 ima 知识库时按 md 版生成与 import_doc → add_knowledge 流程执行(add_knowledge 返回 code=0 才算成功)。
失败恢复
| 触发条件 | 一线处理 | 仍失败时的兜底 |
|---|---|---|
| 关键路径缺失 / python-docx 不可导入 | 🔴 STOP,报告缺失 | 获准后使用 /tmp/tyt_venv 安装 |
| 索引/进度缺失损坏 | 🔴 STOP,修复进度 | 无权威记录时请领导确认 |
| 误收选题 / blocker / 已完成重复 | 换候选或报告,不生成 | 请领导改选 |
| 评分门/评审门失败 | 按明细修草稿或重写评审记录,再重跑 | 不改脚本阈值、不放行问题稿 |
| 图例策略要求图但提取失败 | 尝试 OCR 索引其他命中;仍失败 🔴 STOP | 领导裁决改选(不再跳图放行) |
| 渲染检查失败 | 按逐页明细修排版(通常为内容过长/图过大) | 复跑前不得提交 |
| DOCX 成功但进度写入失败 | 保留成功 DOCX,只修复进度 | 不重跑填充脚本 |
🔴 STOP 与反例黑名单
- 不修改教师用书源、源 PDF、品牌底版或固定引流段
- 误收选题(课外作业建议等)、视图 blocker、重复选题、定位不唯一 → 不写文件
- 不绕过门禁、不静默降级、不用外部常识修补教材没有的事实、不联网补内容
- 不编造星级、不把新增玩法/积分/表演当教材规则、不把【拓展变化】混入默认方法
- 逐字稿不写完整课堂六环节套壳、不写家庭作业和"下课"、不用重复句凑时长
- 内容修改后必须重写评审记录,不得沿用旧审核结果
- 渲染检查未通过不得提交;成功提示只能在五道门禁全过后出现
验证清单(每次跑完必查)
□ 视图门/评分门/评审门/格式验证/渲染检查五条 ✅ 全部出现,render_check.pdf 证据在档
□ 封面恰好一页,底图 behindDoc 精确贴页,标题 48pt 浅青,难度诚实(无编造星级)
□ 页眉水印全节覆盖,页脚无页码
□ 环节拆解含适用学段/片段位置/时长;教学要点含本期重点/器材与场地/安全安排/分层/评价与观察
□ 规则=起止条件与判定;组织=站位轮换返回路线;三处不复述同一段话
□ 纠错表仅 practice,行不跨页;纠错含具体表现/纠正办法/再次检查
□ 逐字稿按阶段语义分段,阶段标注秒数合计=页面时长标注(口播+示范停顿 120—240s)
□ 教材事实可追溯(book_file+行号+excerpt);教学加工有 adapted_note;来源标识一致
□ 正文无机械重复、断词、孤立标点;页面无缺字、表格拆行、单独引流页
□ 引流两行样式正确且紧接逐字稿;占位符零残留
□ 双成功提示后 progress_trial.json 更新且回读通过;human-writing 已实际执行
□ 评审记录 draft_sha 与本期草稿一致(同版本归档)