每天一个体育笔试知识点 · 简答题版
基于 PE-bishi-daily,内容基本元素、讲稿来源、选题规则、生成门槛与品牌版式保持一致;题型改为简答题,解析着重帮助读者答全要点、写清关键词与避免漏答。名称沿用用户指定的 PE-bishi-jd-daily。
产物与不可变项
- 首页仍为大标题「每天一个体育笔试知识点」+【模块】+ 一道简答题,不含 ABCD、参考答案或答案提示。
- 第 2 页为今日考点标题、参考答案、引导句与表格 1;后续解析与表格 2 自然续排。表格分别紧跟
points[1]、points[3],不为凑页数强制分页。 - 最后一页新起一页,保留考法提醒 5 条、话题标签、固定引流段。
- 图表优先。核心信息来自讲稿已有对比、分类、汇总或表格,整理为 1–2 张表,正文只保留简短引导句和结论句。优先用「答题要点|展开表述」等列帮助组织简答,不拼接无关知识。
- 封面深蓝底图、浅青标题字、页眉「体师备考知识库」、页脚装饰、固定引流段均不改。脚本只在工作副本的两个文本框镜像中删除原选项段,保留标题、模块和题干原样式。源模板仍按单选题版原契约检查,不能编辑源模板来适配。
- 表格列宽列高自适应、单元格垂直居中、重复表头、单元格上下边距 0/左右 108。只有「考法提醒」标题保留强制分页。
Pre-flight
本机默认项目根为 /Users/shawn/Desktop/AI工作区/01-Projects/自媒体内容库-持续项目/体育教师编。下文路径相对该目录;迁移到其他机器时先确认真实路径,不创建替代素材。
| 路径 | 用途 |
|---|---|
/Users/shawn/Desktop/AI工作区/02-Areas/教师编体育学科培训/笔试/01_备课资料/讲义与笔记/讲义库举一反三讲稿/ |
只读讲稿源,原库 18 模块、128 篇,不含 _INDEX.md |
模板文件/1 体育笔试每日一练-帖子内容编辑模板.docx |
只读源模板,与单选题版共用 |
desktop-attachments/1 体育笔试简答题每日一练-帖子内容编辑模板.docx |
简答题版输出工作副本 |
本 skill 的 scripts/fill_sports_jd_daily_post.py |
自带填充脚本,不依赖原技能目录 |
scripts/pending_sports_jd_daily.json |
本期待填充内容 |
scripts/progress_sports_jd.json |
简答题版独立进度 |
scripts/_snapshots_sports_jd/ |
简答题版历史输出快照,保留最近 10 份 |
使用自带脚本时,必须设置 SPORTS_JD_DAILY_WORKSPACE 指向体育教师编目录本身,不是它的父目录。未设置时脚本默认取自身所在 scripts/ 的父目录,仅适用于那里已有模板和运行数据的隔离测试。
先只读检查路径,允许输出副本与快照目录不存在。Python 优先使用会话提供的捆绑运行时,先确认 import docx 成功。运行时缺包则停止,获准后仅在临时虚拟环境安装 python-docx,不改系统环境。
源模板须通过自带脚本 validate_source_template() 的只读检查,期望如下,任一不符即报告路径、实际值和期望值并停止。
- 正文顶层段落 17、drawing 2、文本框镜像 2、表格 0。
- 两个镜像均为 7 段,依次是固定大标题、
【{MODULE}】、{QUESTION}、A.{OPTION_A}至D.{OPTION_D}。 今日考点|{TITLE}、{ANSWER}、{POINT_1}至{POINT_4}、{TIP_1}至{TIP_5}、{HASHTAGS}各一处,固定引流段一处。- 唯一有效
pageBreakBefore位于「考法提醒」,没有w:br type=page。
1. 选题
- 先读独立进度
scripts/progress_sports_jd.json。须为合法 JSON 对象,done为无重复的讲稿相对路径列表,last_done为空或在done中,所有记录的源文件均存在。缺失、损坏或矛盾时停止,不擅自创建空进度后继续;依据用户确认的发布记录修复。首次启用也须确认简答题版历史情况,再初始化{"done": [], "last_done": null, "last_date": null}。 - 用户指定讲稿时按模块、文件名或篇号定位。0 篇或多篇则列出候选并停止;唯一命中但已在
done也停止。仅当命中last_done时报告last_date,否则注明历史日期未记录。 - 未指定时,扫描数字开头的模块目录,按目录名前导数字、讲稿文件名前导数字、完整文件名依次升序,排除
_INDEX.md,选择全库第一篇不在done的讲稿。last_done仅用于审计,不作为续题游标。 done是该版本唯一完成记录,用户说明漏记时先补记录再选题,不根据修改时间或猜测补历史。简答题版不读写单选题版progress_sports.json;同篇讲稿可分别用于两种题型,但在简答题版内部不能重复。- 无未完成讲稿则报告全库完成及实际扫描数量后停止。讲稿始终只读,不重命名、移动或修改。
2. 抽取单一考点
通读 frontmatter、「一、考点前瞻」「二、考点解析」。用户已指定子考点就采用;否则优先选择讲稿明确标记为高频、易错、考法提醒且能由 1–2 张表完整呈现的考点,同优先级取正文最先出现者。所选考点须能由讲稿支持一道范围清楚的简答题,不能满足时报告缺口并停止。
题干、参考答案、引导句、表格、5 条提醒都围绕这个唯一考点。核心事实,包括数字、年份、人名、术语、分类与要点数量,必须与讲稿一致;讲稿没有的不补。内部出现冲突时引用具体位置并停止,请用户裁决,不静默纠正或联网补答案。引用时直接加引号,不加「讲义原文」「教材」等前缀。
3. 出简答题与写内容
生成 scripts/pending_sports_jd_daily.json,字段如下。示例中的说明文字是字段要求,不能原样填入成稿。
{
"title": "本篇知识点标题",
"module": "模块名",
"question": "一道范围明确的简答题题干",
"answer": "参考答案:依据讲稿完整作答,可用①②等分点并包含多句。",
"points": ["引导句1", "引导句2", "引导句3", "结论句4"],
"tables": [
{"header": ["答题要点", "展开表述"], "rows": [["讲稿中的要点", "对应解释"]]}
],
"exam_tips": ["考法提醒1", "考法提醒2", "考法提醒3", "考法提醒4", "考法提醒5"],
"cta": "关注我,每天一个体育笔试知识点,帮你一次上岸",
"hashtags": "#教师编 #体育教师 #体育笔试 #每天一个知识点 #一次上岸"
}
硬性要求与题型差异如下。
title≤20 字,question≤60 字。采用「简述」「简要说明」等适合材料的问法,明确答什么、答到什么范围;不出单选、判断或带选项题,不把多道独立题塞进首页。- 没有
options字段,脚本拒绝带该字段的输入。 answer必须以参考答案:开头,之后是完整、可直接学习的作答,允许多句与①②等分点,保持一个段落。不再使用「答案:A」或一句选项辨析,也不只写「见下表」。答案须逐项回应题干,完整覆盖讲稿支持的要点;表格再帮助识记、解释和区分,不用长篇正文重复表格。- 不凭空编造「本题 X 分」「每点 X 分」、官方评分标准或必考概率。可称「答题要点」「关键词」「易漏点」,不得伪装为官方阅卷标准。
points恰好 4 段,每段 ≤120 字。只写引导/结论,避免「第一/第二/第三」机械开头;核心知识放表格。tables1–2 张,每张 2–5 列、1–8 行数据,所有单元格为非空字符串,行列数一致。来源须为讲稿已有表格、对比或分类。表格 1 插在points[1]后,表格 2 插在points[3]后,通过源占位符定位,不依赖引导句文本是否重复。exam_tips恰好 5 条,优先提取讲稿「🔥 考法提醒/易错/高频」要点;没有「考法提醒」字样时,从考点前瞻、考点解析的高频/易错标注提炼。改写为本题相关的答全要点、术语准确、展开程度或易漏易混提醒,必须有材料依据,不凑出无来源的经验。cta与固定文案一字不差;默认标签保持示例中的 5 个,用户指定才改。封面不揭晓答案。
4. 去 AI 味儿与内容复核
必须实际使用可用的 human-writing skill,重写 points、exam_tips 及 answer 固定前缀后的内容。找不到该 skill 则停止,不静默降级。
- 保留
参考答案:前缀,该中文冒号是唯一例外。其余可见内容中的中文/ASCII 冒号与破折号(——)清零,改为逗号或句号。 - 禁「体现/彰显/凸显/值得注意的是/此外/综上所述」等 AI 腔、三段式机械排比,读起来像老师在讲。
- 重写后重新对照题干与讲稿,逐项核对答案要点、专业术语、事实数量、表格和提醒是否一致;不得为了口语化省掉答案关键点,也不得把简答题分点本身误删为“机械排比”。
5. 运行、验证与进度
在已确认的 Python 环境中执行本 skill 的脚本,例如从 skill 根目录运行:
SPORTS_JD_DAILY_WORKSPACE="/Users/shawn/Desktop/AI工作区/01-Projects/自媒体内容库-持续项目/体育教师编" \
python3 scripts/fill_sports_jd_daily_post.py
脚本读取 JSON 并预检源模板,复制到输出目录内的临时文件,写封面和正文,自动验证通过后才快照旧输出并原子替换。构建/验证失败时旧输出未动,临时文件清理,JSON 原样保留;不需要把旧输出手工“回滚”一次。快照仅用于恢复本轮提交前的输出,不盲选所谓最新快照。
只有同时出现 ✅ 全部通过 与 ✅ pending_sports_jd_daily.json 已删除 才算本轮生成成功。然后把本篇相对路径追加到独立进度 done、写入 last_done,按上海时区当天日期 YYYY-MM-DD 写 last_date,回读确认三处一致且无重复。脚本不会自动更新进度。
交付前检查:
- 顶层正文 17 段、drawing 2、文本框镜像 2;两个镜像均仅含大标题、模块和简答题 3 段,无 ABCD、答案或占位符。
- 唯一强制分页在考法提醒页,表格和后续正文连排。
- 表格数量、行列、全部文本与 JSON 一致,列宽/行高自适应,垂直居中,表头重复。
- 参考答案、4 段解析、5 条提醒、标签全部命中,固定引流段未动。
- 源模板未改,品牌图片、页眉页脚保持不变;人工核对完整答案与题目一致、正文不漏关键点。
- 双成功提示后才更新进度并回读,已完成讲稿无重复,讲稿无待裁决冲突,human-writing 已实际执行。
向用户报告题目、模块、知识点、输出 DOCX 路径与验证结果。另有隔离回归测试,维护脚本时可运行:
SPORTS_JD_TEST_TEMPLATE="/实际路径/1 体育笔试每日一练-帖子内容编辑模板.docx" \
python3 scripts/test_fill_sports_jd_daily_post.py
测试仅将只读源模板复制到临时目录,不读写真实待生成内容、进度和输出。
6. 上传 ima(仅用户要求时)
成功生成后,使用 ima-skill,凭证沿用 ~/.config/ima/,不写入本 skill。保留原知识库与文件夹。
- 将标题、模块、简答题、完整参考答案、解析表格、5 条提醒与标签整理为合法 UTF-8 Markdown,保存到
每日简答题知识点md/YYYY-MM-DD-标题.md。 search_knowledge_base查询SHTr,定位「SHTr | 体师知识库」的kb_id。get_knowledge_list逐级定位「1 笔试(学科知识 教综知识)持续更新...」→「A-0 每日一个知识点(笔试)」,取得folder_id。- notes
import_doc,content_format=1、content 为全文,标题为「每天一个体育笔试知识点|简答题|{知识点标题}」,获得note_id。 add_knowledge使用media_type=11、note_info.content_id=note_id及目标知识库、文件夹 ID。只有返回code=0才报告已加入该文件夹。
失败恢复
| 情况 | 处理 |
|---|---|
| 路径、源模板契约或 Python 不满足 | 报告路径、实际值或原始错误并停止,不改模板或校验阈值绕过 |
| 进度缺失、损坏、矛盾,指定重复/不唯一或全库完成 | 停止,依已确认发布记录修复或由用户另选,不猜测历史 |
| 讲稿冲突、无法围绕单一考点满足表格/简答要求、human-writing 不可用 | 报告证据或缺口并停止,不联网补材料事实 |
| JSON 字段、字数、表格或题型校验失败 | 仅按原始错误修 pending 后重跑,不改脚本阈值、不用绕过命令 |
| 表格源占位符未唯一命中 | 核对源模板契约后停止,交由模板维护者处理;现行脚本不靠引导句唯一性定位 |
| 构建、验证或原子替换失败 | 检查「旧工作副本未改动」或「首次运行失败,未留下半成品工作副本」,保留 JSON 并排查。临时文件清理失败时只处理日志指出的临时文件 |
| DOCX 已提交但 JSON 删除失败(退出码 2) | 保留成功 DOCX,只处理该 pending、核对 DOCX 与待写内容一致后完成收尾,再更新进度,禁止重跑填充 |
| DOCX 成功但进度写入失败 | 只修并回读进度,禁止重跑成功的填充脚本 |
| 失败后 pending 丢失 | 保留现场,核对日志并停止,不从半成品反推 JSON |
源模板、品牌底版与讲稿源只读;仅写自己的简答题工作副本、pending、进度和快照,以及用户要求上传时的 Markdown。不得触碰单选题版输出和状态。[KEEP] 是终端提示,不是 JSON 字段。