ワンクリックで
ielts-status
雅思备考状态总览。读取云盘所有产物,输出距考试天数 / 已做篇数 / 模型均分 / 待核验数 / 错误标签 top 10 的趋势报告。 触发方式:/ielts-status、「我的状态」「现在到哪了」「还有多久」「进度怎么样」「总览」
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
雅思备考状态总览。读取云盘所有产物,输出距考试天数 / 已做篇数 / 模型均分 / 待核验数 / 错误标签 top 10 的趋势报告。 触发方式:/ielts-status、「我的状态」「现在到哪了」「还有多久」「进度怎么样」「总览」
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
雅思听力精听教练。精听三遍法 + 错题分类归档 + 同义替换提取 + 弱项聚合。 触发方式:/ielts-listening、「分析听力」「这道听力为什么错」「听力错题」「精听训练」
雅思模考分数录入。引导用户输入剑桥真题模考 / 真考成绩,强制标 source(真考为 source_of_truth),写入 mock/ 并追加摘要到 ai-worklog.md。 触发方式:/ielts-mock、「录模考分」「剑 X 我做了」「我考完了」「记录成绩」
雅思备考计划维护器。读 `/ielts-status` 数据 + 维护 `study-plan.md`,每周生成「本周任务」+ 进度回看。 触发方式:/ielts-plan、「本周任务」「计划怎么调」「我考试改期了」「我时间不够」「按数据建议下周」
雅思题库索引 + 做题记账。维护「做过哪些套 / 还有哪些没做 / 各板块进度」单文件索引。 触发方式:/ielts-question-bank、「题库」「我做过哪些套」「给我没做过的」「记一下我做了剑X」
雅思阅读精读教练。同义替换提取 + T/F/NG 逻辑拆解 + 段落结构分析 + 错题诊断。 触发方式:/ielts-reading、「分析阅读」「这道为什么错」「同义替换」「阅读训练」
Bandwise 雅思备考教练的路由入口。意图识别 + 摸底 + 分流到 9 个子 skill(写作 / 听力 / 阅读 / 口语 / 模考 / 状态 / 词汇 / 题库 / 计划)。 触发方式:/ielts、「我要备考雅思」「雅思怎么准备」「IELTS」「现在到哪了」「还有多久考」
| name | ielts-status |
| description | 雅思备考状态总览。读取云盘所有产物,输出距考试天数 / 已做篇数 / 模型均分 / 待核验数 / 错误标签 top 10 的趋势报告。 触发方式:/ielts-status、「我的状态」「现在到哪了」「还有多久」「进度怎么样」「总览」 |
| metadata | {"version":"1.0.0","project":"bandwise","license":"PolyForm-Noncommercial-1.0.0"} |
reviews/ 或 ai-worklog.md。source: model_inference;只有真考成绩(如已有)可标 source_of_truth。Opus 写作均分 6.3(model_inference, n=5))。写到可配置数据根:ROOT="${IELTS_COACH_HOME:-$HOME/ielts-coach}"(默认 ~/ielts-coach/,缺失目录自动创建)。完整目录结构见 /ielts 主入口或 README。
读取来源:
mock/*.md(frontmatter type: mock-exam)writing/*.md(frontmatter type: writing-batch)listening/*.md(frontmatter type: listening-batch)reviews/*.md(frontmatter type: week-review)(Phase 2 才有)vocab/*.md(frontmatter type: vocab-entry 或 vocab 累积文件)question-bank.md(题库做过情况)study-plan.md 第一节读考试日期open-questions.md(open_verifications 全量汇总)报告与错题本里所有错误 tag 一律显示中文标签(面向中文用户)。机器聚合、grep、frontmatter 仍用英文 machine tag 不变——只在展示时转中文,并在中文后用括号附英文 tag 供检索。
对照表:
| machine tag | 中文 | machine tag | 中文 |
|---|---|---|---|
copy-prompt | 照抄题目 | synonym-missed | 同替没听出 |
off-topic | 跑题 | number-mishear | 数字听错 |
unaddressed-part | 漏答要点 | spelling-error | 拼写错误 |
weak-stance | 立场不清 | distraction | 干扰陷阱 |
vague-example | 例子空泛 | attention-drift | 走神漏听 |
vague-data | 数据描述含糊 | signal-missed | 信号词没抓住 |
linker-overuse | 连接词堆砌 | accent-trouble | 口音不适应 |
linker-mechanical | 连接词生硬 | instruction-misread | 题目要求看错 |
weak-paragraph-transition | 段落衔接弱 | paraphrase-misread | 改写没读懂 |
unclear-reference | 指代不清 | info-order-confusion | 信息顺序混乱 |
basic-collocation | 搭配太基础 | collocation-error | 搭配错误 |
word-repetition | 用词重复 | register-too-informal | 语域太口语 |
article-missing | 冠词缺失 | subject-verb-disagreement | 主谓不一致 |
tense-shift | 时态不一致 | run-on | 流水句 |
comma-splice | 逗号粘连 | no-complex-sentence | 缺复杂句 |
未在表中的 tag → 直接显示原英文。展示示例:用词重复 (word-repetition)。
你是一个用数字说话的助手。报告必须客观、可追溯、不渲染。
从 study-plan.md 第一节抽取:
decisions.md 优先取)计算 today - exam_date_1 和 today - exam_date_2,得到剩余天数。
用 Bash 列出所有 .md 文件:
CLOUD="${IELTS_COACH_HOME:-$HOME/ielts-coach}"
ls "$CLOUD/writing/" 2>/dev/null | grep -E '\.md$' | wc -l # 写作篇数
ls "$CLOUD/mock/" 2>/dev/null | grep -E '\.md$' | wc -l # 模考次数
ls "$CLOUD/listening/" 2>/dev/null | grep -E '\.md$' | wc -l # 听力精听套数
ls "$CLOUD/vocab/" 2>/dev/null | grep -E '\.md$' | wc -l # 词汇文件数
[ -f "$CLOUD/question-bank.md" ] && echo 1 || echo 0 # 题库索引是否在
对 writing/*.md 每个文件,用 head -50 或读 frontmatter 抽取:
task (T1/T2)dateai_scores.opus.overall 和 ai_scores.opus.{tr,cc,lr,gra}ai_scores.gpt5.overall(若有)human_score(若有)errors[].tagopen_verifications(数组长度 = 该篇未核验数)聚合:
| 维度 | 计算 |
|---|---|
| 总篇数 | n = 文件数 |
| T1 vs T2 | 按 task 分桶计数 |
| Opus 各维度均分 | sum(opus.{tr,cc,lr,gra}) / n,分别算 |
| Opus 总分均值 | sum(opus.overall) / n |
| GPT-5.5 总分均值 | sum(gpt5.overall) / m,m 为有 gpt5 字段的篇数 |
| 真人均分 | sum(human_score) / k,k 为有 human_score 的篇数 |
| open_verifications 总数 | sum(len(open_verifications) for each file) |
| 错误 tag top 10 | flat all errors[].tag → 计数排序取前 10 |
| 趋势(近 5 篇 vs 前 5 篇) | Opus overall 均值之差 |
对 listening/*.md 每个文件抽取:
date / source_book / test_id / sectioncorrect_count / total_questionserrors[].tagsynonyms_extracted(长度)聚合:
| 维度 | 计算 |
|---|---|
| 总套数 | n = 文件数 |
| 整套覆盖 vs 单 Section | 按 section 字段分桶 |
| 听力平均正确率 | sum(correct/total) / n |
| 错误 tag top 10 | flat all errors[].tag → 计数 |
| 同替累积条数 | sum(synonyms_extracted.length) |
| 趋势(近 5 套 vs 前 5 套) | 平均正确率之差 |
对 mock/*.md 每个文件抽取:
datescores: {L, R, W, S, overall}source(应为 source_of_truth — 真考成绩 或 confirmed_decision — 用户复核的剑桥真题模考)聚合:
| 维度 | 计算 |
|---|---|
| 模考次数 | n |
| 各项均分 | sum/n |
| 最高分 vs 最近一次 | max(overall) 和 最新一次 overall |
| 距目标 7.5 差距 | 7.5 - 最近一次 overall |
# 📊 雅思备考状态报告 · {today}
## 倒计时
| 节点 | 日期 | 距今天数 |
|---|---|---|
| 一考(兜底 7.0) | 2026-10-31 (估) | {N} 天 |
| 二考(冲 7.5) | 2026-12-15 (估) | {M} 天 |
source: 取自 `study-plan.md` 第一节,未报名前为估算
## 写作进度(`/ielts-writing` 累计 {n} 篇)
| 维度 | Opus 均分 | GPT-5.5 均分 | 真人均分 | source |
|---|---|---|---|---|
| TR | {x.x} | {x.x or null} | {x.x or null} | model_inference / confirmed_decision |
| CC | {x.x} | ... | ... | ... |
| LR | {x.x} | ... | ... | ... |
| GRA | {x.x} | ... | ... | ... |
| **Overall** | **{x.x}** | **{x.x}** | **{x.x}** | |
T1: {n1} 篇 / T2: {n2} 篇
近 5 篇 Opus 均分 vs 前 5 篇:{xx.x → xx.x,差 {+/-x.x}}(source: model_inference)
## 模考记录(`/ielts-mock` 累计 {m} 次)
最近一次:{date} · {书名} · L{x}/R{x}/W{x}/S{x} → Overall {x.x}(source: {source_of_truth | confirmed_decision})
历次趋势:{L: x→x→x, R: ..., W: ..., S: ...}
距目标 7.5 差距:{x.x}
## 听力进度(`/ielts-listening` 累计 {p} 套)
最近一套:{date} · {book} {test_id} S{section} · {correct}/{total}(正确率 {x}%)
累计同替条数:{synonyms_count}(候选入 `/ielts-vocab`)
听力错误 tag top 5(中文显示,括号附英文):
| 排名 | 错误类型 | 出现次数 |
|---|---|---|
| 1 | 同替没听出 (synonym-missed) | {n} |
| 2 | 数字听错 (number-mishear) | {n} |
| ... | | |
source: model_inference
## 错误标签 Top 10(写作 + 听力合并聚合 · 中文显示)
| 排名 | 错误类型 | 维度 | 出现篇数 | 出现总次数 |
|---|---|---|---|---|
| 1 | 连接词堆砌 (linker-overuse) | 写作 | 4 | 12 |
| 2 | 同替没听出 (synonym-missed) | 听力 | 3 | 8 |
| ... | | | | |
source: model_inference(AI 标注,未经真人/真考确认)
## ⚠ 待核验项(open_verifications)
总计 {N} 项待核验,来自 {k} 篇文件:
- `2026-06-15_T2_crime.md`: "tr 上多模型分差 1.0—待真人裁定"
- `2026-06-22_T1_chart-comparison.md`: "GRA 上 Opus 给 6, GPT 给 7—待真人裁定"
- ...
source: open_verification(必须真人/真考裁定才能 close)
## 建议(基于当前数据)
1. {第一优先级建议,基于错误 tag top 3 和分数差距}
2. {第二优先级}
3. {第三优先级}
source: model_inference
如果用户的请求是「翻一下 {tag} 错题」「我 article-missing 都错在哪」「错题本 {tag}」等,不出全局报告,进入错题本视图:
CLOUD="${IELTS_COACH_HOME:-$HOME/ielts-coach}"
TAG="$1" # 用户指定的 tag
# 找含该 tag 的所有写作 + 听力文件
echo "=== 写作中的 $TAG ==="
grep -lE "tag:\s*$TAG\b" "$CLOUD/writing/"*.md 2>/dev/null
echo "=== 听力中的 $TAG ==="
grep -lE "tag:\s*$TAG\b" "$CLOUD/listening/"*.md 2>/dev/null
对每个命中文件:
输出格式:
# 错题本 · {中文标签}(`{tag}`)
累计出现 {n} 次,分布在 {k} 个文件。
## {YYYY-MM-DD} · {filename}
> "{原句 or 录音原文}"
> 错因:{当时 AI 给的诊断}
> confirmed: {true | false}
(按时间倒序,最近的在最上)
---
## 模式总结(基于本 tag 全部样本)
{一句话总结:这个错误你犯了 N 次,其中 X 次是同样的原因…}
source: model_inference
用户复习用:直接对着这份视图练同类题型。 如果用户说「这条已经搞懂了,标 confirmed」,按约束 5 先告知改哪个文件再改
confirmed: true。
输出报告后主动问用户:
这份报告要归档吗? A. 不归档(默认)—— 只在对话里看 B. 归档到
reviews/{YYYY-WW}.md(如果今天是周日) C. 追加到ai-worklog.md末尾(简短摘要行)
用户没明确说,不写文件(约束 1)。
由于 SKILL.md 无法直接执行代码,实际操作时 LLM 调用 Bash + grep + sort:
CLOUD="${IELTS_COACH_HOME:-$HOME/ielts-coach}"
# 提取所有 tag 并计数 top 10(写作 + 听力合并)
find "$CLOUD/writing" "$CLOUD/listening" -name "*.md" -type f 2>/dev/null \
| xargs grep -hE "^\s*-\s*\{(q:\s*[0-9]+,\s*)?tag:\s*" 2>/dev/null \
| sed -E 's/.*tag:[[:space:]]*([a-z-]+).*/\1/' \
| sort | uniq -c | sort -rn | head -10
open_verifications 计数:
# 找每个文件 open_verifications 段非空字符串数量
find "$CLOUD/writing" -name "*.md" -type f 2>/dev/null | while read f; do
count=$(awk '/^open_verifications:/{flag=1;next} /^---$/{flag=0} flag && /^ - /' "$f" | wc -l | tr -d ' ')
[ "$count" -gt 0 ] && echo "$(basename "$f"): $count"
done
/ielts 的整体规划