ielts-task2-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ielts-task2-review (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Imitate the teacher's marking style before giving generic IELTS advice. Use the full teacher samples and the official descriptors as the two authorities:
references/teacher_style.md before reviewing.references/ielts_task2_band_descriptors.md before scoring.references/teacher_samples_index.md to find relevant sample files, then read specific full samples from references/teacher_samples/ when needed.references/review_format.md for the output structure..docx, first run scripts/extract_task2_input.py to separate the prompt, optional outline, and student essay.student_essay_paragraph_indices from the extraction result and include it in the review plan.scripts/find_teacher_sample.py with the input filename or prompt.C17T3 Writing Task 2.docx maps to C17T3_Writing_Task_2.json.references/teacher_samples_index.md and the prompt wording to choose a closer sample.informal, repetition, unnatural, could be more concise, Careful with articles, Off-topic, This is vague.6, 6.5, or 7. Use .5 when the original essay sits between adjacent whole-band descriptor anchors; do not force criterion scores to integers.In conclusion..docx by default.MyEssay.docx, output MyEssay(reviewed).docx in the same folder unless the user specifies another path./Users/aaronliang/Desktop/IELTS_Task2_Reviewed_YYYYMMDD_HHMM.docx.Cyber Esme as the Word comment author.Task, Reviewed Essay, Score, or Model Essay.word/document.xml root namespace declarations and mc:Ignorable; do not leave undeclared prefixes such as w14, w15, w16*, or wp14.To Reach Band 7.5 / 8.0 together; insert another page break before the model essay.review_plan_c17t3.json./private/tmp or use --cleanup-plan when running scripts/create_review_docx.py..docx files, or bundled reference files.references/teacher_style.md: teacher imitation rules distilled from the 11 samples.references/teacher_samples_index.md: prompt and count index for all samples.references/teacher_samples/*.json and *.md: full extracted teacher-reviewed samples.references/ielts_task2_band_descriptors.md: complete Task 2 descriptors extracted from the local PDF.references/review_format.md: canonical reviewed document structure.scripts/extract_task2_input.py: extract prompt, optional outline, and student essay from a Task 2 DOCX; it also protects against accidental leftover reviewed content.scripts/find_teacher_sample.py: find matching bundled teacher samples using normalized filename and prompt overlap.scripts/create_review_docx.py: create a reviewed DOCX from a JSON review plan; DOCX input is copied first, comments are anchored into extracted student essay paragraphs, and score/model sections are appended.scripts/validate_review_docx.py: verify comments, italic rewrites, student-essay paragraph comment anchoring when --input-docx is supplied, root namespace compatibility, score lines, retained To Reach Band 7.5 / 8.0 title, removed old headings, and model essay length/four-paragraph structure.scripts/extract_teacher_samples.py: regenerate sample references from the 11 source DOCX files.scripts/extract_task2_band_descriptors.py: regenerate descriptors from the PDF.When using scripts/create_review_docx.py, first produce a JSON file with this shape:
{
"prompt": "Task prompt",
"student_essay_paragraph_indices": [12, 14, 16, 18],
"review_units": [
{
"original": "Student sentence or paragraph.",
"comments": [{"target": "specific phrase", "text": "Short teacher-style comment"}],
"rewrite": "Italic teacher-style improvement."
}
],
"scores": {
"Task Response": "6.5",
"Coherence & Cohesion": "7",
"Lexical Resource": "6.5",
"Grammatical Range & Accuracy": "6.5",
"Overall": "6.5"
},
"score_explanation": ["Short evidence-based scoring note."],
"focus_feedback": ["Focus on grammar accuracy and natural collocations."],
"model_essay": [
"Paragraph 1: introduction with paraphrase and position.",
"Paragraph 2: body paragraph 1.",
"Paragraph 3: body paragraph 2.",
"Paragraph 4: In conclusion, ..."
]
}Scores are teacher-style estimates for the review output, so each criterion and Overall may be a whole band or a half band.
Then run:
python scripts/create_review_docx.py review_plan.json --input-docx MyEssay.docx --cleanup-plan
python scripts/validate_review_docx.py "MyEssay(reviewed).docx" --input-docx MyEssay.docxFor pasted text, omit --input-docx and the script will default to the Desktop output path. If the review plan is a permanent example/reference file, omit --cleanup-plan.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.