Kelly homework coach
Friendly elementary-school homework tutoring App-in-Skill. Use when the user invokes $kelly-homework-coach or /kelly-homework-coach, mentions 小学生作业辅导, homework photo tutoring, 拍照讲题, 作业答疑, 错题本, error notebook, mistake-book review, practice paper generation, exam paper analysis, parent/teacher review of AI explanations, or wants a child-friendly UI for step-by-step homework help with local review and safety boundaries.From its SKILL.md
npx -y skills add mr-kelly/skills --skill kelly-homework-coachAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.9 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it
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_id>: 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.
What ships with it: 42 files
124.0 KB alongside SKILL.md, 18 of them executable
agents/
- openai.yaml277 B
app/
- app.jsruns29.6 KB
- i18n/messages.jsruns6.6 KB
- index.html430 B
- server/demo.tsruns21.1 KB
- server/hono.tsruns3.4 KB
- server/index.tsruns354 B
- server/launcher.tsruns3.8 KB
- server/paths.tsruns67 B
- server/types.tsruns65 B
- start.shruns90 B
- styles.css15.3 KB
assets/
- screenshots/mistakes.webp130 B
- screenshots/mistakes-zh-CN.webp130 B
- screenshots/papers.webp130 B
- screenshots/papers-zh-CN.webp130 B
- screenshots/review.webp131 B
- screenshots/review-zh-CN.webp130 B
- screenshots/student.webp130 B
- screenshots/student-zh-CN.webp130 B
- screenshots/thumbs/mistakes.webp130 B
- screenshots/thumbs/mistakes-zh-CN.webp130 B
- screenshots/thumbs/papers.webp130 B
- screenshots/thumbs/papers-zh-CN.webp130 B
- screenshots/thumbs/review.webp130 B
- screenshots/thumbs/review-zh-CN.webp130 B
- screenshots/thumbs/student.webp130 B
- screenshots/thumbs/student-zh-CN.webp130 B
lib/
- common.tsruns798 B
- data-provider/index.tsruns659 B
- data-provider/local-file-provider.tsruns11.2 KB
- data-provider/provider-interface.tsruns1.9 KB
- package.json23 B
- paths.tsruns862 B
- types.tsruns4.8 KB
references/
- homework-schema.md4.5 KB
scripts/
- execute_decisions.tsruns3.0 KB
- config.example.json670 B
- package.json482 B
- README.md3.6 KB
2 more files not listed here. See all 42 in the repository.