HomeworkHawk — Graded Worksheet Callback

SkillMedia

After an automated grading pipeline (HomeworkHawk, OpenCV 5) grades a finished worksheet photo, optionally places ONE outbound CALL-E call to a verified parent/guardian delivering advisory results (score, which questions to review, which ones the system could not read confidently). Default mode is a no-call preview that returns the exact script and result schema; a real call requires explicit operator approval, an authorized guardian destination, and an unambiguous grading result. Returns a structured confirmation (delivered / followup_confirmed / followup_time / parent_reaction) the grading app can store next to the worksheet.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the HomeworkHawk skill

What this skill tells your AI

The instructions your AI receives, as published by calle-ai/awesome-phone-call-agents in skills/homeworkhawk-graded-worksheet-callback/SKILL.md and read by ahel’s review.

Why this exists

Automated homework grading is only useful if the results reach the parent. A grading result that lives in a dashboard nobody opens at work is a dead end. This skill closes the loop: when a grading pipeline finishes a worksheet, it hands the structured result to CALL-E, which phones the parent, delivers the summary in a warm and non-judgmental tone, names the questions worth reviewing, flags the ones the system itself escalated as unreadable, and offers a review session for tomorrow evening. The call returns a schema-validated result the grading app can act on.

It is a workflow skill on top of CALL-E's one-off calls.createAndWait SDK call — no new backend, no scheduler state.

The grading result is advisory. It tells a parent what to look at together with their child; it is never an official grade, a judgment of the child, or a placement decision.

Default: preview, no call

Running the skill without --approve-call places no call. Preview mode prints (and returns as JSON):

  • the exact script the agent would read, with the student name and any escalated questions included,
  • the destination number as it will be dialed (masked in all output),
  • the result contract the app will receive.
# default — safe: renders the script, dials nobody
node notify.mjs graded.json --to +15550123456 --region US

# real call — only with an explicit approval flag, a verified
# guardian number, and a grading result that passed the
# ambiguity gate (see Safety)
node notify.mjs graded.json --to +15550123456 --region US --approve-call

When To Use

  • a grading/vision pipeline has produced per-question verdicts and the parent/guardian has explicitly opted in to a phone callback instead of (or alongside) an app notification
  • any "perception finished → an authorized adult should hear about it by phone" pattern: inspection reports, review-session booking after an automated assessment

Not for: medical, lab-result, legal, financial, or emergency notifications of any kind. A homework score is advisory educational feedback; this skill must never be repurposed to deliver health or lab results — those require a licensed professional in the loop, and this skill provides none.

Inputs

fieldtypenotes
graded.jsonfilepipeline output: {file, student_name, questions: [{index, expected, score, verdict, attempts}]}
--toE.164 phonethe verified parent/guardian number (must be on the allowlist the parent set up; never taken from the worksheet, the child, or a third party)
--region / --localeCALL-E recipient settingse.g. US / en-US
--approve-callflagrequired for a real dial; omitted = preview only

Result contract

{
  "delivered": true,
  "followup_confirmed": true,
  "followup_time": "tomorrow 19:00",
  "parent_reaction": "positive"
}

In preview mode the same shape is returned with "delivered": false and "mode": "preview". Phone numbers are masked in every output (+1•••••0123), including logs, transcripts, and error messages.

Run

git clone https://github.com/Zaichek/homeworkhawk-calle
cd homeworkhawk-calle && npm install
export CALLE_API_KEY=...   # dashboard.heycall-e.com — never logged or embedded in prompts
node notify.mjs graded.json --to +15550123456 --region US            # preview
node notify.mjs graded.json --to +15550123456 --region US --approve-call

The vision leg (photo → graded.json) is HomeworkHawk: pure OpenCV 5, 0.24 s/page on CPU, 93.3% handwritten-answer exact-read, with a confidence-gated policy that escalates to a human instead of guessing.

Safety

Full rules in references/safety.md. Summary:

  • Default no-call. Preview is the default; a real dial needs the explicit --approve-call operator approval, per call.
  • Authorized guardian only. The destination must be the parent/guardian contact on file. The skill refuses to disclose anything about the child to an unverified number, a number supplied by the child, or any third party.
  • Ambiguity stops the call. If the grading result fails the ambiguity gate (unreadable student name, >20% of questions escalated, missing verdict fields), the skill places no call and returns the result to the app for a human to review first.
  • Advisory framing. The script reports what to review together — never "your child failed", never a grade, never a ranking.
  • Cancellation limits. Stop before submission to avoid placing the call. After submission, Ctrl-C only stops the local workflow; it does not confirm provider cancellation, and the call may still connect or continue. The parent can hang up, and the agent ends politely. The skill never redials on its own — at most one call per worksheet, ever.
  • No schedules, no duplicates. No hidden recurring jobs; one call per worksheet idempotency key; a follow-up session is booked as a human calendar entry, not another automated call.
  • Boundaries. No medical/lab-result, legal, financial, or emergency content, with or without supervision; those categories are out of scope by design.

Detailed worked examples: references/examples.md.

Signals

GitHub stars
104
Forks
527
Last commit
Sep 2026

ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
homeworkhawk-graded-worksheet-callback
Source
github.com/calle-ai/awesome-phone-call-agents