# PE-trial-daily

> 自动化生成「体育试讲设计每日一练」小红书帖子 docx（v3 教学质量优先门禁版）。产品定位为 2—4 分钟可嵌入完整无生试讲的教学片段，不冒充完整试讲。从教师用书提取教学环节，区分教材事实与教学建议，经视图门、评分门（事实锁定+硬门）、内容评审门、格式验证、soffice 渲染检查五道门禁后才允许成功提交。触发词：体育试讲每日一练、试讲设计每日一练、出一期体育试讲设计。

- Skill: `rshawn0307-maker/pe-trial-daily` (Agent Skill, multi-file: 35 files)
- Install (CLI): `npx skillmds@latest add rshawn0307-maker/pe-trial-daily`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rshawn0307-maker/pe-trial-daily/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: rshawn0307-maker (https://skillmd.com/u/rshawn0307-maker)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rshawn0307-maker/pe-trial-daily

---


# 体育试讲设计每日一练 · 自动出帖（v3）

## 产品定位与内容标准

**教学质量优先的 2—4 分钟教学片段**（含示范与停顿 120—240 秒），可嵌入完整无生试讲，不冒充完整试讲。每期执行六条标准：

1. **讲清用途**：标明适用学段、嵌入位置（片段位置）和本期重点。默认学段属于示例设置，不得冒充教材对该活动的明确要求。
2. **讲清怎么做**：方法写动作过程；规则写起止条件和判定；组织写站位、轮换与返回路线。三处不得复述同一段话。
3. **讲清怎么教**：示范指出观察重点；纠错含"具体表现、纠正办法、再次检查"，不得只有"动作规范一点"。
4. **讲清安全安排**：把本活动需要的场地检查、行动路线、停止条件写成能执行的口令，不得只写"注意安全"。
5. **区分来源**：教材内容保留准确出处（book_file+行号+excerpt）；新增组织、提示和纠错标为教学加工并登记理由（adapted_note）。改变核心动作、比赛规则和负荷的内容不纳入默认加工（教材【拓展变化】引用时须注明）。
6. **保持片段完整**：按练习/游戏/体能三类片段流程组织（见 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：选题（含误收拦截）

1. 读 `scripts/progress_trial.json`。确认合法 JSON、`done` 无重复、`last_done` 存在于 `done`，否则 🔴 STOP。
2. 跑 `build_generatable_view.py --out /tmp/ptd_view` 取本条视图记录。`generatable=false` 或 flags 含 `miscollected_topic`（课外作业建议等非教学活动）→ 换下一个候选并记录，**不得生成**。
3. 领导指定选题时同规则校验；已完成再选 → 报告并 🔴 STOP。

### 步骤 2：在章节边界内提取教材内容

1. 用视图记录的 `book_file + section_start_line/section_end_line` 读取本活动原文，**只读边界内文本**，不得读取下一个活动。
2. 提取：`【动作方法/活动方法/游戏方法/练习方法】`→方法；起止条件与判定→规则；`【素养要点/素养培育要点】`→意图；站位轮换→组织；`【易犯错误与纠正方法】`→纠错对；`【拓展变化】`只可作标注来源的变式，不得混入默认方法。
3. 视图 flags 含 `method_cross_reference`（如平击球"与正(反)手平击发球动作相同"）→ **必须补被引用段落（本条 md_line 之前的行）作为 method 证据**，缺证会被硬门 `cross_ref_evidence_missing` 拦截。
4. 图例按视图策略：`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：跑生成脚本（统一门禁入口）

```bash
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 与本期草稿一致（同版本归档）
```

