mcpField
D
developmental-band-translator

developmental-band-translator

github.com/garethmanning数据与数据库921131 次安装6 天前更新
代码仓库

关于 developmental-band-translator

面向学校的课程元数据技能,可将外部框架的学习条目映射到校内发展阶段。它保留来源标签和原文,并标记有歧义的分配供教师审阅。

主要功能

  1. 01将条目映射到校内阶段
  2. 02保留来源标签与原文
  3. 03标记有歧义的映射
  4. 04提供置信度和审阅标记
  5. 05支持 KUD、学习目标及标准

适用场景

  1. 01将外部课程对齐到校内阶段
  2. 02审查年龄跨度较大的框架
  3. 03为没有年龄分段的课程添加标签

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/garethmanning/education-agent-skills --skill developmental-band-translator

安装后在 Claude Code 中输入/developmental-band-translator确认已加载。

详细介绍

此技能的功能

此技能会为外部课程标注学校的发展阶段标签——课程已由课程处理框架拆分为 KUD 条目、学习目标,以及(可选的)评价标准。学校的阶段架构作为输入提供;此技能会读取该架构,根据来源的年龄范围与学校的阶段范围推导出映射表,并将映射应用于每个条目。每个条目都会获得一个 school_band 值、一个置信度级别和诊断标记。来源自身的阶段标签会与新的学校阶段标签一并原样保留,因此输出始终可追溯至原始框架,并可结合原始框架进行解读。

此技能执行的是元数据操作,而非内容操作。它不会改写 KUD、LT 或评价标准,也不会重新诠释来源的意图。它唯一要回答的问题是:“如果一位教师正在为某个学校阶段做规划,打开此框架时,其中哪些内容与他们相关?”当来源阶段涵盖两个学校阶段时,此技能会采取审慎做法:同时分配两个候选阶段、设置歧义标记,并记录理由。下游技能——尤其是课程对照表技能以及人工规划流程——会由教师运用专业判断来消解这些歧义。

此技能可处理三种常见的来源结构情形。大多数来源都有明确的阶段结构(威尔士 CfW 进阶阶段、新西兰课程级别、IB PYP/MYP/DP 阶段),通常可直接映射,偶尔存在边界歧义。有些来源采用正式但压缩的结构(英国 RSHE 有四个关键阶段标签,但法规文件中实际只有两个年龄段);此技能会先采用来源实际的两阶段结构进行映射,并通过 source_band_preserved 记录正式标签。少数来源完全没有阶段结构(CASEL、部分能力框架);此时此技能会依据发展描述进行映射,并为每个条目标记,提示教师审核。

证据基础

Wiggins 与 McTighe(2005、2011) — 《为理解而设计》确立了 KUD(知道/理解/做到)这一单元级架构,使框架内容能够转化为可教内容,并将课程对齐定位为从既定成果出发的逆向设计操作。发展阶段转换器所处理的正是 UbD 所规定的 KUD 层,并将学校阶段分配视为逆向设计流程中的一步,其最终服务对象是课堂教师。

Vygotsky(1978) — 最近发展区理论奠定了这一理念:发展阶段划分并非单纯按年龄划分。某个阶段的学习者,取决于他们在支持下能够做到什么,而不只是他们的实际年龄。这一理论支持此技能在标注时同时采用年龄范围和发展描述作为证据;在缺少年龄证据时,也允许仅依据描述推理来分配学校阶段。

Heritage(2008) — 学习进阶相关文献进一步说明,进阶描述的是发展轨迹,而不是时间表。此技能将学校阶段视为轨迹上的节点。当来源自身的进阶划分比学校的更粗略时(例如 RSHE 的两阶段结构与学校的六阶段架构),此技能不会强行制造虚假的精确度,而是通过歧义标记如实保留这种粗略划分。

Webb(1997) — 经典的对齐框架定义了四个对齐维度:类别并置、知识深度一致性、知识范围对应性、表征平衡。阶段转换主要针对“范围”维度(年龄跨度是否匹配),并部分涉及“类别并置”。此技能并不声称评估知识深度或表征平衡方面的对齐情况;此限制会在 skill_flags 和“已知限制”中说明。

输入架构

必需输入。 此技能需要四项输入:

  • band_schema — 学校或课程项目的发展阶段定义。必须包含阶段标签、大致年龄或年级范围,以及任何命名分组。此技能会读取这些信息来构建映射表;不会假定使用任何特定的阶段体系。示例:“REAL School Budapest 使用 A–F 阶段 — A(Water+Air Dragons,K–2,5–7 岁)、B(Earth Dragons,G3–4,7–9 岁)、C(Fire Dragons,G5–6,9–11 岁)、D(Metal+Light Dragons,G7–8,11–13 岁)、E(G9–10,13–15 岁)、F(G11–12,15–17 岁)。”
  • kud_json — KUD 文件。每项必需字段:item_id、content_statement、knowledge_type、source_block_id。此技能会使用 source_block_id,在进阶结构中查找该区块的原生阶段标签。
  • lts_json — LT 文件。每个 LT 必需字段:lt_id、lt_name、lt_definition、kud_item_ids、knowledge_type。LT 根据其组成 KUD 项目,按照最大跨度规则继承阶段(参见提示词)。
  • progression_structure_json — 进阶结构。必需字段:band_labels、source_type,以及顶层 age_range_hint 或各阶段的 approximate_age_range。如果两个年龄范围字段都缺失,此技能会在 skill_flags 中返回 request_age_range_context 并停止。

可选输入。

  • criterion_bank_json — 如果提供,也会为评估标准添加标签。评估标准会继承其父级 LT 的阶段,除非其内容指向更具体的年龄范围信号。
  • source_name — 用于输出元数据的易读名称。
  • user_age_range_override — 用户提供的年龄范围映射,用于来源没有原生阶段结构且首次调用因 request_age_range_context 停止的情况。

必需输入示例。 对 REAL School Budapest 运行 uk-statutory-rshe 时:band_schema = “REAL School Budapest 使用 A–F 阶段 — A(Water+Air Dragons,K–2,5–7 岁)、B(Earth Dragons,G3–4,7–9 岁)、C(Fire Dragons,G5–6,9–11 岁)、D(Metal+Light Dragons,G7–8,11–13 岁)、E(G9–10,13–15 岁)、F(G11–12,15–17 岁)”;kud_json = 含 279 项的 KUD 文件;lts_json = 含 44 个 LT 的文件;progression_structure_json = 一个声明了 band_labels: ["End of Primary (Year 6)", "End of Secondary (Year 11)"]、source_type: "national_statutory_curriculum",以及分别为 5–11 岁和 11–16 岁的年龄范围的结构。

提示词

你是一名课程阶段转换助手。你的任务是为一个由课程处理框架完成拆解的外部框架,添加学校的发展阶段标签,同时完整保留来源自身的表达方式和标签,不作任何更改。

学校阶段架构

仔细阅读提供的 band_schema。它定义了学校的阶段标签、年级跨度、年龄范围和任何命名分组。你生成的所有阶段分配都必须严格使用该架构中定义的阶段标签。

流程

  1. 阅读进阶结构。 注意 source_type、band_labels 和年龄范围。如果 age_range_hint 和各分段的 approximate_age_range 均缺失,则在 skill_flags 中发出 request_age_range_context,不要添加任何标签,并停止。
  2. 为此来源建立分段映射表。 使用 band_schema 和来源中各分段的年龄范围,确定每个来源分段与哪些学段重叠。如果某个来源分段的年龄范围跨越多个学段,则将所有重叠学段列为候选项,并注明存在歧义。如果来源分段可明确映射到一个学段,则记录为低歧义。继续之前,先在推理中记录此映射表;步骤 3–5 中的每个标签决策都必须能追溯到该表。
  3. 为每个 KUD 项添加标签。
    • 查找其 source_block_id,以确定来源分段。
    • 使用分段映射表获取候选学段。
    • school_band:若无歧义,则以字符串表示单个学段;若有歧义,则使用学段数组。
    • band_confidence:如果只有一个学段,且来源年龄范围 ≤ 学校最窄学段的跨度,则设为 high;如果有两个学段,则设为 medium;如果有三个或更多学段,或仅依据发展描述推断,则设为 low。
    • source_band_preserved:来源中的准确原生标签(例如 “Key Stage 2”、“End of Primary”、“Progression Step 3”)。
    • source_voice_preserved:始终为 true。如果必须改写内容才能使其符合某个学段,则不要改写——应将其设为 false,并添加一个 skill flag。此字段用于证明内容未被改写。
    • ambiguity_flag:如果 school_band 是数组,则设为 true。
    • teacher_review_flag:满足以下任一条件时设为 true:(a) school_band 跨越三个或更多学段;(b) 置信度为 low;(c) source_type 是没有年龄分段的性情/能力框架(例如 CASEL);(d) 内容陈述包含的发展语言将学段范围缩小到来源标签所允许范围之外。
    • band_rationale:用一句话说明分配依据。
  4. 为每个 LT 添加标签。 LT 的学段是其组成 KUD 项学段的并集(最大范围规则)。如果任何组成项存在歧义,则该 LT 也有歧义。若任何组成项触发 teacher_review_flag,或该 LT 汇总跨越三个或更多学段,则触发 teacher_review_flag。
  5. 为标准添加标签(如果提供了 criterion_bank_json)。每个标准继承其所属 LT 的学段,除非其内容将范围缩小。字段集与 LT 相同。
  6. **输出汇总计数和 skill flags。**统计每个学段的项目数、歧义标记、教师审核标记和低置信度标签。对于歧义项目占比超过 50% 的任何来源,输出一个 skill flag(这表明存在值得审核的结构性不匹配)。

保留来源表述规则(硬性约束)

你是在为内容添加标签,不是改写内容。不要将内容陈述、LT 定义或标准描述改写、缩短或“翻译”为学校偏好的文风。保持来源内容原样不变。你生成的唯一新文本是 band_rationale。

CASEL/扁平框架处理方式

如果 source_type 表明这是一个没有年龄结构的能力或性情框架(例如 CASEL),且未提供 user_age_range_override:

  • 为每个项目设置 teacher_review_flag: true。
  • 为每个项目设置 band_confidence: low。
  • 根据描述的发育成熟度,并参照提供的 band_schema 映射确定 school_band:早期发展内容(情绪标签识别、基本自我调节)→ band_schema 中最早的学段;中期发展内容(换位思考、协作解决问题)→ 中间范围的学段;后期发展内容(系统层面的社会认知、抽象的伦理推理)→ band_schema 中较晚的学段。
  • 输出 skill_flag: casel_style_framework_full_teacher_review_required。

输入

  • band_schema:{{band_schema}}
  • source_name:{{source_name}}
  • progression_structure_json:{{progression_structure_json}}
  • kud_json:{{kud_json}}
  • lts_json:{{lts_json}}
  • criterion_bank_json:{{criterion_bank_json}}
  • user_age_range_override:{{user_age_range_override}}

生成带有学段标签的输出,作为符合输出架构的单个 JSON 对象。不要改写来源内容。不要臆造来源无法支持的学段。

输出示例

上下文:提供了 REAL School Budapest 学段架构作为 band_schema。来源:英国教育部《法定 RSHE》(2025 年 7 月),progression_structure.band_labels = ["End of Primary (Year 6)", "End of Secondary (Year 11)"],source_type = "national_statutory_curriculum"。

提供的输入:

{
  "band_schema": "REAL School Budapest uses Bands A–F — A (Water+Air Dragons, K–2, ages 5–7), B (Earth Dragons, G3–4, ages 7–9), C (Fire Dragons, G5–6, ages 9–11), D (Metal+Light Dragons, G7–8, ages 11–13), E (G9–10, ages 13–15), F (G11–12, ages 15–17). Bands are defined primarily by grade level; ages are approximate.",
  "source_name": "UK DfE Statutory RSHE, July 2025",
  "progression_structure_json": "{ \"band_labels\": [\"End of Primary (Year 6)\", \"End of Secondary (Year 11)\"], \"source_type\": \"national_statutory_curriculum\", \"age_range_hint\": { \"End of Primary (Year 6)\": \"5–11\", \"End of Secondary (Year 11)\": \"11–16\" } }"
}

输出:

{
  "source_metadata": {
    "source_name": "UK DfE Statutory RSHE, July 2025",
    "source_type": "national_statutory_curriculum",
    "source_band_labels": ["End of Primary (Year 6)", "End of Secondary (Year 11)"],
    "skill_version": "1.0",
    "run_timestamp": "2026-04-20T14:05:00Z"
  },
  "band_tagged_kud": [
    {
      "item_id": "blk_0002_item_01",
      "content_statement": "Young people understand the correct terms for different parts of the body",
      "knowledge_type": "Type 1",
      "school_band": ["A", "B", "C"],
      "band_confidence": "medium",
      "source_band_preserved": "End of Primary (Year 6)",
      "source_voice_preserved": true,
      "ambiguity_flag": true,
      "teacher_review_flag": true,
      "band_rationale": "Source groups all primary-age content into one band spanning ages 5–11; REAL Bands A–C cover this same range (5–7, 7–9, 9–11 respectively)."
    },
    {
      "item_id": "blk_0346_item_03",
      "content_statement": "Pupils can communicate their boundaries about physical contact and privacy needs",
      "knowledge_type": "Type 2",
      "school_band": ["A", "B", "C"],
      "band_confidence": "medium",
      "source_band_preserved": "End of Primary (Year 6)",
      "source_voice_preserved": true,
      "ambiguity_flag": true,
      "teacher_review_flag": true,
      "band_rationale": "Statutory End-of-Primary expectation covering ages 5–11; maps to REAL Bands A–C."
    },
    {
      "item_id": "blk_0210_item_02",
      "content_statement": "Students understand the concepts of, and laws relating to, sexual consent",
      "knowledge_type": "Type 1",
      "school_band": ["D", "E"],
      "band_confidence": "medium",
      "source_band_preserved": "End of Secondary (Year 11)",
      "source_voice_preserved": true,
      "ambiguity_flag": true,
      "teacher_review_flag": false,
      "band_rationale": "End-of-Secondary covers ages 11–16; REAL Bands D (11–13) and E (13–15) overlap this range."
    }
  ],
  "band_tagged_lts": [
    {
      "lt_id": "cluster_01_lt_01",
      "lt_name": "Identifying Body Parts and Privacy",
      "school_band": ["A", "B", "C"],
      "band_confidence": "medium",
      "source_band_preserved": "End of Primary (Year 6)",
      "source_voice_preserved": true,
      "ambiguity_flag": true,
      "teacher_review_flag": true,
      "band_rationale": "Aggregated from 4 KUD items all tagged End of Primary; max-span = REAL Bands A–C."
    }
  ],
  "summary_counts": {
    "total_kud_items": 279,
    "total_lts": 44,
    "kud_by_band": {"A-B-C_ambiguous": 176, "D-E_ambiguous": 103},
    "lts_by_band": {"A-B-C_ambiguous": 28, "D-E_ambiguous": 16},
    "teacher_review_flagged": 279,
    "low_confidence": 0
  },
  "skill_flags": [
    "high_ambiguity_rate_structural: 100% of items are ambiguous because source has 2 bands spanning 3 school bands each. This is expected for national_statutory_curriculum sources with compressed band structures; do not treat as a quality failure. Downstream planning must resolve via teacher judgement."
  ]
}

已知局限

此技能不做构念对齐。 标记为同一学校学段的两项内容,并不代表它们教授相同内容。Webb(1997)的分类一致性和知识深度维度不在本技能的范围内。本技能回答的是“这是否适合该年龄段?”,而不是“这是否符合学校的学习意图?”。课程交叉映射技能可处理不同框架之间的关系,但构念对齐仍需人工判断。

本技能无法消除歧义。 当来源的学段结构比学校的学段结构更粗略时——尤其是英国 RSHE 的双学段结构,或任何学段数少于学校架构的框架——本技能会刻意保留歧义,而不是猜测。歧义率很高(RSHE 对照六学段架构时最高可达 100%),如实反映了来源的粒度,并非质量缺陷。后续由教师判断来解决,因此才设有 teacher_review_flag。

基于发展性描述符的推断(CASEL 案例)只是近似结果。 当框架没有年龄分段时,本技能会参考所提供的 band_schema,依据描述符进行映射:早期发展性描述符 → 架构中最早的学段;系统层面的描述符 → 较晚的学段。这些映射基于发展心理学共识,可作为合理的起点,但并非针对特定框架作出的判定。以此方式标记的内容应视为供教师审阅的支架,而非经过验证的映射。

本技能假定输入已通过运行框架验证。 它不会重新验证来源拆解结果。如果上游运行框架生成了有问题的 KUD 或 LT 文件(例如先修关系图中存在循环、缺少 content_statement 等),本技能会原样传递这些错误,并生成带学段标签的无意义内容。在调用本技能之前,请先运行运行框架自身的验证关卡。

评论

支持 Markdown