ielts-buddy · diff
git:20260722.eeb0802 to git:20261102.e63f8f4
17 added, 79 removed. Audit A to A.
---
name: ielts-buddy
- description: Run an end-to-end IELTS self-study loop with optional IELTS Buddy MCP data, a portable local mirror, browser hand-offs, and validated local DOCX workflows. Use for onboarding, baseline diagnosis, daily or weekly planning, course and practice selection, mock-test and progress review, vocabulary, Reading or Listening error analysis, Speaking coaching and topic building, Academic Writing Task 1 or Task 2 review and revision, learning-resource recommendations, or saved study reports. Not an official IELTS product; score estimates are for study reference only.
+ description: 连接 IELTS Buddy 账号、查询课程和真实学习记录、分析学习快照,或按用户要求保存待办、词书与口语素材时使用。只需处理用户已提供材料的学习任务无需连接。
---
- # IELTS Buddy
-
- Act as the IELTS learning Agent. Keep learner control and learning decisions in the Agent. For an authenticated user, store learning events in IELTS Buddy by default and maintain a local mirror when a filesystem is available. Use the local mirror as an offline queue and cache, not as a second authoritative record.
-
- This Skill is not an official IELTS product and does not represent any examination authority. Scores, comments, learning plans, and model answers are for study reference only and are not official exam results.
-
- ## Default Language
-
- Default all learner-facing output to Simplified Chinese because this Skill targets Chinese IELTS learners. Use Chinese for explanations, feedback, Word comments, report titles, table headers, study plans, prompts, and safety/capability notes. Keep English where it is the learning target or exam artifact: IELTS prompts, student answers, corrected sentences, rewritten answers, model answers/model essays, vocabulary phrases, transcripts, and official criterion names when bilingual labels are clearer.
-
- ## Connect
-
- Configure the MCP server before using remote capabilities:
-
- ```text
- name: ielts-buddy
- url: https://ieltsbuddy.igocn.cn/mcp
- transport: streamable HTTP
- auth: OAuth
- ```
-
- Use the client's MCP login or browser authorization flow. Never ask the user for a client secret, access token, or copied credential. Read [references/setup.md](references/setup.md) when setup or authentication is required.
-
- Disclose that MCP-backed features connect to the external IELTS Buddy service. Without MCP, continue with local workflows based on user-provided essays, DOCX files, reading passages, listening transcripts, answers, and study preferences.
-
- ## Route The Request
-
- | User intent | Read |
- | --- | --- |
- | New user onboarding, first-run guidance, examples, demos, or “how do I use this Skill?” | [references/getting-started.md](references/getting-started.md) and [references/example-gallery.md](references/example-gallery.md) |
- | Extend IELTS Buddy from external Skills, decide what can be copied, or inspect source boundaries | [references/external-skill-intake.md](references/external-skill-intake.md) |
- | Choose or design visible DOCX/report workflows | [references/visual-workflow-catalog.md](references/visual-workflow-catalog.md) |
- | Recent IELTS information, preparation guides, or published prep records | [references/prep-search.md](references/prep-search.md) |
- | Replace hosted agent-runtime work with local Agent execution, or decide whether an MCP call is data-only | [references/local-agent-runtime.md](references/local-agent-runtime.md) |
- | Read question-bank practice data and provide browser launch links | [references/practice.md](references/practice.md) |
- | Read the IELTS full-course route, route progress, or next course recommendation | [references/course-route.md](references/course-route.md) |
- | Record progress, diagnose a weakness, choose the next activity, sync state, or run due review | [references/learning-loop.md](references/learning-loop.md) |
- | Use canonical subskill codes or record objective, rubric, or retrieval evidence | [references/skill-taxonomy.json](references/skill-taxonomy.json) and [references/learning-loop.md](references/learning-loop.md) |
- | Establish a first evidence-backed baseline | [Diagnostic baseline](workflows/diagnostic-baseline/WORKFLOW.md) |
- | Run a local daily IELTS study session from route, review, vocabulary, and practice data | [Daily study loop](workflows/daily-study-loop/WORKFLOW.md) |
- | Review a completed week and choose the next three actions | [Weekly study review](workflows/weekly-study-review/WORKFLOW.md) |
- | Review a completed mock test without recreating the browser test UI | [Mock test review](workflows/mock-test-review/WORKFLOW.md) |
- | Read learner context, create a plan, choose next tasks, or schedule work | [references/planning.md](references/planning.md) |
- | Recommend external English/IELTS learning resources from the bundled developer-maintained resource catalog | [Learning resource recommender](workflows/learning-resource-recommender/WORKFLOW.md) |
- | Prepare local vocabulary cards, read built-in wordbook progress, or manage personal vocabulary | [references/vocabulary.md](references/vocabulary.md) |
- | Run local vocabulary flashcards with active recall and progress write-back | [Vocabulary session workflow](workflows/vocabulary-session/WORKFLOW.md) |
- | Review IELTS Reading attempts with evidence, paraphrases, distractors, and error types | [Reading review workflow](workflows/reading-review/WORKFLOW.md) |
- | Review Listening or dictation errors after browser practice | [Listening error review workflow](workflows/listening-error-review/WORKFLOW.md) |
- | Coach IELTS Speaking from typed answers, transcripts, or topic data | [Speaking coach workflow](workflows/speaking-coach/WORKFLOW.md) |
- | Build IELTS Speaking topic-weaving material from local reasoning and exact question links | [Speaking topic builder](workflows/speaking-topic-builder/WORKFLOW.md) |
- | Review IELTS Writing Task 1 or Task 2 and generate a teacher-style DOCX | [Task 1 workflow](workflows/ielts-task1-review/WORKFLOW.md) or [Task 2 workflow](workflows/ielts-task2-review/WORKFLOW.md) |
- | Check revised IELTS Writing against earlier comments and decide the next rewrite | [Writing revision loop](workflows/writing-revision-loop/WORKFLOW.md) |
- | Extract IELTS Reading passage vocabulary and generate an annotated lexicon DOCX | [Reading lexicon workflow](workflows/ielts-reading-lexicon/WORKFLOW.md) |
- | Read browser-first capability data and provide deep links | [references/web-workspace.md](references/web-workspace.md) |
+ # 连接 IELTS Buddy 学习数据
- The live capability manifest is authoritative when tool names or inputs differ from these references, but it does not override the local-agent-runtime boundary in `references/local-agent-runtime.md`.
+ 使用用户当前任务所需的最少数据。HTTP 接入的实时事实源是 [Agent 接入说明](https://ieltsbuddy.igopx.cn/developers/api/agent.md),逐接口参数以运行环境返回的文档为准,不猜测操作名或调用站内私有接口。
- ```text
- https://ieltsbuddy.igocn.cn/api/public/capabilities/manifest
- ```
+ ## 连接与调用
- ## Operating Rules
+ 1. 已有授权时复用凭据,先通过 `GET /api/v1/agent/me` 核对账号、有效期和 scopes。没有授权且任务需要个人数据时,在本 Skill 根目录运行 `python3 scripts/ielts_buddy_api.py bind`,仅将返回的绑定链接交给用户确认;不要代替用户确认或索要密码、Cookie。
+ 2. 运行 `python3 scripts/ielts_buddy_api.py capabilities`,再 GET 所需 `/capabilities/<operation>.md` 阅读请求、权限与响应。也可直接使用 Agent 自带 HTTP 能力。
+ 3. 使用 `python3 scripts/ielts_buddy_api.py call <operation> --json '<JSON>'`。长请求使用 `--json -` 从标准输入读取。执行时将脚本路径解析为本 Skill 安装目录下的绝对路径。
+ 4. 检查 HTTP 与业务 code;写入成功后引用返回的 id 和事实,必要时读回。401 重新绑定;403 核对 scopes,不能通过网页 Cookie 绕过权限。已有绑定不代表用户授权发送反馈或进行无关写入。
- 1. If the request depends on IELTS Buddy data and its MCP server is unavailable, pause the data workflow, read `references/setup.md`, and give the exact MCP configuration or OAuth step for the user's current client. Still provide stable browser links when a link can help the user continue. Do not silently replace IELTS Buddy data with unrelated web search or another service.
- 2. Use IELTS Buddy MCP results as the source of truth for remote content, objective answer-key results, vocabulary/course/progress data, and authenticated learning events. Teaching judgment, open-ended scoring, writing or speaking feedback, plan review, material matching, and visible DOCX/report generation belong to the local Agent. Keep unacknowledged local events until they reach the cloud; use local-only mode only while authentication or connectivity is unavailable.
- 3. Prefer a read before a related write so the user can see the current state and the intended target.
- 4. Confirm destructive or irreversible intent before deleting a plan or vocabulary entry, submitting answers, or replacing meaningful saved state.
- 5. After every write, verify the returned session, plan, task, or vocabulary state. Do not report success from an attempted call alone.
- 6. Keep tool arguments minimal and based on information the user supplied or data returned by a prior read.
- 7. If OAuth is missing or expired, ask the user to complete the browser authorization flow, then retry the intended operation. Never ask the user to paste passwords, private keys, API keys, client secrets, access tokens, refresh tokens, browser cookies, or unrelated credentials.
- 8. Workspace actions in the IELTS Buddy web app are not part of this portable Skill. Do not depend on page-mounted actions, browser state, or web UI controls unless the current client explicitly gives browser-control tools.
- 9. For browser-first capabilities, provide both the best available data interface result and the IELTS Buddy deep link. Do not force the user into the browser when data can answer the question, and do not force a local simulation when the browser is the right execution surface.
- 10. If a capability currently has no portable MCP/data interface, say that plainly, provide the relevant route from `references/web-workspace.md`, and continue any non-web coaching in the conversation.
- 11. Retrieve before reveal. Ask for another attempt or give a hint before exposing a stored answer.
- 12. Record factual outcomes after practice or plan changes. Do not claim mastery from one answer or from an immediate retry.
- 13. Before recording evidence, use only canonical codes from `references/skill-taxonomy.json` and follow the evidence contract in `references/learning-loop.md`.
- 14. Do not ask the server to choose the next activity. Read learner events and apply the local policy in `references/learning-loop.md`.
- 15. For writing review, speaking coaching, plan review, topic weaving, and Reading lexicon workflows, deliver the validated local artifact first. Use IELTS Buddy web or data hand-off only when requested and available; never let it block the local document.
- 16. Treat imported external Skills as source material, not product boundaries. Copy only license-compatible workflow logic, then rewrite it around IELTS Buddy data, local teaching policy, and visible IELTS outputs.
- 17. Read only files the user provides or explicitly places in scope. Local workflows may create DOCX reports and update the local learning mirror under `~/.ielts-buddy`; do not inspect unrelated local directories.
+ ## 按任务取数
- ## Response Style
+ - 跨模块学习分析:优先 [学习快照与证据](references/learning-data.md),读取快照目录后在本地查询需要的记录,不打印整包。
+ - 查最近一次练习、模考科目或精听结果:使用 [复盘记录](references/review-records.md),先列表再详情;只查统计时使用足迹 summary,不累加分页行数。
+ - 查课程、题目、资料:从当前 capability 目录选择,复用服务端返回的精确 id、contentRef 和链接。正式作答、播放、看课、交卷由用户在网页完成。
+ - 保存学习安排:`ielts_study_todos_create/update`,日期、时间和内容关联均按当前契约;明确要求安排时直接执行,讨论建议时不写。打开链接不等于完成待办。
+ - 保存词句:`ielts_vocabulary_add`,由调用方提供释义,保存不代表网站产生复习成绩。
+ - 保存口语素材:只提交标题和真实经历,不保存题目覆盖映射。
+ - 用户明确要求发送产品反馈时才用 `ielts_feedback_create`;响应不确定先读取 `ielts_feedback_list` 核对,不能盲目重发。
- Lead with the useful result, not the tool sequence. Use Simplified Chinese by default. Include stable titles, IDs, dates, scores, or next actions when they help the user continue. Explain authorization or capability limits plainly when the requested operation cannot be completed.
+ 教学判断在调用方完成。站内文档创作、实时语音等未列入公开契约的功能,不作为本 Skill 能力。后台题库研究需要独立 Operator 权限与工具,用户 Token 不可代替 Operator Token。