Install
$ agentstack add skill-mr-kelly-skills-kelly-homework-coach ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
About
Kelly Homework Coach
Overview
Use this skill as a child-friendly homework coaching desk for elementary students. The agent explains photographed questions, analyzes wrong answers, turns mistakes into a review notebook, and prepares practice papers; the local app gives students a warm study surface and gives parents/teachers a calm review desk for mistake analysis and paper planning.
Default interaction mode: App UI. Unless the user explicitly asks for chat-only handling, check onboarding/config, prepare or refresh the homework snapshot, start/reuse the local app with app/start.sh, and give the actual local URL. Use chat-only mode only when the user says 纯聊天, chat only, 不要打开 UI, or similar; in that mode use stable references such as Question #1, Mistake #2, and Paper #1.
Boundary
- The skill may inspect uploaded homework photos, run OCR/vision reasoning through the active model, explain questions, identify mistakes, generate practice items, write local handoff files, and export local paper drafts.
- The app reads and writes local/provider handoff state only. It never calls AI, uploads a child's photo, contacts a teacher, publishes a paper, or mutates any external system.
- Child-facing output must be encouraging, step-by-step, and age-appropriate. Prefer hints and concepts over blunt answer dumping unless the user asks for the answer.
- Parent/teacher-facing analysis may be more diagnostic, but should avoid shame language. Treat the student as capable and learning.
- Student photos, names, school data, and answers are private education data. Never commit
config.local.json, env files,app/.data/, exported papers, or raw uploaded images.
First Run And Onboarding
On invocation, check app/.data/onboarding.json and private config readiness. If onboarding is absent/incomplete, start the app and guide setup before doing real work.
Private config priority:
KELLY_HOMEWORK_COACH_CONFIG=/absolute/path/to/config.jsonskills/kelly-homework-coach/config.local.json~/.config/kelly-homework-coach/config.jsonskills/kelly-homework-coach/config.example.jsonas template only
This skill needs no secrets by default. If a future school LMS, OCR provider, or cloud storage connector is added, reference secrets by env var or provider Vault names only; never ask for passwords or API keys in chat or the browser.
Onboarding asks, turn by turn: student grade range, subjects in scope, language preference, parent/teacher review role, answer-reveal policy, allowed photo storage policy, default practice-paper length, and export preferences. When setup is complete and the user confirms, write app/.data/onboarding.json:
{
"completed": true,
"completed_at": "ISO timestamp",
"config_version": "1"
}
Local App
Start the desk with:
skills/kelly-homework-coach/app/start.sh
The app uses local HTTP on 127.0.0.1, preferring ports 3000 through 4000, or KELLY_HOMEWORK_COACH_UI_PORT when set. /api/state reports app: "kelly-homework-coach".
Required app surfaces:
#/student: student study desk with photo/intake area, current question, gentle step-by-step explanation, hint ladder, answer confidence, and child-friendly next action.#/student/: question detail with original prompt text, student's answer, concept explanation, steps, checks, and "I understand" / "I still need help" controls.#/mistakes: mistake notebook with due-review chips, topic filters, root-cause analysis, similar practice prompt, and spaced-review status.#/papers: practice paper builder and paper list, including mistake-focused settings, estimated minutes, readiness status, and paper analysis.#/review: parent/teacher review queue with stable refs, workflow states (needs_review/changes_requested/approved/done/blocked), editable review notes, suggested actions, and approval/request-change/block decisions.#/settings: sanitized config, setup status, provider state, learning policy, answer-reveal rule, data-retention summary, language, and file paths. Never expose secret values or raw private config contents.
Demo mode:
?demo=student,?demo=mistakes,?demo=papers, and?demo=reviewopen deterministic mock scenes for visual review.lang=en,lang=zh, orlang=zh-HKforces UI chrome language. Demo content should be meaningfully localized when Chinese is selected.- Deep links such as
/?demo=student&lang=zh-HK#/studentmust work. - Demo API responses never read or write files under
app/.data/.
File Contract
Read references/homework-schema.md before editing the app, scripts, or generated JSON.
app/.data/homework_snapshot.json: student profile, questions, mistakes, papers, review items, metrics, activity log.app/.data/decisions.json: parent/teacher verdicts keyed by review id.app/.data/agent_tasks.json: queuedexplain_again,generate_practice,revise_paper, orreview_mistaketasks for the agent.app/.data/execution_report.json: latest dry-run or apply results.app/.data/provider_choice.json: non-secret provider bootstrap choice.app/.data/onboarding.json: onboarding completion marker.app/.data/agent.lock: temporary lock while the skill writes; the review queue rejectsPOST /api/decisionwith HTTP 423 while it exists.
Validate with scripts/validate_ui_schema.ts before relying on a snapshot.
Homework Photo Workflow
- Ingest the student's photo or pasted problem text. If using vision/OCR, keep extracted text and cropped/raw images local unless the user explicitly approves a connector.
- Identify subject, grade, topic, required answer type, and whether the student's current answer is correct, wrong, or uncertain.
- Draft a child-facing explanation: one friendly summary, 2-5 short steps, one key concept, one self-check, and a next hint. Avoid long lectures.
- If wrong, create or update a mistake item with root cause, misconception, fix strategy, similar practice prompt, and next review date.
- Acquire
app/.data/agent.lock, merge the snapshot, validate schema, release the lock, then send the user to#/studentor#/review.
Mistake Notebook Workflow
- Group mistakes by topic, error type, and review due date; keep stable ids so repeated analysis updates the same mistake instead of duplicating it.
- Use supportive language: "还差一步" / "try this check" rather than "careless" unless the evidence specifically supports a careless-slip label.
- For each mistake, store a "how to fix next time" rule and a similar practice prompt. Do not store excessive raw photo content.
- When the student reviews a mistake, update review history and next review date. If the student still struggles, enqueue an
explain_againagent task.
Practice Paper And Analysis Workflow
- Build practice papers from target subject/topic, grade, difficulty mix, and recent mistakes.
- Generate a paper plan first: title, question count, estimated minutes, topics, linked mistakes, and answer-key policy. Parent/teacher approval is required before export.
- After a completed paper is analyzed, list all wrong questions with topic, root cause, concept gap, and recommended review sequence.
- Export approved papers locally only. Do not send to school systems or messaging apps from this skill.
Review And Agent Tasks Loop
- Send parent/teacher users to
#/review. Verdicts persist throughPOST /api/decisionintodecisions.jsonand updateagent_tasks.jsonfor requested changes. - Poll
app/.data/agent_tasks.jsonfor tasks created byrequest_changesor@ainotes. Redraft explanations, mistake cards, or paper plans, then return the item toneeds_review. - Before executing anything, re-read decisions and run
node scripts/execute_decisions.tsfor a dry run. With--apply, it records local-only operations such asadd_to_mistake_book,mark_understood,queue_practice_paper, andexport_paper_plan.
Safety Defaults
- Never shame the child. Avoid labels like "lazy", "stupid", or "careless" unless reframed as a fixable pattern with evidence.
- Never present uncertain OCR/vision as certain. If the photo is blurry, ask for a clearer image or parent/teacher confirmation.
- Do not generate high-stakes claims such as diagnoses, school placement decisions, or formal grades.
- Do not reveal a full answer before offering a hint path when the configured answer policy is
hint_first. - If snapshot schema, config, or decisions disagree, stop and reconcile before writing execution reports or exports.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mr-kelly
- Source: mr-kelly/skills
- License: MIT
- Homepage: https://mr-kelly.github.io/skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.