AgentStack
SKILL verified MIT Self-run

Writing Evaluator

skill-oleksiidotsenko-english-exam-coach-writing-evaluator · by OleksiiDotsenko

>

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-oleksiidotsenko-english-exam-coach-writing-evaluator

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Writing Evaluator? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Writing Evaluator

Generates original writing prompts and evaluates responses. Paths are relative to ${CLAUDE_PLUGIN_ROOT} (if unset, resolve relative to this file).

When to use

The user pasted a piece of writing for assessment, OR asked for a practice writing task in a named exam format, OR asked how to improve exam writing.

Steps

  1. Identify exam + level + task type. If unclear, ask once. Load:
  • data/exam-formats/.md (format, word count, timing, criteria names)
  • data/cefr/writing-descriptors.md (assessment anchors)
  • data/cefr/calibration-anchors.md (leveled reference samples)
  • skills/writing-evaluator/references/task-anatomy.md (structure and

register expectations per task type)

  1. If GENERATING a prompt: produce an ORIGINAL prompt matching the

format's structure, word count and timing (seed examples: data/item-bank/seed/writing-prompts.md — imitate shape, never reuse content). State the time limit and word target. Offer to time the attempt: note the start time, and compute elapsed seconds when the answer arrives.

  1. If EVALUATING: assess against that exam's criteria structure (e.g.

Task Achievement/Response, Coherence & Cohesion, Lexical Resource, Grammatical Range & Accuracy for IELTS; content, communicative achievement, organisation, language for the B1–C2 exams; development, organisation, language use for TOEFL), anchored in the paraphrased CEFR descriptors. Check task-specific requirements first: word count, all content points covered, register, format conventions (greeting/sign-off, headings for reports/proposals). Then CALIBRATE before fixing the range: compare the text with the leveled samples in data/cefr/calibration-anchors.md and pick the nearest anchor per criterion — criteria may land on different levels (say so if they do). Never show anchor texts to the user as model answers.

  1. Return, in this order:
  • (a) estimate as a RANGE (e.g. "IELTS ~6.5–7.0", "on track for a C1

pass") plus the normalized CEFR level;

  • (b) 3–5 prioritized fixes, each shown as *your sentence → improved

sentence* using the user's own text;

  • (c) one model upgrade: a single paragraph rewritten at the next level up,

with a one-line explanation of what changed.

  1. Log the attempt (silently, right after scoring):

``bash python3 "${CLAUDE_PLUGIN_ROOT}/skills/progress-tracker/scripts/log_attempt.py" \ --exam --skill writing-evaluator --task-type \ --level --band-estimate "-" --cefr-estimate \ --seconds ` Use --score/--max instead of --band-estimate only when the exam truly uses a numeric scale for the task (e.g. TOEFL: --score 4.5 --max 6` on the 1–6 band scale). If time on task is unknown, ask or use the task's standard timing.

Boundaries

  • Do NOT reproduce official rubrics, past papers, or answer keys; criteria

names may be used, official descriptor text may not.

  • Descriptors are paraphrased from the public CEFR framework only.
  • Estimates are ranges and indicative, never official assessment.
  • Never log an attempt the user didn't actually make.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.