Student Companion Agent
by @harrylabsj
Parent-facing student companion agent for OpenClaw and Hermes. Use when parents want to collect exam scores, homework, curriculum progress, images, voice not...
clawhub install student-companion-agent📖 About This Skill
name: student-companion-agent slug: student-companion-agent version: 0.1.0 author: harrylabsj license: MIT description: "Parent-facing student companion agent for OpenClaw and Hermes. Use when parents want to collect exam scores, homework, curriculum progress, images, voice notes, or files; analyze weak knowledge points across multiple subjects; generate teaching suggestions; and track follow-up actions over time. 适用场景:家长记录孩子成绩、作业、教学进度、试卷图片、语音反馈或文件,分析多科薄弱知识点,生成教学建议并持续跟踪。" platforms: [macos, linux, windows] metadata: hermes: category: education tags: [education, parent, student, homework, exams, tracking, multimodal, 学习, 家长, 成绩, 作业] related_skills: [learning-planner] clawdbot: emoji: "🎓" requires: bins: [python3] os: [linux, darwin, win32]
Student Companion Agent
家长使用的学生陪伴 agent。目标不是替代老师,而是把零散的成绩、作业、课堂进度、语音、图片和文件变成可跟踪的学习画像。
When To Use
Use this skill when a parent asks to:
Operating Principles
subject + knowledge_point 聚合,避免只按总分判断。Quick Start
The deterministic helper lives at scripts/student_companion.py.
python3 scripts/student_companion.py init --student 小明 --grade 五年级 --goal "数学稳定 90+"
python3 scripts/student_companion.py record score --student 小明 --subject 数学 --title "期中考试" --score 78 --max-score 100 --knowledge "分数应用题,单位换算"
python3 scripts/student_companion.py record homework --student 小明 --subject 数学 --title "周三作业" --status needs_review --knowledge "分数应用题" --notes "应用题第 4、6 题错"
python3 scripts/student_companion.py analyze --student 小明
python3 scripts/student_companion.py report --student 小明 --output reports/xiaoming-weekly.md
By default data is stored in ~/.local/share/student-companion-agent/student-data.json.
Use --data /path/to/student-data.json when you need a project-local or test database.
Parent Workflow
1. 收集输入
- Ask for the student's name/grade if unknown.
- Accept text, voice, image, spreadsheet, PDF, CSV, JSON, Markdown, or TXT.
- For image or voice input, extract the visible/spoken facts first, then record both the extracted text and source path with record evidence.
- For structured files, prefer import over manually rewriting rows.
2. 标准化记录 - Scores: subject, title, date, score, max score, knowledge points. - Homework: subject, title, date, status, knowledge points, notes. - Teaching progress: subject, unit, status, knowledge points, notes. - Evidence: source type, source path, extracted text, related subject.
3. 分析薄弱点
- Run analyze after new data is recorded.
- Focus on high-severity knowledge points with repeated evidence, not one isolated low score.
- Explain whether the weakness comes from scores, homework errors, unfinished progress, or teacher notes.
4. 给教学建议 - Separate parent actions from teacher/tutor suggestions. - Keep suggestions specific: what to practice, how long, what evidence proves improvement. - Prefer short routines parents can run at home: 10-20 minutes, 2-4 times per week.
5. 跟踪
- Convert advice into follow-up actions with followup add.
- At the next check-in, compare new records against the old weak points.
- Mark completed actions with followup complete only after evidence is collected.
Multimodal Handling
OpenClaw/Hermes may receive attachments through chat gateways, browser tools, or local files. Use this rule:
| Input | Agent action | CLI action |
| --- | --- | --- |
| Voice note | Transcribe or summarize spoken facts. Include uncertainty. | record evidence --source-type audio --extracted-text ... |
| Test paper image | Extract subject, score, question errors, and visible knowledge points. | record evidence --source-type image ..., then record score if score is reliable |
| Homework photo | Extract completion status, wrong questions, teacher marks. | record homework plus optional record evidence |
| CSV/JSON | Use structured import. | import |
| PDF/DOC/XLSX | Extract or convert relevant tables/text first. | record evidence or generated CSV/JSON import |
Do not pretend OCR/STT is exact. If text is unclear, say what is uncertain and ask for confirmation before recording a score.
CLI Reference
# profile
python3 scripts/student_companion.py init --student NAME [--grade GRADE] [--school SCHOOL] [--goal GOAL]
python3 scripts/student_companion.py --data ./student-data.json init --student NAME
python3 scripts/student_companion.py status --student NAMErecord facts
python3 scripts/student_companion.py record score --student NAME --subject SUBJECT --title TITLE --score N --max-score N --knowledge "A,B"
python3 scripts/student_companion.py record homework --student NAME --subject SUBJECT --title TITLE --status completed|needs_review|missing|late --knowledge "A,B"
python3 scripts/student_companion.py record progress --student NAME --subject SUBJECT --unit UNIT --status not_started|learning|blocked|reviewing|mastered --knowledge "A,B"
python3 scripts/student_companion.py record evidence --student NAME --source-type image|audio|file|text --source-path PATH --extracted-text TEXTbulk import
python3 scripts/student_companion.py import examples/sample_records.csv --student NAME
python3 scripts/student_companion.py import examples/sample_records.json --student NAMEanalysis and reporting
python3 scripts/student_companion.py analyze --student NAME [--days 30] [--format markdown|json]
python3 scripts/student_companion.py report --student NAME --output weekly.mdtracking
python3 scripts/student_companion.py followup add --student NAME --subject SUBJECT --knowledge "知识点" --action "本周练 10 道分数应用题" --due 2026-05-09
python3 scripts/student_companion.py followup list --student NAME
python3 scripts/student_companion.py followup complete --student NAME --id 1
Output Expectations
A useful answer to the parent should include:
Verification
Before claiming the agent package is ready:
python3 scripts/student_companion.py --helppython3 -m unittest discover -s testsbash scripts/verify.shSKILL.md frontmatter has name and description.clawhub.json, package.json, and README.md point to the same package name and version.⚡ When to Use
💡 Examples
The deterministic helper lives at scripts/student_companion.py.
python3 scripts/student_companion.py init --student 小明 --grade 五年级 --goal "数学稳定 90+"
python3 scripts/student_companion.py record score --student 小明 --subject 数学 --title "期中考试" --score 78 --max-score 100 --knowledge "分数应用题,单位换算"
python3 scripts/student_companion.py record homework --student 小明 --subject 数学 --title "周三作业" --status needs_review --knowledge "分数应用题" --notes "应用题第 4、6 题错"
python3 scripts/student_companion.py analyze --student 小明
python3 scripts/student_companion.py report --student 小明 --output reports/xiaoming-weekly.md
By default data is stored in ~/.local/share/student-companion-agent/student-data.json.
Use --data /path/to/student-data.json when you need a project-local or test database.