编程

排课与课时管理

试用

把独立教师"凭记忆排课"变成看得见的周课表与课时台账。适用于老师说"排下周的课""把 [化名] 的课调到周四""[化名] 缺课要补""[化名] 请假""[化名] 还剩几课时""本周课表""这个时间排了谁""我下一节课是谁"。流程:读学员可上课时间段 → 生成周课表 → 检测老师/学员时间冲突 → 老师确认后写入课表 → 维护课时包剩余与到期。本 SKILL 不记课后内容、不扣课时、不处理金额与退费、不起草家长消息——课后记录与课时确认转 lesson-log,家长沟通转 parent-communication,财务请用独立记账工具。

它能做什么

把独立教师"凭记忆排课"变成看得见的周课表与课时台账。适用于老师说"排下周的课""把 [化名] 的课调到周四""[化名] 缺课要补""[化名] 请假""[化名] 还剩几课时""本周课表""这个时间排了谁""我下一节课是谁"。流程:读学员可上课时间段 → 生成周课表 → 检测老师/学员时间冲突 → 老师确认后写入课表 → 维护课时包剩余与到期。本 SKILL 不记课后内容、不扣课时、不处理金额与退费、不起草家长消息——课后记录与课时确认转 lesson-log,家长沟通转 parent-communication,财务请用独立记账工具。

技能文档

排课与课时管理 SKILL

一句话定位: 独立教师的时间是唯一不可再生的资产——把时间排清楚,是把生活排清楚。


⚠️ 技术实现边界声明

关于"自动排课"边界: 本 SKILL 提供排课建议与冲突检测;自动写入学员课表;老师需确认后写入 solo-dashboard。

关于"学员时间偏好"边界: 排课时仅使用学员授权的时间偏好信息(来自 intake);不擅自增加可上课时间。

关于"课时扣减"边界: 课时扣减与 lesson-log 联动,由 lesson-log 在课后触发预扣;本 SKILL 仅管理课时包台账和到期预警。

关于"财务"边界(本 SKILL 库的统一范围声明): 课时包台账只记录课时"数量"(totalUnits/usedUnits/remainingUnits),不记录金额、单价、收款、欠费、退费明细。财务与收款涉及资金与更高敏感度信息,有意不纳入本 SKILL 库范围——请老师使用独立的记账/收款工具处理;本库只负责"教学与服务连续交付",财务与教学数据分离,降低隐私与合规风险。


一、核心使命

独立教师排课常见的三个误区:

误区① 全靠记性:课排在脑子里,
        学员问"下次课什么时候"答不上来,
        学员冲突了才后知后觉。

误区② 课时台账混乱:学员课时包还剩多少不清楚,
        课时耗尽了才想起续费,
        学员超课时上课但课时没扣。

误区③ 补课调课靠手动:学员请假靠微信沟通,
        调课靠反复确认,
        没有系统记录,靠人脑容易漏。

本 SKILL 要解决的是:

  • 让排课可视化:周课表 + 学员时间矩阵
  • 让冲突早发现:排课时自动检测时间冲突
  • 让课时台账透明:每个学员课时包剩余/到期/续费节点清楚
  • 让补课请假有流程:标准动作 + 自动留痕

二、触发时机

触发场景示例语句
排课"排下周的课" / "[化名] 排课"
周课表"本周课表" / "下周课表"
调课"调课" / "把 [化名] 的课调到 [日期]"
补课"补课" / "[化名] 缺课要补"
请假"[化名] 请假" / "学员请假怎么扣课时"
课时包"[化名] 还剩几课时" / "课时包快到期了"
排课冲突"这个时间排了谁" / "有没有冲突"
下一节课"我下一节课是谁"
续费节点"[化名] 课时快用完了"

三、核心流程

                ┌──────────────────────────┐
                │ ① 学员时间矩阵            │
                │  来自 intake              │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ② 周课表生成              │
                │  固定课+临时调课         │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ③ 冲突检测                │
                │  老师时间/学员时间        │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ④ 排课建议输出            │
                │  老师确认后写入            │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ⑤ 课时包台账              │
                │  剩余/到期/续费           │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ⑥ 补课/请假/调课          │
                │  标准动作+自动留痕        │
                └────────────┬─────────────┘
                             ↓
                ┌──────────────────────────┐
                │ ⑦ 写回 solo-dashboard     │
                │  课表+台账                │
                └──────────────────────────┘

四、学员时间矩阵

4.1 学员可用时间表

📎 完整模板见 references/weekly-schedule-template.md(第一节"学员时间矩阵":每周固定可上课时间勾选表 + 不可上课时间 + 备注)

4.2 老师时间矩阵

📎 完整模板见 references/weekly-schedule-template.md(第二节"老师时间矩阵":不可用时间 + 可用课时位 + 老师偏好)


五、周课表生成

5.1 课表模板

📎 完整模板见 references/weekly-schedule-template.md(第三节"周课表模板":周一至周日 × 上午/下午/晚上 的课表示例 + 课时统计栏)

5.2 课表生成三步走

第 1 步:固定学员优先
  · 每周固定时间学员先排
  · 锁定本周的"硬骨架"

第 2 步:临时学员填空
  · 填空固定学员之间的空位
  · 优先安排学习节奏紧急的学员

第 3 步:留缓冲位
  · 留 1-2 个空位处理调课/补课
  · 不满课是健康的课表

六、冲突检测

6.1 冲突类型

■ 老师时间冲突
  · 同时段已排其他学员
  · 同时段是老师不可用时间

■ 学员时间冲突
  · 学员可用时间之外
  · 学员自己之前有别的安排

■ 课时包预警
  · 学员课时包不足
  · 学员课时包即将到期

6.2 冲突检测输出

📎 完整报告模板见 references/weekly-schedule-template.md(第 4.2 节"冲突检测输出":排课请求 + 三类检测结果 + 建议)


七、补课/请假/调课三动作

7.1 请假

■ 学员请假
  操作:
    · 课时不扣(或按约定调整)
    · 记录请假原因和日期
    · 不自动补排(学员/家长后续约时间)

📎 请假登记模板见 references/leave-makeup-reschedule-forms.md(第一节)

7.2 补课

■ 补课
  操作:
    · 排入老师可用时间
    · 课时按实际消耗扣
    · 标注"补课"便于复盘

■ 排课优先级
  · 同周补课 > 下周补课
  · 一次性排完 > 分散排
  · 学员节奏保持一致

📎 补课安排模板见 references/leave-makeup-reschedule-forms.md(第二节)

7.3 调课

■ 调课(双方协商)
  操作:
    · 老师主动调:与学员/家长协商新时间
    · 学员/家长主动调:登记新时间
    · 双方都要确认

⚠️ 调课原则:
  · 一周内完成调课,不留"待定"
  · 调课记录要可追溯
  · 频繁调课的学员需沟通原因

📎 调课登记模板见 references/leave-makeup-reschedule-forms.md(第三节)


八、课时包台账

8.1 学员课时台账

📎 完整台账模板见 references/weekly-schedule-template.md(第六节"课时包台账":课时包信息 + 消耗/续费记录 + 自动预警栏)

8.2 课时包预警规则

■ 触发条件
  · 剩余 ≤ 30% 初始值(首次预警)
  · 剩余 ≤ 10% 初始值(紧急预警)
  · 到期前 7 天(到期预警)

■ 预警动作
  · 30% 预警:通知学员/家长(轻度)
  · 10% 预警:通知学员/家长(强提醒)
  · 到期预警:暂停排新课 + 通知

■ 写回 parent-communication
  · 触发续费沟通话术
  · 老师确认后发出

8.3 课时异常处理

■ 超课时上课
  · 自动透支允许:1 课时
  · 透支 > 1 课时:暂停排新课 + 沟通

■ 学员请假不补课
  · 课时不扣
  · 期末统一结算(如有约定)

■ 老师取消
  · 课时不扣
  · 自动补排或退款

九、特殊场景

9.1 寒暑假排课

■ 寒暑假特殊安排
  · 增加排课密度(每周 N+2 课时)
  · 提前 2 周确认学员时间
  · 寒暑假专属课时包

■ 节奏建议
  · 假期前 1 周:学期收尾 + 假期规划
  · 假期中:高频复习 + 预习
  · 假期后 1 周:节奏调整

9.2 考试期排课

■ 考前 2 周
  · 减少新课
  · 增加复习/测评
  · 学员优先完成学校作业

■ 考试期间
  · 暂停新课
  · 答疑 + 心理支持
  · 考后复盘

■ 考后 1 周
  · 复盘考试结果
  · 调整下阶段计划

9.3 学员请假多

■ 触发条件
  · 1 个月内请假 ≥ 3 次
  · 连续 2 周请假

■ 应对
  · 主动了解原因
  · 评估是否需要调整节奏
  · 考虑续费意愿

十、与上游/下游 SKILL 的协作

10.1 协作流图

              ┌────────────────────────┐
              │ xiaozhi-teach-         │
              │  student-intake        │
              │ (学员时间矩阵)       │
              └───────────┬────────────┘
                          │
                          ↓
              ┌────────────────────────┐
              │ xiaozhi-teach-         │
              │  schedule-manager      │
              │  (本 SKILL)           │
              └───────────┬────────────┘
                          │
        ┌─────────────────┼─────────────────┐
        ↓                 ↓                 ↓
  solo-dashboard     lesson-log         parent-communication
  (课表+台账)      (课时预扣)       (续费预警)
                          │
                          ↓
              ┌────────────────────────┐
              │ xiaozhi-teach-         │
              │  renewal-report        │
              │ (续费报告)           │
              └────────────────────────┘

10.2 接口

统一读写共享工作空间 solo-teacher-workspace.schema.json(下称 workspace)。字段名一律以该 schema 为准。

读:
  workspace.studentCards[].learningPreferences[]
      → 学员时间/上课偏好(排课时读取,仅用授权信息)
  workspace.coursePackageLedger[].usedUnits
  workspace.coursePackageLedger[].remainingUnits
      → 课时消耗与剩余(课时包台账基础数据)
  workspace.lessonLogs[].consumeLessonUnits
      → 单节实际消耗课时(由 lesson-log 课后写入)

写:
  workspace.lessonSchedule[](lessonEvent:
      studentId / subject / startTime / durationMinutes /
      day_of_week / status / lessonGoal)
      → 排课结果(老师确认后写入);"周课表"为其渲染视图
  workspace.coursePackageLedger[](packageId / studentId /
      totalUnits / usedUnits / remainingUnits / renewalAttention)
      → 课时包台账
  workspace.coursePackageLedger[].renewalAttention
      → 续费预警标记
      (派生视图,非独立存储:由 remainingUnits / totalUnits
        及到期日实时计算,命中 30%/10%/到期前 7 天阈值时置位)

派生视图(非工作空间存储字段):
  · 冲突检测报告
      (派生视图,非存储字段:由 workspace.lessonSchedule[] 的
        startTime/durationMinutes/day_of_week 与
        workspace.studentCards[].learningPreferences[] 实时比对得出)
  · 周课表
      (派生视图,非存储字段:由 workspace.lessonSchedule[] 实时渲染)

交接:
  → solo-dashboard 读取 workspace.lessonSchedule[] /
    coursePackageLedger[] 呈现课表与台账
  → lesson-log 课后写 workspace.lessonLogs[].consumeLessonUnits 触发课时预扣
  → parent-communication 依 renewalAttention 触发续费沟通(老师确认后发出)

十一、字段级高敏信息防护

✅ 排课中可使用:化名、可上课时间、课时包信息
❌ 禁止:学员家庭住址、家长身份、精确学校班级
✅ 写回数据:周课表结构、课时包台账
❌ 不写回:学员真实姓名、家长联系方式

✅ 冲突检测:仅时间维度
❌ 不分析:学员家庭事务等高敏信息

十二、行为准则

✅ 应该做❌ 不能做
排课前先确认学员时间凭印象排课
冲突检测早发现冲突了再处理
课时台账实时更新课时不透明
补课请假有登记微信沟通完就忘
续费预警提前 7 天课时耗尽才提醒
写回数据脱敏公开课表暴露真实姓名

十三、与其他 SKILL 的协同清单

排课与课时管理
    <── xiaozhi-teach-student-intake(学员时间矩阵)
    <── xiaozhi-teach-solo-dashboard(学员基线)
    ──→ xiaozhi-teach-solo-dashboard(课表+台账)
    ──→ xiaozhi-teach-lesson-log(课时预扣)
    ──→ xiaozhi-teach-parent-communication(续费预警)
    ──→ xiaozhi-teach-renewal-report(续费报告)

禁止行为

  • 禁止 AI 替老师自动排课
  • 禁止擅自增加学员可上课时间
  • 禁止课时台账不透明
  • 禁止超课时上课不预警
  • 禁止公开课表暴露真实姓名

隐私与数据控制入口

本 SKILL 读写的学员数据存于共享工作空间(solo-teacher-workspace.schema.json),涉及未成年人信息,须提供可执行的控制入口。老师本人、或应学员/家长要求,可随时说:

  • 查看:"查看 [学员化名] 的工作空间记录 / 课表 / 作业 / 报告"
  • 更正:"更正 [学员化名] 的 [某字段]"(覆盖旧值,避免新旧冲突并存)
  • 删除:"删除 [学员化名] 的某条记录 / 全部数据"(流失学员应按约定周期删除)
  • 暂停记录:"这次不要记录 / 暂停记录 [学员化名]"
  • 取消跨 SKILL 共享:"不要把 [学员化名] 的数据共享给其他 SKILL"

校验要求:跨 SKILL 共享或建档前,须确认 consent.crossSkillSharing / consent.profileEnabled 为 true;涉及未成年人敏感信息(真实姓名、出生年月、联系方式等)须经监护人单独同意,默认不收集、不写入(详见 SECURITY_BASELINE.md)。


十四、参考资源

  • references/weekly-schedule-template.md — 周课表模板(含学员/老师时间矩阵、冲突检测输出、课时包台账等完整模板)
  • references/leave-makeup-reschedule-forms.md — 请假/补课/调课登记模板

💡 小智说: "独立教师最大的浪费不是没课可上, 是把时间花在'我不知道今天该上什么'。 排课不是排时间表, 是把你的人生从混乱中拯救出来。 当你的课表、课时、学员、续费都在一个地方清楚可见, 你才有时间去做真正重要的事——把课上好。"

相关技能

把独立教师分散在课表、学员卡、作业、家长沟通和课时包里的信息,只读聚合成一张可执行的日工作台。适用于老师问"今天我要做什么""帮我整理今天课表""哪些学员需要重点跟进""哪些学员快没课时了""今天课后还有哪些反馈没发""帮我排今日三件事"。流程:只读工作空间 → 按 7 区块归类 → 依字段数值标记风险学员 → 给出今日最重要的三件事。本 SKILL 不排课、不写课后记录、不登记作业、不起草家长消息、不生成阶段报告——分别转给 schedule-manager、lesson-log、homework-tracker、parent-communication、renewal-report。

5 次安装

把独立教师的课后记忆变成结构化教学档案,每节课 5 分钟记完。适用于老师说"课后总结一下""记一下这节课""[化名] 今天学得怎么样""这节课复盘""看下 [化名] 的学习轨迹""这节课消耗几课时""下节课接着讲什么"。流程:即时记 5 维度(学了什么/掌握度/课堂反应/进步/调整)→ 分知识点记掌握度 → 生成课时待确认条目 → 给下节课衔接点。触发需带学员化名与日期;记录与课时条目都先给老师预览,确认后才写入。本 SKILL 不排课、不登记作业、不代发家长消息、不做阶段报告——分别转 schedule-manager、homework-tracker、parent-communication、renewal-report;家长事实摘要只起草成留在工作空间里的内部草稿,发不发由老师决定。

5 次安装

用学员真实的学习记录做一份阶段报告,让续课变成家长看完事实后的自主选择。适用于老师说"做一份阶段报告""给 [化名] 出个报告""[化名] 课时过半了""[化名] 课时剩三成""家长问孩子学得怎么样""这学期总结一下""家长犹豫要不要续"。流程:汇总课后记录与作业错因 → 写事实/进步/计划三段 → 无逐知识点分数时只出定性判断 → 给续课建议与话术。出报告前须先指定学员化名;它会读这名学员跨月的学习记录,家长可见的内容一律先过授权检查。本 SKILL 不记课后内容、不登记作业、不排课、不发消息,也不改学员状态、不删学员档案(只删本 SKILL 自己写的阶段证据)——素材来自 lesson-log 与 homework-tracker,消息由老师自己发(措辞可交 parent-communication),档案变更转 student-intake。

把"从头再讲一遍"变成有间隔、有交叉、有取舍的复习排期。当老师说"帮我安排期末复习计划"、"考前两周怎么排"、"数学单元复习怎么上"、"帮我梳理本章知识图谱"、"这几个知识点老混,怎么练"、"考前学生太紧张怎么办"时,建议激活此 SKILL。工作流:知识图谱 → 重难点 → 阶段策略 → 间隔回看与交叉练习排期 → 复习活动 → 考前状态。本 SKILL 只出复习"计划",不出复习"作业":具体题目与分层任务卡转 xiaozhi-teach-assignment-designer,复习卷转 xiaozhi-teach-exam-designer。

5 次安装

帮独立教师把作业从"收上来"变成"跟到底":登记、追状态、归错因、导出下节课讲什么。适用于老师说"登记今天布置的作业""[化名] 的作业状态""这周谁没交""错题回流""下节课该讲什么""这道题他错第三次了""看下 [化名] 的作业画像"。流程:老师登记 task/dueDate → 追七档状态 → 按 shared/vocab.md §1/§3 归错因 → 阈值命中先存证据待老师确认。本 SKILL 不出题、不判分、不发催交消息、不写课后记录——分别转 assignment-designer、parent-communication、lesson-log。

5 次安装

把班级成绩表变成可执行的教学调整。当老师说"帮我分析这次单元测评"、"这道题全班错了六成"、"班级数学两极分化怎么办"、"哪些知识点得分率最低"、"我要客观数据跟家长聊"时,建议激活此 SKILL。工作流:导入逐题分数 → 班级画像 → 知识点热力图 → 分层 → 教学调整建议。本 SKILL 不出卷、不写教案、不排复习计划:命题与讲评设计转 xiaozhi-teach-exam-designer,教案转 xiaozhi-teach-lesson-planner,复习排期转 xiaozhi-teach-review-planner。

5 次安装