关于 ielts-progress-reporter
ielts-progress-reporter 面向 IELTS Writing 学习者,汇总多次练习的现有反馈分数与错误标签,生成累计或按时段划分的报告;不会重新批改作文。
主要功能
- 01汇总各项评分标准的分数
- 02统计反复出现的错误标签
- 03查看周度或月度趋势
- 04追踪修改稿的分数变化
- 05将带日期的报告写入库中
适用场景
- 01回顾多次 IELTS 写作练习进展
- 02查找反复出现的写作弱点
- 03比较每周或每月的结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jurgendn/ agent-skills --skill ielts-progress-reporter安装后在 Claude Code 中输入/ielts-progress-reporter确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/spaced-error-reprobes.mdscripts/aggregate_feedback.py详细介绍
IELTS 进度报告
一篇作文的评分只能告诉考生某一版写得如何。进度报告则能告诉他们是否真的在进步、哪些弱点反复出现,以及接下来一小时的学习应该侧重哪里。此技能会读取 IELTS 练习库中已积累的反馈文件,将记录的分数和错误标签整理成这样的概览。
反馈文件是唯一可信的数据来源。feedback/ 中的每个文件都以 YAML frontmatter 开头,其中包含各评分标准的分数和错误标签列表(架构如下)。此技能只读取并汇总已有内容,不会重新评分,也绝不会为尚无反馈文件的尝试编造分数。
适用于以下情况
- 用户想了解自己的 IELTS 写作在多次练习中的整体趋势。
- 用户询问哪些错误最常出现,或某个弱点是否有所改善。
- 用户想要周报、月报或持续更新的累计概览。
- 用户指定了
feedback/文件夹或_dashboard/,并希望对其内容进行汇总。
不适用于以下情况
- 用户希望评阅单篇作文 → 使用
ielts-writing-task1或ielts-writing-task2。 - 用户希望制定学习计划或日程 → 使用
ielts-learning-planner。 - 目前还没有反馈文件 → 告知用户;没有内容可供汇总。不要根据原始作文估算分数。
反馈 frontmatter 架构(读取内容)
知识库中的 AGENTS.md 是权威依据;报告依赖以下结构:
| 字段 | 含义 |
|---|---|
task | 1 或 2 |
prompt_id, version | 标识此次尝试;修订版共用一个 prompt_id |
date | ISO 日期,用于划分统计周期 |
band_overall, band_cc, band_lr, band_gra | 总分 + 连贯与衔接、词汇资源、语法多样性与准确性 |
band_ta (Task 1) / band_tr (Task 2) | 第一项评分标准:任务完成情况 / 任务回应情况 |
errors | 来自知识库固定标签词汇表的列表 |
每个文件中的 band_ta 和 band_tr 互斥。报告会将两者统一为一条“第一项评分标准”趋势线,让 Task 1 和 Task 2 的进度可以并列比较,同时仍正确标注各自的名称。
流程
第 1 步 — 定位知识库和反馈文件
找到 feedback/ 目录。通常它位于知识库根目录,与 attempts/ 和 _dashboard/ 并列。如果用户指定了特定文件夹,则使用该文件夹。如果找不到包含 .md 文件的 feedback/ 文件夹,请停止并告知用户——没有内容可供报告。
第 2 步 — 确定范围(仅在确实不明确时询问)
支持两种范围;用户可在运行时选择:
- 累计 — 汇总截至目前的所有尝试,生成一份持续更新的概览。适合了解“我的整体水平如何”。
- 周期 — 按
date将尝试划分为每周或每月的时间段,并展示趋势。适合了解“我是否在进步”。
尽可能根据请求推断(“月报” → 周期/每月;“我的整体情况如何” → 累计)。只有请求确实不明确时才询问。用户提及日期范围时,也可以按任务(1、2 或两者)或日期范围进一步筛选。
第 3 步 — 运行汇总脚本
不要凭肉眼读取并统计分数——数十个文件中的半分制平均分和错误计数很容易算错,而只要一个数字有误,进度报告就失去了价值。请使用随附脚本;它会解析每个反馈文件的 frontmatter,并以 JSON 返回精确数据:
python3 scripts/aggregate_feedback.py --vault <VAULT_ROOT> --mode cumulative
# or, for a trend:
python3 scripts/aggregate_feedback.py --vault <VAULT_ROOT> --mode period --period monthly
常用标志:--feedback-dir <PATH>(如果 feedback/ 不在知识库根目录下)、--task 1|2|all、--since YYYY-MM-DD、--until YYYY-MM-DD。该脚本不依赖第三方库。
JSON 会提供:覆盖范围计数、各评分标准的平均分(criterion1 是统一后的 TA/TR 评分)、error_frequency(按出现频率从高到低排列)、revision_deltas(每个有多个版本的提示词从首版到最新版的分数变化),以及——在周期模式下——按 periods[] 时间段分别列出的相同数据。
步骤 4 — 展示一项间隔较久的旧错误复测
阅读 references/spaced-error-reprobes.md 并维护
_dashboard/ielts-reprobe-ledger.yaml。如果该文件不存在,请根据已记录的反馈创建初始内容。
如果有任何复测已到期,请在选择优先事项之前,恰好纳入一项——优先选择到期时间最早的复测。不要仅仅因为近期错误出现次数更多,就用它替换较早的错误。
步骤 5 — 撰写报告
将 JSON 转换为以下模板。数字由脚本负责;你的工作是进行解读——指出最弱的评分标准、趋势方向、最顽固的错误以及优先事项。按 IELTS 的规则将显示的分数四舍五入到半分(6.25 的平均分应描述为“约 6 分”,而不是考生不可能获得的半分)。保持诚实:如果只有两三次练习,请说明目前的趋势尚无参考意义,而不要过度解读波动。
对于 Task 1 练习,请遵守知识库的数据准确性规则:分数已反映可评估的内容,因此请按记录报告,不要在此处重新讨论数据准确性。
步骤 6 — 将报告写入知识库
将报告写入 _dashboard/,并使用带日期的文件名,以保留历史记录——例如 _dashboard/progress-2026-06-24.md(累计)或 _dashboard/progress-2026-06.md(月度)。不要覆盖已有的带日期报告;如果文件名完全相同,请在文件名后添加简短后缀,或向用户确认。知识库中持续更新的 _dashboard/writing-progress.md(如果存在)由 Dataview 驱动——除非用户明确要求更新,否则不要修改。
写入文件后,在聊天中向用户提供 3–4 行摘要:当前水平、趋势方向、最常见的错误,以及最值得优先关注的一项内容。告知用户文件的保存位置。
报告结构
使用此模板。删除没有数据的部分(例如尚无修订记录时),不要为了填充内容而硬凑。
# IELTS Writing Progress — <scope label, e.g. "Cumulative as of 2026-06-24" or "May 2026">
**Attempts covered:** <n> (<by task>) across <distinct_prompts> prompts
**Date range:** <earliest> → <latest>
## Band summary
| Criterion | Average | Read as |
|-----------|--------:|---------|
| Task Achievement / Response | x.x | ~band |
| Coherence & Cohesion | x.x | ~band |
| Lexical Resource | x.x | ~band |
| Grammatical Range & Accuracy | x.x | ~band |
| **Overall** | x.x | ~band |
One or two sentences: which criterion is the weakest anchor, which is the strength.
## Trend
| Period | Attempts | Overall | TA/TR | CC | LR | GRA |
|--------|---------:|--------:|------:|---:|---:|----:|
| ... | ... | ... | ... | ...| ...| ... |
One or two sentences on direction (improving / flat / noisy), with the honesty caveat if the sample is small.
## Recurring errors
| Error tag | Count |
|-----------|------:|
| ... | ... |
Name the 2–3 most persistent tags and what they signal. Link to the vault's error notes where useful, e.g. [[errors/article]].
## Revision gains
| Prompt | v→v | Overall change |
|--------|-----|---------------:|
| t2-001 | 1→2 | +0.5 |
Did revising actually move the score? One sentence.
## Old error due now
**Error:** <tag>
**Fresh cue:** <one new sentence or micro-task>
Answer without opening the old correction. Require production or correction plus a
brief reason; recognition and rule naming do not pass.
## Top 3 priorities for the next stretch
1. ...
2. ...
3. ...
优先事项应根据数据得出:最弱的评分标准、出现频率最高的错误标签,以及表现停滞或下滑的技能。具体且精简——列出十项待改进内容的报告只会被忽视。
后续交接
- 标记新草稿 →
ielts-writing-task1或ielts-writing-task2 - 将报告转化为学习计划 →
ielts-learning-planner - 制定针对性的词汇练习 →
ielts-vocabulary-builder