Skip to content

arminazimi/english-test-prep-coach

v0.1.0Apache-2.0

Independent, evidence-led English test preparation coaching across Reading, Listening, Writing, and Speaking.

Independent English Test Prep Agent

An open-source Agent Skill for preparation aligned with the TOEFL iBT® test format that took effect on January 21, 2026.

Important

This is an independent learning project. TOEFL and TOEFL iBT are registered trademarks of ETS in the United States and other countries. This project is not endorsed or approved by ETS. It does not reproduce or distribute unlicensed ETS questions, passages, prompts, audio, transcripts, sample responses, answer keys, rubrics, directions, or graphics, and its feedback is not an official ETS score.

Warning

The existing repository slug is a working identifier. Current ETS trademark guidance says ETS marks should not be incorporated into a product name, domain name, or similar identifier. Selecting an independent public brand and reviewing the final attribution are release blockers for v1.0.

Project status

Task coaching, learning intelligence, and the v0.1.0 plugin package are implemented; host validation continues. The repository defines the product, portable skill interface, official-format task matrix, architecture, task-specific coaching for Reading, Listening, Writing, and Speaking, and privacy-preserving progress continuity. Human calibration, installed cross-platform validation, independent public branding, and release gates remain before a stable release.

What the skill does

  • Route learners to the correct Reading, Listening, Writing, or Speaking task type.
  • Teach the format and strategy with original practice material.
  • Give specific, evidence-based feedback and a prioritized next step.
  • Separate coaching estimates from official ETS scores.
  • Support a full diagnostic, focused practice, review, and progress tracking.

The 2026 format contains 12 task types across four sections. See the task-type matrix for the official names and source links.

Repository map

plugin.json                           Portable plugin manifest
.codex-plugin/plugin.json             Codex adapter and presentation metadata
.claude-plugin/plugin.json            Claude Code adapter
SKILL.md                              Canonical coaching entry point
skills/coach/SKILL.md                 Thin plugin route to the canonical skill
docs/PRD.md                           Product requirements and MVP boundary
docs/architecture.md                  Portable architecture and contracts
docs/toefl-2026-task-matrix.md        ETS-sourced 2026 format matrix
docs/research/                         Dated official-source audits
docs/ROADMAP.md                       Delivery phases and completion criteria
docs/PRODUCT-STRATEGY.md              Open-core, growth, ecosystem, and paid strategy
references/feedback-contract.md       Shared coaching output contract
references/learning-intelligence.md   Diagnostics, plans, review, and progress
references/learner-state.md           Consent and portable-state lifecycle
schemas/learner-state.v1.schema.json  Host-neutral learner-state contract
skills/toefl-writing-2026-coach/      Exact vendored Writing implementation
evaluations/                           Dated behavior-evaluation reports
tests/cases/core.json                 Behavior-oriented evaluation cases
tests/test_repository_contract.py     Offline repository checks

Use as an Agent Skill

Clone the repository into a location your agent can discover as a skill, or copy the repository folder into that agent's skills directory. Then invoke it explicitly:

Use $english-test-prep-coach to give me a Writing diagnostic.

The skill is intentionally platform-neutral: it depends on readable Markdown and JSON, not a vendor SDK.

Build as a Plugin

Build the same skills-only package for Codex and Claude Code:

python3 scripts/build_plugin_archive.py

See plugin packaging and local validation for the manifest roles and platform-specific checks. The v0.1.0 package has no backend, account, analytics, or paid API dependency.

Validate locally

The contract tests use only the Python standard library:

python3 -m unittest discover -s tests -v

These tests validate packaging, source traceability, all 12 task types, evaluation-case coverage, and required safety language. They do not claim that AI-generated feedback is psychometrically equivalent to ETS scoring.

Documentation

License

Original project material is available under the Apache License 2.0. See LICENSE and NOTICE. The license does not grant rights to ETS trademarks or copyrighted ETS material.