toefl-grade

toefl-grade is a command for Claude Code from epicsagas/toefl-prep. It costs 43 tokens per session (1,087 once invoked), scanned A, original, MIT.

A TOEFL answer-scoring command that uses a local language model, and speech-to-text software for recordings, to assess reading, listening, writing, and speaking practice. TOEFL is an English test with separate reading, listening, writing, and speaking sections.

In plain words
What is it for?
Use it to score multiple-choice reading or listening answers, review essays for content and language, transcribe speaking recordings, and save results over time in a SCORES.md file.
Why use it?
It gives practice scores and written feedback while keeping evaluation on local tools. For speaking, it makes clear that pronunciation, intonation, and stress are not assessed directly because the recording is converted to text first.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Part of the toefl-prep plugin — 1 skill, 5 commands shipped together

Good fit Use it to score multiple-choice reading or listening answers, review essays for content and language, transcribe speaking recordings, and save results over time in a SCORES.md file.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/epicsagas/toefl-prep/toefl-grade
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/epicsagas/toefl-prep

Made for: Claude Code.

Or install toefl-prep, the plugin that ships this one along with the rest of its 1 skill, 5 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for toefl-grade

README.md
[![agentmods](https://agentmods.dev/badge/commands/epicsagas/toefl-prep/toefl-grade.svg)](https://agentmods.dev/commands/epicsagas/toefl-prep/toefl-grade)
Your own site
<a href="https://agentmods.dev/commands/epicsagas/toefl-prep/toefl-grade"><img src="https://agentmods.dev/badge/commands/epicsagas/toefl-prep/toefl-grade.svg" alt="Measured on agentmods" height="20"></a>
Per session 43 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,087 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00043 $0.01087
Opus 5 $0.00022 $0.00544
Sonnet 5 $0.00009 $0.00217
Haiku 4.5 $0.00004 $0.00109

Measured 7d ago against content hash ef9f436dc33d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

toefl-grade scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -sf http://localhost:11434/api/tags >/dev/null || { echo "Run: ollama serve"; exit 1; }
commands/toefl-grade.md · 88 lines

How it starts

The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/toefl-grade — 답안/녹음 채점 (로컬 모델)

답안 텍스트 또는 녹음 파일을 로컬 모델로 채점한다. 결과는 SCORES.md에 누적.

사전 확인

PLUGIN=~/.claude/plugins/marketplaces/toefl/toefl-prep
curl -sf http://localhost:11434/api/tags >/dev/null || { echo "Run: ollama serve"; exit 1; }
EVAL="$PLUGIN/scripts/llm_eval.sh"
STT="$PLUGIN/scripts/stt_transcribe.sh"
RUB="$PLUGIN/rubrics"

영역별 채점 경로

reading / listening (객관식)

  • 입력: 답안 + (문제/정답키가 담긴 문제 파일).
  • 루브릭: $RUB/reading.md 또는 $RUB/listening.md.
  • 실행:
    "$EVAL" grade "$answer_file" "$RUB/reading.md" /tmp/toefl_grade.json
    
  • 프롬프트에 "사용자 답안과 정답키를 비교하여 정답률과 오답별 근거/오류유형을 출력" 명시.

writing (주관식)

  • 입력: 에세이 텍스트 파일 (또는 --inline).
  • 루브릭: $RUB/writing.md.
  • 실행:
    "$EVAL" grade "$essay_file" "$RUB/writing.md" /tmp/toefl_grade.json
    
  • LLM이 Content/Org/Language/Mechanics 0–5점 + 라인별 첨삭 반환.

speaking (음성 → 전사 → 채점, 2단계)

1단계: whisper.cpp 전사

"$STT" "$audio_file" /tmp/toefl_transcript.txt

2단계: 전사 결과를 LLM에 평가

"$EVAL" grade /tmp/toefl_transcript.txt "$RUB/speaking.md" /tmp/toefl_grade.json
  • 프롬프트에 "전사 텍스트 + 유창성 메트릭을 Delivery/Language Use/Topic Development 루브릭으로 평가" 명시.
  • ⚠️ 결과 피드백에 반드시 한계 문구 포함 확인: "음성 직접 청취 없이 전사 기반 추정. 발음/억양/강세 미평가."

실행 단계

  1. 영역 + 파일 파싱. 파일 미지정 시:
    • writing/speaking: 임시 파일에 사용자가 붙여넣은 텍스트/녹음 경로 안내.
    • reading/listening: 가장 최근 practice/ 문제의 답안으로 간주.
  2. 해당 영역 채점 스크립트 실행 (위 경로).
  3. JSON 결과(/tmp/toefl_grade.json) 파싱:
    • score(0–5), band, dimensions, feedback, evidence.
  4. SCORES.md에 행 추가 (날짜 / 영역 / 점수 / 밴드 / 모델명 / 메모):
    | 2026-07-22 | writing | 3.5 | FAIR | qwen2.5:7b-instruct | template 과용, Content 약함 |
    
  5. practice/에 채점 결과 파일 저장: YYYY-MM-DD-{section}-grade-{n}.md (원문 + 점수 + 피드백 통합).
  6. 점수를 0–30 환산표(speaking/writing: 0–5→0–30)로 변환하여 목표(90) 대비 갭 표시.

환산표 (0–5 → 0–30, Speaking/Writing)

0–5 0–30
5 28–30
4 22–27
3 17–22
2 10–16
1 4–9
0 0–3

정직성 원칙

  • 모델명 항상 기록 (점수 신뢰도 판단용).
  • speaking 결과에는 한계 문구 강제.
  • 점수가 비정상적으로 높거나 낮으면(예: writing 5점인데 단문) "재검토 권장" 플래그.
  • 로컬 LLM 점수는 연습용 추정치 — TPO 실전 점수가 진짜 베이스라인.

Read the full file on GitHub · 88 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 88 lines · 43 tokens per session scan A ef9f436dc33d

Subscribe to this mod's changes

toefl-grade is a command published in the GitHub repository epicsagas/toefl-prep (1 stars, last pushed 4d ago), licensed MIT. It adds 43 tokens to every session and 1,087 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.