Personal Tutor
/install personal-tutor
Personal Tutor โ Full-Cycle Learning Management / ๅ จๆต็จๅญฆไน ็ฎก็็ณป็ป
Overview / ๆฆ่ฟฐ
Personal Tutor turns every learning session into structured, searchable, long-term knowledge. It handles three scenarios / ไธไธชๅบๆฏ๏ผ
- Start a new subject / ๅผๅฏๆฐๅญฆ็ง โ create syllabus, learning log, config entries
- Daily lesson / ๆฏๆฅไธ่ฏพ โ review โ teach โ quiz โ prompt to archive
- Post-lesson archive / ่ฏพๅๅฝๆกฃ โ update 6 layers: log, syllabus, memory, knowledge base, index, config
First-Run Onboarding / ้ฆๆฌก่ฎพ็ฝฎๅผๅฏผ
Before executing any workflow, check for a config file at:
{workspace}/.personal-tutor-config.json
If it does not exist, run the onboarding flow / ๅฆไธๅญๅจๅ่ฟ่กๅผๅฏผๆต็จ๏ผ
Onboarding Flow / ๅผๅฏผ้ฎ้ข
Ask the user these questions (one at a time, or all at once if they prefer)๏ผ
-
Learning root directory / ๅญฆไน ่ตๆๆ น็ฎๅฝ โ Where should subject folders be stored?
- Example:
D:\Learning\or~/Documents/Learning/ - This is where syllabus files and learning logs live.
- Example:
-
Knowledge base tool / ็ฅ่ฏๅบๅทฅๅ ท โ What do you use for long-term notes?
obsidianโ wikilinks ([[link]]), vault-basedplainโ standard Markdown, folder-based / ็บฏๆไปถๅคนnotionโ notes only (API integration not included)noneโ skip concept archiving entirely / ่ทณ่ฟๆฆๅฟตๅฝๆกฃ
-
Knowledge base path / ็ฅ่ฏๅบ่ทฏๅพ (if tool โ
none) โ Where is your vault/notes root?- Example:
D:\Obsidian\MyVault\or~/Notes/
- Example:
-
Archive depth / ๅฝๆกฃๆทฑๅบฆ โ How thorough should post-lesson archiving be?
lightโ update log + syllabus + memory only / ไป ๆดๆฐ่ฎฐๅฝ+ๅคง็บฒ+่ฎฐๅฟfullโ light + extract concepts to knowledge base + refresh index / ๅฎๆดๅฝๆกฃๅซๆฆๅฟตๅ ฅๅบ+็ดขๅผๅทๆฐ
-
Preferred language / ๅ ๅฎน่ฏญ่จ โ
zh(Chinese),en(English),zh-en(bilingual / ไธญ่ฑๅ่ฏญ), orauto(follow user's language) -
Knowledge base schema / ็ฅ่ฏๅบ่งๅๆไปถ (if tool =
obsidianorplain) โ Do you have a rules file that defines how concepts should be structured, named, and linked?- If yes, provide the path (e.g.,
D:\Notes\WIKI-SCHEMA.md). This file will be read before every concept extraction and its rules take priority over built-in defaults. - If no, the built-in Knowledge Base Rules (see section below) will be used.
- If yes, provide the path (e.g.,
Config File Schema / ้ ็ฝฎๆไปถ็ปๆ
After onboarding, create:
{
"version": "1.0",
"learningRoot": "/path/to/learning/",
"knowledgeBase": {
"tool": "obsidian",
"path": "/path/to/vault/",
"schemaPath": "/path/to/WIKI-SCHEMA.md"
},
"archiveDepth": "full",
"language": "auto",
"subjects": {}
}
The subjects field will be populated as new subjects are added.
Scenario 1: Starting a New Subject / ๅบๆฏไธ๏ผๅผๅฏๆฐๅญฆ็ง
Trigger / ่งฆๅๆกไปถ
User says "start learning [subject name]" or "open a new subject: [name]"ใ ไธญๆ่งฆๅ๏ผ"ๅผๅฏ[ๅญฆ็งๅ]ๅญฆไน "ใ"ๆฐๅปบๅญฆ็ง[ๅญฆ็งๅ]"ใ
Workflow / ๅทฅไฝๆต
-
Read config / ่ฏปๅ้ ็ฝฎ โ Load
.personal-tutor-config.jsonto getlearningRootand preferences. -
Detect category structure / ๆฃๆตๅ็ฑป็ปๆ โ Scan
{learningRoot}/for existing subdirectories:- If subdirectories exist (e.g.,
ๅคงๅญฆไธไธ็ฅ่ฏ/,่ไธๅๅฑ/,Academic/,Professional/), they are treated as categories / ๅ็ฑปใPresent them to the user and ask which one the new subject belongs to. If none fit, offer to create a new category. - If
{learningRoot}/is flat (no subdirectories), the subject goes directly under{learningRoot}/. - Store the chosen category in the subject's config entry as
category.
- If subdirectories exist (e.g.,
-
Create subject directory / ๅๅปบๅญฆ็ง็ฎๅฝ โ Under
{learningRoot}/{category}/(or{learningRoot}/if no category), create a folder named after the subject. -
Create syllabus file / ๅๅปบๆๅญฆๅคง็บฒ โ
{learningRoot}/{category}/{subject}/syllabus.md- Content: subject overview, learning objectives, phased plan (by day/week), key topics per phase, estimated completion, expected outcomes.
- If the user provides specific goals or a textbook, incorporate them.
- Leave the first phase/day marked as
โณ Pending / ๅพ ๅญฆ.
-
Create learning log file / ๅๅปบๅญฆไน ่ฎฐๅฝ โ
{learningRoot}/{category}/{subject}/learning-log.md- Content: an empty tracking table with columns: Date | Content | Mastery | Issues | Next
- Initial entry: today's date, "Subject initialized", N/A, "None", "Day 1 โ start learning"
-
Update config / ๆดๆฐ้ ็ฝฎ โ Add to
subjects:"subject-name": { "currentDay": 1, "category": "ๅคงๅญฆไธไธ็ฅ่ฏ", "syllabusPath": "{learningRoot}/{category}/{subject}/syllabus.md", "logPath": "{learningRoot}/{category}/{subject}/learning-log.md", "status": "active", "startedAt": "YYYY-MM-DD" } -
Update memory / ๆดๆฐ่ฎฐๅฟ โ If the agent has a memory system (MEMORY.md or equivalent), record the new subject there.
-
Create knowledge base folder / ๅๅปบ็ฅ่ฏๅบๆไปถๅคน (if
archiveDepth=fullandknowledgeBase.toolโnone) โ Create an empty subject folder under{knowledgeBase.path}/if it doesn't exist. -
Report / ๆฑๆฅ (output in configured language๏ผๆ้ ็ฝฎ่ฏญ่จ่พๅบ):
โ
New subject "[Subject Name]" is ready. / ๆฐๅญฆ็ง"[ๅญฆ็งๅ]"ๅทฒๅผๅฏใ
Created / ๅทฒๅๅปบ๏ผ
๐ Syllabus: {category}/{subject}/syllabus.md
๐ Learning log: {category}/{subject}/learning-log.md
โ๏ธ Config updated / ้
็ฝฎๅทฒๆดๆฐ
You're all set for Day 1. Say "start learning [subject]" when ready.
Scenario 2: Daily Lesson / ๅบๆฏไบ๏ผๆฏๆฅไธ่ฏพ
Trigger / ่งฆๅๆกไปถ
User says "start learning [subject]" or "continue [subject]"ใ ไธญๆ่งฆๅ๏ผ"ๅผๅง[ๅญฆ็งๅ]ๅญฆไน "ใ"็ปง็ปญ[ๅญฆ็งๅ]ๅญฆไน "ใ
Workflow / ๅทฅไฝๆต
-
Read config / ่ฏปๅ้ ็ฝฎ โ Load current progress from
.personal-tutor-config.json. -
Read syllabus and log / ่ฏปๅๅคง็บฒไธ่ฎฐๅฝ โ Load
syllabus.mdandlearning-log.mdto understand where we are. -
Review previous lesson / ๅ้กพไธ่่ฏพ โ Briefly summarize the last session's core content (read from the learning log). Keep it under 3 bullet points.
-
Teach new content / ่ฎฒๆๆฐ็ฅ โ Deliver the next topic(s) according to the syllabus. Follow these teaching principles:
- Start with "why this matters" before "how it works" / ๅ ่ฎฒ"ไธบไปไน้่ฆ"ๅ่ฎฒ"ๆไน่ฟไฝ"
- Use concrete examples before abstract definitions / ็จๅ ทไฝไพๅญๅผๅฏผๆฝ่ฑกๅฎไน
- Break complex topics into digestible chunks / ๆๅคๆ่ฏ้ขๆๆๅฏๆถๅ็ๆจกๅ
- Pause for questions between major sections / ๅคงๆฎต่ฝไน้ดไธปๅจ่ฏข้ฎ
-
Interactive check / ไบๅจๆต้ช (if applicable to the subject) โ Ask 2-5 questions to verify understanding. Wait for user's answers, then give feedback and corrections.
-
Session notes / ่ฏพๅ ่ฎฐๅฝ โ Mentally record: what was covered, what the user struggled with, what needs review.
-
Post-Lesson Self-Verification / ่ฏพๅ่ชๆฅ๏ผๅผบๅถๆง่ก๏ผ โ Before telling the user the lesson is complete, run the Post-Lesson Self-Verification Protocol (see dedicated section below). If any layer is missing, fix it immediately. Do NOT say "lesson complete" / "ๅญฆๅฎไบ" / "done" until all layers pass.
-
End prompt / ่ฏพๅ ็ปๆ่ฏญ (only after self-verification passes, output in configured language):
๐ Today's lesson on [Subject] (Day [N]) is complete. / ไปๆฅ่ฏพ็จๅฎๆใ
Covered / ๅ
ๅฎน: [brief summary]
Mastery / ๆๆก: [assessment]
Issues / ้ฎ้ข: [any problems noted]
โ
Archive verified / ๅฝๆกฃ่ชๆฃ:
๐ Learning records: updated
๐ง Knowledge base: [N concepts created/updated, or "no changes"]
โ๏ธ Config: updated
Ready for Day [N+1]! / ๅๅคๅฅฝไธไธ่ฏพไบ๏ผ
Scenario 3: Post-Lesson Archive / ๅบๆฏไธ๏ผ่ฏพๅๅฝๆกฃ
Trigger / ่งฆๅๆกไปถ
User says "update learning records" or "archive today's learning"ใ ไธญๆ่งฆๅ๏ผ"ๆดๆฐๅญฆไน ่ฎฐๅฝ"ใ"ๅฝๆกฃไปๅคฉ็ๅญฆไน "ใ
Workflow / ๅทฅไฝๆต
This is the most important scenario โ it turns a conversation into permanent knowledge. ่ฟๆฏๆๅ ณ้ฎ็ๆญฅ้ชคโโๆๅฏน่ฏๅๆๆฐธไน ็ฅ่ฏใ
Step 1: Update Learning Log / ๆดๆฐๅญฆไน ่ฎฐๅฝ
Append to the learning log (path from config):
## Day [N] โ YYYY-MM-DD
**Content / ๅ
ๅฎน:** [summary of what was covered]
**Mastery / ๆๆก็จๅบฆ:** [good / okay / needs review]
**Quiz results / ๆต้ชๆ็ปฉ:** [scores & wrong answers if applicable]
**Issues / ้ๅฐ้ฎ้ข:** [concepts the user struggled with]
**Next / ไธไธๆญฅ:** Day [N+1] โ [next topic from syllabus]
Step 2: Update Syllabus Progress / ๆดๆฐๅคง็บฒ่ฟๅบฆ
In syllabus.md, mark the current phase/day as โ
Complete / ๅฎๆ. If a milestone was reached, note it.
Step 3: Update Config / ๆดๆฐ้ ็ฝฎ
In .personal-tutor-config.json, update:
"subject-name": {
"currentDay": N+1,
...
}
Step 4: Update Memory / ๆดๆฐ่ฎฐๅฟ
If the agent has a memory system, update it with the subject's new progress.
Step 5: Extract Concepts to Knowledge Base / ๆๅๆฆๅฟตๅ ฅๅบ
Only if archiveDepth = full and knowledgeBase.tool โ none.
Follow the Knowledge Base Rules section below. If a custom schemaPath is configured, read that file first โ its rules take priority over built-in defaults.
ไปๅฝๆฅ่ฏพ็จๆ็ผๆ ธๅฟๆฆๅฟต๏ผไธฅๆ ผๆ็ งไธๆนใ็ฅ่ฏๅบ่งๅใ็ซ ่ๆง่กใๅฆ้ ็ฝฎไบ่ชๅฎไน schema ๆไปถ๏ผๅ ่ฏปๅๅฎโโๅ ถ่งๅ่ฆ็ๅ ็ฝฎ้ป่ฎคใ
If no new concepts were introduced: note this in the report / ๅฆๆ ๆฐๆฆๅฟต๏ผๅจๆฑๆฅไธญ่ฏดๆใ
Step 6: Report / ๆฑๆฅ (output in configured language)
โ
Learning records updated. / ๅญฆไน ่ฎฐๅฝๅทฒๆดๆฐใ
๐ Subject: [Subject Name]
๐ Progress: Day [N] โ Day [N+1]
๐ New concepts: [list, or "none"]
๐ Archived to: {path}
๐ง Knowledge base: [updated / no changes]
โ๏ธ Config updated / ้
็ฝฎๅทฒๆดๆฐ
Post-Lesson Self-Verification Protocol / ่ฏพๅ่ชๆฅๅ่ฎฎ๏ผv1.0.1 ๆฐๅข๏ผ
๐จ THIS IS A RED LINE. DO NOT CROSS IT. ่ฟๆฏ็บข็บฟใไธๅฏ่ถ็ใ
Every agent that teaches a lesson via this skill MUST self-verify all three layers below before telling the user "lesson complete" ("ๅญฆๅฎไบ"/"done"/etc). If any layer is missing, you are NOT done. There is no exception. There is no "I'll do it later." Fix the gap now.
ๆฏไธชไฝฟ็จๆญค skill ๆ่ฏพ็ agent๏ผๅจๅ่ฏ็จๆท"ๅญฆๅฎไบ"ไนๅ๏ผๅฟ ้กป่ชๆฃไปฅไธไธๅฑใๅฐไธๅฑๅฐฑไธๆฏ"ๅญฆๅฎไบ"ใๆฒกๆไพๅคใๆฒกๆ"ๅพ ไผ่กฅ"ใ็ฐๅจไฟฎใ
After every lesson (whether triggered via Scenario 2 or via the agent's own workflow), the agent MUST self-verify the following three layers before declaring the session complete:
The Three-Layer Verification / ไธๅฑ้ช่ฏ
| # | Layer / ๅฑ | What to check / ๆฃๆฅๅ ๅฎน | How to verify / ้ช่ฏๆนๅผ |
|---|---|---|---|
| 1 | ๐ Learning Records / ๅญฆไน ่ฎฐๅฝ | Learning log appended with new knowledge + quiz results; syllabus marked as complete | Read the last few lines of the log file; check syllabus for โ mark |
| 2 | ๐ง Agent Memory / ๆบ่ฝไฝ่ฎฐๅฟ | MEMORY.md or equivalent updated with current progress | Read the subject's progress line in memory |
| 3 | ๐ Knowledge Base / ็ฅ่ฏๅบ | Each core concept has its own .md file with proper frontmatter, bilingual content, and wikilinks |
List files in the subject's knowledge base folder; verify new files exist and are non-empty |
Self-Check Mantra / ่ชๆฅๅฃ่ฏ
Before saying anything that means "done", mentally run this checklist:
1๏ธโฃ D็/Learning records โ โ
?
2๏ธโฃ Agent memory โ โ
?
3๏ธโฃ Knowledge base โ โ
?
โ All three checked? NOW you can say "lesson complete."
When to skip Layer 3 / ไฝๆถๅฏ่ทณ่ฟ็ฌฌไธๅฑ
Only skip knowledge base archiving if:
archiveDepthis set tolight(notfull), ORknowledgeBase.toolis set tonone, OR- The lesson was pure review with zero new concepts introduced
In all other cases, Layer 3 is mandatory.
Failure Recovery / ๆ ้ๆขๅค
If any verification fails:
- Do NOT tell the user the lesson is complete โ fix the gap first
- If the gap cannot be fixed (e.g., missing path), report it to the user with a clear description
- Record the failure in the learning log so the next session can catch up
If the user catches you skipping a layer (they will notice):
- Stop immediately. Do not argue. Do not defend.
- Fix the missing layer right there.
- Record this as a lesson learned โ update your own rules (SOUL.md, TOOLS.md, etc.) to make it harder to skip next time.
Multi-Agent Guarantee / ๅคๆบ่ฝไฝไฟ้
This protocol is designed for environments where different agents may handle different sessions. Each agent is independently responsible for completing all three layers. Do not assume a previous agent already did it โ verify.
Knowledge Base Rules / ็ฅ่ฏๅบ่งๅ๏ผๅ ็ฝฎ้ป่ฎค๏ผ
โ ๏ธ If a custom
schemaPathis configured, read that file before every concept extraction โ its rules take priority over the defaults below. ๅฆ้ ็ฝฎไบ่ชๅฎไน schema ๆไปถ๏ผๆฏๆฌกๆๅๆฆๅฟตๅๅ ่ฏปๅๅฎโโๅ ถ่งๅไผๅ ไบไปฅไธ้ป่ฎคใ
When extracting concepts from a lesson, follow these rules strictly: ไป่ฏพ็จๆ็ผๆฆๅฟตๆถ๏ผไธฅๆ ผ้ตๅพชไปฅไธ่งๅ๏ผ
1. One Concept = One File / ไธไธชๆฆๅฟตไธไธชๆไปถ
- Each core concept gets its own
.mdfile. Never bundle multiple concepts into one file. - File name format:
{NN}-{ConceptName}.md(e.g.,01-Derivative.md,01-ๅฏผๆฐ.md) - Use a numbered prefix to maintain sort order within the folder.
- Place files in the appropriate subject folder under
{knowledgeBase.path}/.
2. File Format / ๆไปถๆ ผๅผ
Every concept file must include:
---
aliases:
- ConceptName
- ๅซๅ1
- ๅซๅ2
---
# ConceptName / ๆฆๅฟตๅ
> One-line summary. ไธๅฅ่ฏๆฆ่ฟฐใ
## Core Content / ๆ ธๅฟๅ
ๅฎน
...
## Related / ๅ
ณ่
- [[path/to/related-concept|Related Concept]] โ relationship description
- YAML frontmatter with
aliasesโ list synonyms and translations for searchability - Output language follows the user's configured
languagesetting - If
language=zh-en, output bilingual (Chinese + English)
3. Naming & Linking / ๅฝๅไธ้พๆฅ
Obsidian (wikilink) mode:
- Use
[[full/path/to/file|Display Name]]format โ full path from vault root, pipe (|) without spaces - Always reference the numbered filename (e.g.,
[[01-Derivative]], not[[Derivative]]) - Cross-discipline links:
[[OtherFolder/SomeFile|Display]]
Plain Markdown mode:
- Use standard relative links:
[Display Name](../folder/file.md)
Bidirectional linking / ๅๅ้พๆฅ:
- If A links to B, also add a backlink from B to A (create or update B's file)
- Tag cross-discipline links with type hints:
๐ก ๆนๆณๅ้ด(method reference),๐ก ๆ็ปดๆจกๅ็ฑปๆฏ(mental model analogy)
4. Duplicate Detection / ๅป้ๆฃๆฅ
Before creating any new file, check for existing content:
- Search for files with the same or similar name (including
aliasesin frontmatter) - If an exact match exists โ add a wikilink to it, do NOT create a duplicate / ๅทฒๅญๅจๅไธๆฐๅปบ๏ผ็ดๆฅๅผ็จ
- If partial overlap โ enrich the existing file with new content, do NOT create a duplicate / ้จๅ้ๅ ๅ่กฅๅ ๅทฒๆๆไปถ
- If contradictory content found โ mark
โ ๏ธ ๅพ ็กฎ่ฎคand flag to the user / ๅ็ฐ็็พๅๆ ่ฎฐๅพ ็กฎ่ฎค
5. Index & Outline Updates / ็ดขๅผไธๆป็บฒๆดๆฐ
If the knowledge base has an index file (e.g., 00_ๆฆๅฟต็ดขๅผ.md) or subject outlines (e.g., XX-XXXๆป็บฒ.md):
- Add new concepts to the index under the correct subject
- Update the subject outline to include new concept entries with correct wikilink paths
- Verify that outline links point to actual files on disk
- If the knowledge base has a link-checking script, run it after major updates
6. Post-Archive Verification / ๅฝๆกฃๅ้ช่ฏ
After creating or modifying knowledge base files:
- Verify all new wikilinks resolve to existing files
- Check numbering consistency within the subject folder (no gaps or collisions)
- Report any broken links or inconsistencies to the user
Configuration Reference / ้ ็ฝฎๅ่
.personal-tutor-config.json
| Field | Type | Description |
|---|---|---|
version |
string | Config schema version ("1.0") |
learningRoot |
string | Absolute path to the learning directory / ๅญฆไน ่ตๆๆ น็ฎๅฝ |
knowledgeBase.tool |
string | "obsidian" / "plain" / "notion" / "none" |
knowledgeBase.path |
string | Absolute path to vault/notes root / ็ฅ่ฏๅบ่ทฏๅพ |
knowledgeBase.schemaPath |
string | (Optional) Path to custom knowledge base rules file / ่ชๅฎไน่งๅๆไปถ่ทฏๅพ |
archiveDepth |
string | "light" (log + syllabus + memory) or "full" (includes knowledge base + index) |
language |
string | "zh" / "en" / "zh-en" / "auto" |
subjects |
object | Keyed by subject name, each containing currentDay, category, syllabusPath, logPath, status, startedAt |
Directory Structure / ็ฎๅฝ็ปๆ (after setup)
{learningRoot}/
โโโ {Category/ๅ็ฑป}/
โ โโโ {Subject Name/ๅญฆ็งๅ}/
โ โ โโโ syllabus.md
โ โ โโโ learning-log.md
โ โโโ {Another Subject}/
โ โโโ syllabus.md
โ โโโ learning-log.md
โโโ {Another Category}/
โ โโโ ...
โโโ ...
{knowledgeBase.path}/
โโโ {Subject Name}/
โ โโโ 01-concept.md
โ โโโ 02-concept.md
โ โโโ ...
โโโ (existing vault structure preserved / ็ฐๆ็ปๆไฟ็)
Design Principles / ่ฎพ่ฎกๅๅ
- Progressive disclosure / ๆธ่ฟๅฑๅผ โ Lightweight onboarding, fully optional deep features
- Tool-agnostic / ๅทฅๅ ทๆ ๅ ณ โ Works with Obsidian, plain folders, or no knowledge base at all
- Conversation-first / ๅฏน่ฏไผๅ โ The lesson happens in chat; the skill handles the paperwork behind the scenes
- Incremental / ๅข้ๅผ โ Each day builds on the last; the log and syllabus grow together
- Non-destructive / ้็ ดๅๆง โ Never overwrite existing knowledge base content; always check for duplicates first
- Language-respecting / ่ฏญ่จ่ช้ๅบ โ Follow the user's configured language for all generated content
Common Edge Cases / ๅธธ่ง่พน็ผๆ ๅต
| Situation / ๆ ๅต | Handling / ๅค็ๆนๅผ |
|---|---|
| User forgot which day they're on / ๅฟ่ฎฐๅญฆๅฐๅชไบ | Read config โ currentDay, confirm with user |
| User wants to skip ahead / ๆณ่ทณ่ฟๆๅคฉ | Update config to the new day, note in log |
| User restarted a subject from scratch / ้ๅฏๅญฆ็ง | Archive old log (rename with date suffix), create fresh files |
| Multiple subjects in one session / ๅไธไผ่ฏๅคๅญฆ็งๅๆข | Process each archive command independently |
Knowledge base tool is none / ๆช้
็ฝฎ็ฅ่ฏๅบ |
Silently skip Steps 5-6 in Scenario 3 |
| Config file is corrupted/missing / ้ ็ฝฎๆไปถๆๅๆ็ผบๅคฑ | Re-run onboarding; old learning files are preserved |
| Subject name has special characters / ๅญฆ็งๅๅซ็นๆฎๅญ็ฌฆ | Sanitize for filesystem: replace \x3C>:"/|?* with - |
| Agent skipped knowledge base update / Agent ๆผไบ็ฅ่ฏๅบๅฝๆกฃ | v1.0.1 ๆฐๅขใThis is the most common failure mode. Recovery: (1) Check if the subject folder exists at {knowledgeBase.path}; (2) Read the latest learning log to identify which concepts were taught; (3) Create/update .md files for each missing concept; (4) Run Post-Lesson Self-Verification Protocol; (5) This failure suggests the agent DID read the skill but skipped verification โ after recovery, the agent should update its local rules (SOUL.md, TOOLS.md, etc.) to prevent recurrence. |
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install personal-tutor - After installation, invoke the skill by name or use
/personal-tutor - Provide required inputs per the skill's parameter spec and get structured output
What is Personal Tutor?
๐ Personal Tutor โ Your private AI learning coach. ไฝ ็็งไบบAIๅญฆไน ๅฏผๅธใ Formerly knowledge-digest, now rebranded and upgraded to v1.0.1. ๅๅ knowledge-digest๏ผ็ฐๅทฒๅ จ้ขๅ็บงไธบ... It is an AI Agent Skill for Claude Code / OpenClaw, with 38 downloads so far.
How do I install Personal Tutor?
Run "/install personal-tutor" in the OpenClaw or Claude Code chat to install it in one step โ no extra setup required.
Is Personal Tutor free?
Yes, Personal Tutor is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Personal Tutor support?
Personal Tutor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Personal Tutor?
It is built and maintained by ็็ฑณๅฅ (@ben61405); the current version is v1.0.3.