lifeos 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +202 -0
- package/README.md +202 -0
- package/assets/lifeos-rules.en.md +162 -0
- package/assets/lifeos-rules.zh.md +162 -0
- package/assets/lifeos.yaml +56 -0
- package/assets/prompts/AI_LLMResearch_Prompt.en.md +120 -0
- package/assets/prompts/AI_LLMResearch_Prompt.zh.md +120 -0
- package/assets/prompts/Art_ChinesePainting_Prompt.en.md +147 -0
- package/assets/prompts/Art_ChinesePainting_Prompt.zh.md +148 -0
- package/assets/prompts/Cryptography_Prompt.en.md +148 -0
- package/assets/prompts/Cryptography_Prompt.zh.md +147 -0
- package/assets/prompts/History_ChineseCulture_Prompt.en.md +98 -0
- package/assets/prompts/History_ChineseCulture_Prompt.zh.md +98 -0
- package/assets/prompts/Math_HigherMathematics_Prompt.en.md +117 -0
- package/assets/prompts/Math_HigherMathematics_Prompt.zh.md +116 -0
- package/assets/schema/Frontmatter_Schema.md +139 -0
- package/assets/skills/_shared/completion-report.en.md +30 -0
- package/assets/skills/_shared/completion-report.zh.md +30 -0
- package/assets/skills/_shared/dual-agent-orchestrator.en.md +40 -0
- package/assets/skills/_shared/dual-agent-orchestrator.zh.md +40 -0
- package/assets/skills/_shared/learning-lifecycle.en.md +53 -0
- package/assets/skills/_shared/learning-lifecycle.zh.md +53 -0
- package/assets/skills/_shared/lifecycle.en.md +84 -0
- package/assets/skills/_shared/lifecycle.zh.md +84 -0
- package/assets/skills/_shared/memory-protocol.en.md +36 -0
- package/assets/skills/_shared/memory-protocol.zh.md +36 -0
- package/assets/skills/_shared/template-loading.en.md +26 -0
- package/assets/skills/_shared/template-loading.zh.md +26 -0
- package/assets/skills/archive/SKILL.en.md +300 -0
- package/assets/skills/archive/SKILL.zh.md +300 -0
- package/assets/skills/ask/SKILL.en.md +164 -0
- package/assets/skills/ask/SKILL.zh.md +164 -0
- package/assets/skills/brainstorm/SKILL.en.md +242 -0
- package/assets/skills/brainstorm/SKILL.zh.md +242 -0
- package/assets/skills/brainstorm/references/action-options.en.md +65 -0
- package/assets/skills/brainstorm/references/action-options.zh.md +65 -0
- package/assets/skills/knowledge/SKILL.en.md +202 -0
- package/assets/skills/knowledge/SKILL.zh.md +202 -0
- package/assets/skills/project/SKILL.en.md +133 -0
- package/assets/skills/project/SKILL.zh.md +133 -0
- package/assets/skills/project/references/execution-agent-prompt.en.md +148 -0
- package/assets/skills/project/references/execution-agent-prompt.zh.md +148 -0
- package/assets/skills/project/references/planning-agent-prompt.en.md +162 -0
- package/assets/skills/project/references/planning-agent-prompt.zh.md +162 -0
- package/assets/skills/read-pdf/SKILL.en.md +199 -0
- package/assets/skills/read-pdf/SKILL.zh.md +199 -0
- package/assets/skills/read-pdf/scripts/read_pdf.py +354 -0
- package/assets/skills/research/SKILL.en.md +107 -0
- package/assets/skills/research/SKILL.zh.md +107 -0
- package/assets/skills/research/references/execution-agent-prompt.en.md +166 -0
- package/assets/skills/research/references/execution-agent-prompt.zh.md +166 -0
- package/assets/skills/research/references/planning-agent-prompt.en.md +129 -0
- package/assets/skills/research/references/planning-agent-prompt.zh.md +129 -0
- package/assets/skills/revise/SKILL.en.md +258 -0
- package/assets/skills/revise/SKILL.zh.md +258 -0
- package/assets/skills/revise/references/grading-protocol.en.md +99 -0
- package/assets/skills/revise/references/grading-protocol.zh.md +99 -0
- package/assets/skills/today/SKILL.en.md +211 -0
- package/assets/skills/today/SKILL.zh.md +211 -0
- package/assets/templates/en/Daily_Template.md +25 -0
- package/assets/templates/en/Draft_Template.md +29 -0
- package/assets/templates/en/Knowledge_Template.md +86 -0
- package/assets/templates/en/Project_Template.md +110 -0
- package/assets/templates/en/Research_Template.md +46 -0
- package/assets/templates/en/Retrospective_Template.md +89 -0
- package/assets/templates/en/Revise_Template.md +24 -0
- package/assets/templates/en/Wiki_Template.md +35 -0
- package/assets/templates/zh/Daily_Template.md +26 -0
- package/assets/templates/zh/Draft_Template.md +29 -0
- package/assets/templates/zh/Knowledge_Template.md +86 -0
- package/assets/templates/zh/Project_Template.md +110 -0
- package/assets/templates/zh/Research_Template.md +46 -0
- package/assets/templates/zh/Retrospective_Template.md +89 -0
- package/assets/templates/zh/Revise_Template.md +24 -0
- package/assets/templates/zh/Wiki_Template.md +35 -0
- package/bin/lifeos.js +24 -0
- package/dist/active-docs/citations.d.ts +20 -0
- package/dist/active-docs/citations.js +74 -0
- package/dist/active-docs/citations.js.map +1 -0
- package/dist/active-docs/derived-memory.d.ts +57 -0
- package/dist/active-docs/derived-memory.js +161 -0
- package/dist/active-docs/derived-memory.js.map +1 -0
- package/dist/active-docs/index.d.ts +51 -0
- package/dist/active-docs/index.js +165 -0
- package/dist/active-docs/index.js.map +1 -0
- package/dist/active-docs/long-term-profile.d.ts +24 -0
- package/dist/active-docs/long-term-profile.js +75 -0
- package/dist/active-docs/long-term-profile.js.map +1 -0
- package/dist/active-docs/taskboard.d.ts +12 -0
- package/dist/active-docs/taskboard.js +146 -0
- package/dist/active-docs/taskboard.js.map +1 -0
- package/dist/active-docs/userprofile.d.ts +12 -0
- package/dist/active-docs/userprofile.js +169 -0
- package/dist/active-docs/userprofile.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +9 -0
- package/dist/cli/commands/doctor.js +125 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts +1 -0
- package/dist/cli/commands/init.js +129 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/rename.d.ts +7 -0
- package/dist/cli/commands/rename.js +188 -0
- package/dist/cli/commands/rename.js.map +1 -0
- package/dist/cli/commands/upgrade.d.ts +6 -0
- package/dist/cli/commands/upgrade.js +66 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +52 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/assets.d.ts +3 -0
- package/dist/cli/utils/assets.js +20 -0
- package/dist/cli/utils/assets.js.map +1 -0
- package/dist/cli/utils/install-assets.d.ts +39 -0
- package/dist/cli/utils/install-assets.js +141 -0
- package/dist/cli/utils/install-assets.js.map +1 -0
- package/dist/cli/utils/lang.d.ts +1 -0
- package/dist/cli/utils/lang.js +32 -0
- package/dist/cli/utils/lang.js.map +1 -0
- package/dist/cli/utils/managed-assets.d.ts +9 -0
- package/dist/cli/utils/managed-assets.js +20 -0
- package/dist/cli/utils/managed-assets.js.map +1 -0
- package/dist/cli/utils/mcp-register.d.ts +2 -0
- package/dist/cli/utils/mcp-register.js +132 -0
- package/dist/cli/utils/mcp-register.js.map +1 -0
- package/dist/cli/utils/sync-vault.d.ts +14 -0
- package/dist/cli/utils/sync-vault.js +132 -0
- package/dist/cli/utils/sync-vault.js.map +1 -0
- package/dist/cli/utils/ui.d.ts +14 -0
- package/dist/cli/utils/ui.js +78 -0
- package/dist/cli/utils/ui.js.map +1 -0
- package/dist/cli/utils/version.d.ts +1 -0
- package/dist/cli/utils/version.js +4 -0
- package/dist/cli/utils/version.js.map +1 -0
- package/dist/config.d.ts +127 -0
- package/dist/config.js +356 -0
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts +106 -0
- package/dist/core.js +286 -0
- package/dist/core.js.map +1 -0
- package/dist/db/consolidation.d.ts +14 -0
- package/dist/db/consolidation.js +28 -0
- package/dist/db/consolidation.js.map +1 -0
- package/dist/db/index.d.ts +22 -0
- package/dist/db/index.js +39 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema.d.ts +7 -0
- package/dist/db/schema.js +175 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +303 -0
- package/dist/server.js.map +1 -0
- package/dist/services/capture.d.ts +101 -0
- package/dist/services/capture.js +297 -0
- package/dist/services/capture.js.map +1 -0
- package/dist/services/enhance.d.ts +51 -0
- package/dist/services/enhance.js +184 -0
- package/dist/services/enhance.js.map +1 -0
- package/dist/services/layer0.d.ts +24 -0
- package/dist/services/layer0.js +90 -0
- package/dist/services/layer0.js.map +1 -0
- package/dist/services/maintenance.d.ts +27 -0
- package/dist/services/maintenance.js +73 -0
- package/dist/services/maintenance.js.map +1 -0
- package/dist/services/retrieval.d.ts +120 -0
- package/dist/services/retrieval.js +571 -0
- package/dist/services/retrieval.js.map +1 -0
- package/dist/services/startup.d.ts +28 -0
- package/dist/services/startup.js +112 -0
- package/dist/services/startup.js.map +1 -0
- package/dist/skill-context/ask-global.d.ts +8 -0
- package/dist/skill-context/ask-global.js +21 -0
- package/dist/skill-context/ask-global.js.map +1 -0
- package/dist/skill-context/base.d.ts +48 -0
- package/dist/skill-context/base.js +5 -0
- package/dist/skill-context/base.js.map +1 -0
- package/dist/skill-context/daily-global.d.ts +8 -0
- package/dist/skill-context/daily-global.js +25 -0
- package/dist/skill-context/daily-global.js.map +1 -0
- package/dist/skill-context/index.d.ts +32 -0
- package/dist/skill-context/index.js +171 -0
- package/dist/skill-context/index.js.map +1 -0
- package/dist/skill-context/knowledge-strict.d.ts +8 -0
- package/dist/skill-context/knowledge-strict.js +26 -0
- package/dist/skill-context/knowledge-strict.js.map +1 -0
- package/dist/skill-context/review-strict.d.ts +8 -0
- package/dist/skill-context/review-strict.js +26 -0
- package/dist/skill-context/review-strict.js.map +1 -0
- package/dist/skill-context/revise-strict.d.ts +8 -0
- package/dist/skill-context/revise-strict.js +26 -0
- package/dist/skill-context/revise-strict.js.map +1 -0
- package/dist/skill-context/seed-profiles.d.ts +21 -0
- package/dist/skill-context/seed-profiles.js +80 -0
- package/dist/skill-context/seed-profiles.js.map +1 -0
- package/dist/types.d.ts +165 -0
- package/dist/types.js +76 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/context-policy.d.ts +57 -0
- package/dist/utils/context-policy.js +333 -0
- package/dist/utils/context-policy.js.map +1 -0
- package/dist/utils/scan-state.d.ts +41 -0
- package/dist/utils/scan-state.js +79 -0
- package/dist/utils/scan-state.js.map +1 -0
- package/dist/utils/segmenter.d.ts +19 -0
- package/dist/utils/segmenter.js +75 -0
- package/dist/utils/segmenter.js.map +1 -0
- package/dist/utils/shared.d.ts +103 -0
- package/dist/utils/shared.js +313 -0
- package/dist/utils/shared.js.map +1 -0
- package/dist/utils/vault-indexer.d.ts +53 -0
- package/dist/utils/vault-indexer.js +256 -0
- package/dist/utils/vault-indexer.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: revise
|
|
3
|
+
description: "Conduct active recall review of existing knowledge notes. Generates review files (.md) for the user to answer, then triggers grading upon completion, automatically updating note status (draft\u2192review\u2192mastered) and project mastery levels. Supports three modes: quiz mode (application questions), Feynman mode (explain concepts in own words), blind spot scan (self-assess mastery). Use this skill when the user wants to review, test mastery, or says '/revise'. Triggers grading flow when user says 'grade' or 'mark my review'."
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
dependencies:
|
|
6
|
+
templates:
|
|
7
|
+
- path: "{system directory}/{templates subdirectory}/Revise_Template.md"
|
|
8
|
+
prompts: []
|
|
9
|
+
schemas:
|
|
10
|
+
- path: "{system directory}/{schema subdirectory}/Frontmatter_Schema.md"
|
|
11
|
+
agents: []
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
> [!config]
|
|
15
|
+
> Path references in this skill use logical names (e.g., `{knowledge directory}`).
|
|
16
|
+
> The Orchestrator resolves actual paths from `lifeos.yaml` and injects them into the context.
|
|
17
|
+
> Path mappings:
|
|
18
|
+
> - `{diary directory}` → directories.diary
|
|
19
|
+
> - `{projects directory}` → directories.projects
|
|
20
|
+
> - `{knowledge directory}` → directories.knowledge
|
|
21
|
+
> - `{system directory}` → directories.system
|
|
22
|
+
> - `{notes subdirectory}` → subdirectories.knowledge.notes
|
|
23
|
+
> - `{templates subdirectory}` → subdirectories.system.templates
|
|
24
|
+
> - `{schema subdirectory}` → subdirectories.system.schema
|
|
25
|
+
|
|
26
|
+
You are LifeOS's review coach, helping users consolidate learned knowledge through active recall testing. You focus questions on understanding and application rather than rote memorization, provide balanced feedback on correct and weak areas during grading, and automatically maintain note mastery status.
|
|
27
|
+
|
|
28
|
+
# Goal
|
|
29
|
+
|
|
30
|
+
Help the user perform active recall reviews on existing notes in `{knowledge directory}/`. Generate review files (`.md`) where users answer within the file (supporting math derivations, code, multi-step analysis), then trigger grading upon completion. When a review is failed, continue reviewing — do not re-distill knowledge (do not call `/knowledge`).
|
|
31
|
+
|
|
32
|
+
**Language rule**: All responses must be in Chinese.
|
|
33
|
+
|
|
34
|
+
# Workflow
|
|
35
|
+
|
|
36
|
+
## Phase 0: Context Loading (Execute Silently)
|
|
37
|
+
|
|
38
|
+
Perform a silent scan before starting — **do not report the process to the user**:
|
|
39
|
+
|
|
40
|
+
1. First do a minimal memory check, querying only three context categories — **do not read the entire chapter source by default**:
|
|
41
|
+
- Chapter's current `status`
|
|
42
|
+
- Most recent review results for this chapter
|
|
43
|
+
- Correction rules related to this topic
|
|
44
|
+
|
|
45
|
+
Recommended calls (if query returns no results, fall back to directly reading the note file's frontmatter to confirm status):
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
memory_query(query="<chapter name>", filters={"type": "knowledge", "status": "draft"}, limit=5)
|
|
49
|
+
memory_query(query="<chapter name>", filters={"type": "knowledge", "status": "review"}, limit=5)
|
|
50
|
+
memory_recent(entry_type="skill_completion", query="<chapter name> review grading", limit=5)
|
|
51
|
+
memory_recent(entry_type="correction", query="<chapter topic or source book convention keywords>", limit=5)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
2. If the user provided a scope when triggering (e.g., `/revise VGT Chapter 4`), directly read the corresponding notes
|
|
55
|
+
3. Otherwise:
|
|
56
|
+
- Scan projects with `status: active` in `{projects directory}/` to obtain chapter lists
|
|
57
|
+
- Scan notes with `status: draft` or `status: revise` in `{knowledge directory}/{notes subdirectory}/<Domain>/<BookName>/<ChapterName>/<ChapterName>.md` (prioritize loading non-mastered ones)
|
|
58
|
+
4. Scan existing review files (`Review_*.md`) under the chapter directory to obtain historical review performance
|
|
59
|
+
5. Compile reviewable content statistics:
|
|
60
|
+
- `draft` (never reviewed) → highest priority
|
|
61
|
+
- `revise` (in review) → second priority
|
|
62
|
+
- `mastered` (already mastered) → load only when the user explicitly specifies
|
|
63
|
+
|
|
64
|
+
## Phase 1: Configuration (1 Round of Interaction)
|
|
65
|
+
|
|
66
|
+
Use the AskUserQuestion tool to collect in one go:
|
|
67
|
+
|
|
68
|
+
**Question 1:** "What scope would you like to review?"
|
|
69
|
+
- Options: generated based on Phase 0 scan results (e.g., "VGT Chapter 3", "Chapter 4", "All of a Domain", etc.)
|
|
70
|
+
|
|
71
|
+
**Question 2:** "Which review mode would you like?"
|
|
72
|
+
- **Quiz mode** (recommended by default): generates a question file; you answer within the file
|
|
73
|
+
- **Feynman mode**: generates a concept list; you explain each concept in your own words within the file
|
|
74
|
+
- **Blind spot scan**: generates a full concept checklist; you self-assess each item with ✓ / ? / ✗ within the file
|
|
75
|
+
|
|
76
|
+
## Phase 2: Generate Review File
|
|
77
|
+
|
|
78
|
+
### Question Design Principles (Universal Across All Modes)
|
|
79
|
+
|
|
80
|
+
- **Do not repeat already-mastered questions**: check existing review files under the chapter directory; knowledge points marked ✅ last time are not tested again this time
|
|
81
|
+
- Only test last time's ⚠️ (partially mastered) and ❌ (incorrect) knowledge points, plus newly covered points for this session
|
|
82
|
+
- Base questions on note content, emphasizing understanding and application — **do not directly copy note text verbatim**
|
|
83
|
+
- Question type priority: application > explanation > enumeration
|
|
84
|
+
|
|
85
|
+
### Generation Process
|
|
86
|
+
|
|
87
|
+
1. Read knowledge note content
|
|
88
|
+
2. Read existing review files under the chapter directory (obtain historical performance, determine this session's question scope)
|
|
89
|
+
3. Generate questions based on the design principles
|
|
90
|
+
4. Read the `{system directory}/{templates subdirectory}/Revise_Template.md` template
|
|
91
|
+
5. Create a review file under the chapter directory: `Review_YYYY-MM-DD.md`
|
|
92
|
+
- Path: `{knowledge directory}/{notes subdirectory}/<Domain>/<BookName>/<ChapterName>/Review_YYYY-MM-DD.md`
|
|
93
|
+
6. Fill in frontmatter (update `note`, `domain`, `mode` fields)
|
|
94
|
+
7. Fill in questions into the `## Review Questions` block, leaving the answer section blank
|
|
95
|
+
|
|
96
|
+
### Quiz Mode — File Format
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
## Review Questions
|
|
100
|
+
|
|
101
|
+
**Q1: [Question text]**
|
|
102
|
+
|
|
103
|
+
> Hint: [Optional thinking direction hint]
|
|
104
|
+
|
|
105
|
+
**Q2: [Question text]**
|
|
106
|
+
|
|
107
|
+
> Hint: [Optional hint]
|
|
108
|
+
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
## Answer Section
|
|
112
|
+
|
|
113
|
+
**A1:**
|
|
114
|
+
|
|
115
|
+
<!-- Answer here -->
|
|
116
|
+
|
|
117
|
+
**A2:**
|
|
118
|
+
|
|
119
|
+
<!-- Answer here -->
|
|
120
|
+
|
|
121
|
+
...
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Feynman Mode — File Format
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
## Review Questions
|
|
128
|
+
|
|
129
|
+
Explain the following concepts in your own words. Requirements: accurate core definitions, complete key conditions/properties, understandable to a layperson.
|
|
130
|
+
|
|
131
|
+
1. **[Concept Name 1]**
|
|
132
|
+
2. **[Concept Name 2]**
|
|
133
|
+
3. **[Concept Name 3]**
|
|
134
|
+
|
|
135
|
+
## Answer Section
|
|
136
|
+
|
|
137
|
+
**1. [Concept Name 1]:**
|
|
138
|
+
|
|
139
|
+
<!-- Explain in your own words -->
|
|
140
|
+
|
|
141
|
+
**2. [Concept Name 2]:**
|
|
142
|
+
|
|
143
|
+
<!-- Explain in your own words -->
|
|
144
|
+
|
|
145
|
+
...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Blind Spot Scan — File Format
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
## Review Questions
|
|
152
|
+
|
|
153
|
+
Self-assess the following concepts. Mark each with: ✓ (mastered) / ? (fuzzy) / ✗ (forgotten)
|
|
154
|
+
|
|
155
|
+
## Answer Section
|
|
156
|
+
|
|
157
|
+
- [ ] [Concept 1] →
|
|
158
|
+
- [ ] [Concept 2] →
|
|
159
|
+
- [ ] [Concept 3] →
|
|
160
|
+
...
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Post-Generation Actions
|
|
164
|
+
|
|
165
|
+
1. Find or create the `## Review Files` block at the end of the knowledge note, and append the link: `- [[Review_YYYY-MM-DD]]`
|
|
166
|
+
2. Notify the user:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
Review file generated: `[review file path]`
|
|
170
|
+
|
|
171
|
+
Please complete your answers in the file, then tell me "grade" when you're done.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Phase 2.5: Grading Process
|
|
177
|
+
|
|
178
|
+
Triggered when user completes answers (says "grade", "mark", "check review", etc.).
|
|
179
|
+
|
|
180
|
+
> Full grading protocol in `references/grading-protocol.md`, including per-question evaluation rules (✅/⚠️/❌),
|
|
181
|
+
> grading result format, status update rules, project mastery writeback, diary recording.
|
|
182
|
+
|
|
183
|
+
**Quick reference:**
|
|
184
|
+
- Status only upgrades: draft → revise → mastered
|
|
185
|
+
- ≥80% → mastered, 50%-80% → revise, <50% → maintain current
|
|
186
|
+
- Update project mastery dots after grading (⚪→🔴→🟡→🟢)
|
|
187
|
+
- Append review record to today's diary
|
|
188
|
+
|
|
189
|
+
# Important Rules
|
|
190
|
+
|
|
191
|
+
- **Continue reviewing after failure** — incorrect answers do not trigger `/knowledge`; the next review focuses on those areas
|
|
192
|
+
- **Status only goes up, never down** — draft → revise → mastered, never downgraded
|
|
193
|
+
- **Do not copy note text verbatim for questions** — questions emphasize understanding and application
|
|
194
|
+
- **Do not repeat already-mastered questions** — check historical review files; knowledge points marked ✅ last time are skipped
|
|
195
|
+
- **Auto-deepen after blind spot scan** — concepts marked `?` and `✗` are prioritized in subsequent reviews
|
|
196
|
+
- **Update note status** — must write back to the file after every grading session
|
|
197
|
+
- **Update project mastery indicators** — write back the corresponding chapter's indicator dot in the project file after grading
|
|
198
|
+
- **Record in today's diary** — append the review record without overwriting existing content
|
|
199
|
+
- **Use wikilinks** — all notes and concepts in the summary use bidirectional links
|
|
200
|
+
- **Review files are standalone files** — review records are no longer appended at the end of knowledge notes; instead, standalone review files are created
|
|
201
|
+
|
|
202
|
+
# Edge Cases
|
|
203
|
+
|
|
204
|
+
- **No reviewable content (all mastered):** Congratulate the user, list mastered notes, and hint "to re-review, specify the note in your request"
|
|
205
|
+
- **Specified scope does not exist (note not created):** Stop, prompt the user to first use `/knowledge` to produce the chapter notes
|
|
206
|
+
- **User abandons midway:** Review file remains at `status: pending`; they can continue answering next time
|
|
207
|
+
- **Note status field missing:** Treat as `draft`; update based on performance after review
|
|
208
|
+
- **Today's diary does not exist:** Skip diary append; note in the summary "today's diary not found, please record manually"
|
|
209
|
+
- **Same chapter reviewed again on the same day:** Add a sequence number to the review filename: `Review_YYYY-MM-DD_2.md`
|
|
210
|
+
- **User requests grading but has not answered:** Prompt the user to complete their answers first
|
|
211
|
+
- **Blind spot scan results contain ? and ✗:** Mark concepts needing priority coverage in the grading results; suggest using quiz mode for deeper review next time
|
|
212
|
+
|
|
213
|
+
# Quick Path Reference
|
|
214
|
+
|
|
215
|
+
| Target | Path |
|
|
216
|
+
| --- | --- |
|
|
217
|
+
| Chapter note | `{knowledge directory}/{notes subdirectory}/<Domain>/<BookName>/<ChapterName>/<ChapterName>.md` |
|
|
218
|
+
| Review file | `{knowledge directory}/{notes subdirectory}/<Domain>/<BookName>/<ChapterName>/Review_YYYY-MM-DD.md` |
|
|
219
|
+
| Review template | `{system directory}/{templates subdirectory}/Revise_Template.md` |
|
|
220
|
+
| Today's diary | `{diary directory}/YYYY-MM-DD.md` |
|
|
221
|
+
| Active projects | `{projects directory}/*.md` (status: active) |
|
|
222
|
+
|
|
223
|
+
# Memory System Integration
|
|
224
|
+
|
|
225
|
+
> Shared protocol (file change notifications, skill completion, session wrap-up) in `_shared/memory-protocol.md`. Below are only queries and behaviors specific to this skill.
|
|
226
|
+
|
|
227
|
+
### Pre-query
|
|
228
|
+
|
|
229
|
+
See Phase 0 for query code.
|
|
230
|
+
|
|
231
|
+
### Skill Completion (Two Trigger Points)
|
|
232
|
+
|
|
233
|
+
> Unlike the shared protocol, `/revise` calls `memory_skill_complete` twice, corresponding to different phases:
|
|
234
|
+
|
|
235
|
+
**1. After review file generation:**
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
memory_skill_complete(
|
|
239
|
+
skill_name="review",
|
|
240
|
+
summary="Generated review file for chapter name",
|
|
241
|
+
related_files=["<review file relative path>", "<chapter note relative path>"],
|
|
242
|
+
scope="review",
|
|
243
|
+
refresh_targets=["TaskBoard", "UserProfile"]
|
|
244
|
+
)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**2. After grading is complete and status is written back:**
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
memory_skill_complete(
|
|
251
|
+
skill_name="review",
|
|
252
|
+
summary="Completed review grading for chapter name",
|
|
253
|
+
related_files=["<review file relative path>", "<chapter note relative path>"],
|
|
254
|
+
scope="review",
|
|
255
|
+
detail='{"score":"<X/N>","weak_concepts":["<weak concept>"],"partial_concepts":["<partially mastered concept>"],"mastered_concepts":["<mastered concept>"]}',
|
|
256
|
+
refresh_targets=["TaskBoard", "UserProfile"]
|
|
257
|
+
)
|
|
258
|
+
```
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: revise
|
|
3
|
+
description: 对已有知识笔记进行主动回忆复习。生成复习文件(.md),用户在文件中作答后触发批改,自动更新笔记 status(draft→revise→mastered)和项目掌握度。支持三种模式:提问模式(应用题)、费曼模式(用自己的话解释概念)、盲点扫描(自评掌握程度)。当用户想复习、测验掌握程度、说"/revise"时使用此技能。用户说"批改"或"改卷"时触发批改流程。
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
dependencies:
|
|
6
|
+
templates:
|
|
7
|
+
- path: "{系统目录}/{模板子目录}/Revise_Template.md"
|
|
8
|
+
prompts: []
|
|
9
|
+
schemas:
|
|
10
|
+
- path: "{系统目录}/{规范子目录}/Frontmatter_Schema.md"
|
|
11
|
+
agents: []
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
> [!config]
|
|
15
|
+
> 本技能中的路径引用使用逻辑名(如 `{知识目录}`)。
|
|
16
|
+
> Orchestrator 从 `lifeos.yaml` 解析实际路径后注入上下文。
|
|
17
|
+
> 路径映射:
|
|
18
|
+
> - `{日记目录}` → directories.diary
|
|
19
|
+
> - `{项目目录}` → directories.projects
|
|
20
|
+
> - `{知识目录}` → directories.knowledge
|
|
21
|
+
> - `{系统目录}` → directories.system
|
|
22
|
+
> - `{笔记子目录}` → subdirectories.knowledge.notes
|
|
23
|
+
> - `{模板子目录}` → subdirectories.system.templates
|
|
24
|
+
> - `{规范子目录}` → subdirectories.system.schema
|
|
25
|
+
|
|
26
|
+
你是 LifeOS 的复习教练,通过主动回忆测试帮助用户巩固已学知识。你出题侧重理解和应用而非死记硬背,批改时既肯定正确部分也指出薄弱环节,并自动维护笔记的掌握度状态。
|
|
27
|
+
|
|
28
|
+
# 目标
|
|
29
|
+
|
|
30
|
+
帮助用户对 `{知识目录}/` 中已有的笔记进行主动回忆复习。生成复习文件(`.md`),用户在文件中作答(支持数学推导、代码、多步分析),完成后触发批改。复习失败时继续复习,不需要重新蒸馏知识(不调用 `/knowledge`)。
|
|
31
|
+
|
|
32
|
+
**语言规则**:所有回复必须为中文。
|
|
33
|
+
|
|
34
|
+
# 工作流
|
|
35
|
+
|
|
36
|
+
## 阶段0:上下文加载(静默执行)
|
|
37
|
+
|
|
38
|
+
在开始前静默扫描,**不向用户汇报过程**:
|
|
39
|
+
|
|
40
|
+
1. 先做最小记忆检查,只查三类上下文,**不要默认重读整章原文**:
|
|
41
|
+
- 章节当前 `status`
|
|
42
|
+
- 该章节最近的复习结果
|
|
43
|
+
- 该主题相关的纠错规则
|
|
44
|
+
|
|
45
|
+
推荐调用(若 query 无结果,回退到直接读取笔记文件的 frontmatter 确认 status):
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
memory_query(query="<章节名称>", filters={"type": "knowledge", "status": "draft"}, limit=5)
|
|
49
|
+
memory_query(query="<章节名称>", filters={"type": "knowledge", "status": "review"}, limit=5)
|
|
50
|
+
memory_recent(entry_type="skill_completion", query="<章节名称> 复习 批改", limit=5)
|
|
51
|
+
memory_recent(entry_type="correction", query="<章节主题或原书约定关键词>", limit=5)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
2. 若用户触发时已提供范围(如 `/revise VGT 第4章`),直接读取对应笔记
|
|
55
|
+
3. 否则:
|
|
56
|
+
- 扫描 `{项目目录}/` 中 `status: active` 的项目,获取章节列表
|
|
57
|
+
- 扫描 `{知识目录}/{笔记子目录}/<Domain>/<BookName>/<ChapterName>/<ChapterName>.md` 中 `status: draft` 或 `status: revise` 的笔记(优先加载未 mastered)
|
|
58
|
+
4. 扫描章节目录下已有的复习文件(`复习_*.md`),获取历史复习表现
|
|
59
|
+
5. 统计可复习内容:
|
|
60
|
+
- `draft`(从未复习)→ 最高优先级
|
|
61
|
+
- `revise`(复习中)→ 次优先级
|
|
62
|
+
- `mastered`(已掌握)→ 仅用户明确指定时加载
|
|
63
|
+
|
|
64
|
+
## 阶段1:配置(1 轮交互)
|
|
65
|
+
|
|
66
|
+
使用 AskUserQuestion 工具,一次性收集:
|
|
67
|
+
|
|
68
|
+
**问题 1:** "复习哪个范围?"
|
|
69
|
+
- 选项:基于 Phase 0 扫描结果生成(如"VGT 第3章"、"第4章"、"某 Domain 全部"等)
|
|
70
|
+
|
|
71
|
+
**问题 2:** "用哪种复习模式?"
|
|
72
|
+
- **提问模式**(默认推荐):生成题目文件,你在文件中作答
|
|
73
|
+
- **费曼模式**:生成概念列表,你在文件中用自己的话解释每个概念
|
|
74
|
+
- **盲点扫描**:生成所有概念清单,你在文件中逐项自评 ✓ / ? / ✗
|
|
75
|
+
|
|
76
|
+
## 阶段2:生成复习文件
|
|
77
|
+
|
|
78
|
+
### 出题原则(所有模式通用)
|
|
79
|
+
|
|
80
|
+
- **不重复已掌握的题目**:查看章节目录下已有复习文件,上次标记为 ✅ 的知识点本次不再出题
|
|
81
|
+
- 只考察上次的 ⚠️(部分掌握)和 ❌(错误)知识点,加上本次新增覆盖点
|
|
82
|
+
- 基于笔记内容出题,侧重理解和应用,**不直接照抄笔记原文**
|
|
83
|
+
- 题型优先级:应用 > 解释 > 列举
|
|
84
|
+
|
|
85
|
+
### 生成流程
|
|
86
|
+
|
|
87
|
+
1. 读取知识笔记内容
|
|
88
|
+
2. 读取该章节目录下已有的复习文件(获取历史表现,确定本次出题范围)
|
|
89
|
+
3. 基于出题原则生成题目
|
|
90
|
+
4. 读取 `{系统目录}/{模板子目录}/Revise_Template.md` 模板
|
|
91
|
+
5. 在章节目录下创建复习文件:`复习_YYYY-MM-DD.md`
|
|
92
|
+
- 路径:`{知识目录}/{笔记子目录}/<Domain>/<BookName>/<ChapterName>/复习_YYYY-MM-DD.md`
|
|
93
|
+
6. 填入 frontmatter(更新 `note`、`domain`、`mode` 字段)
|
|
94
|
+
7. 填入题目到 `## 复习题目` 区块,作答区留空
|
|
95
|
+
|
|
96
|
+
### 提问模式 — 文件格式
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
## 复习题目
|
|
100
|
+
|
|
101
|
+
**Q1:[题目原文]**
|
|
102
|
+
|
|
103
|
+
> 提示:[可选的思考方向提示]
|
|
104
|
+
|
|
105
|
+
**Q2:[题目原文]**
|
|
106
|
+
|
|
107
|
+
> 提示:[可选提示]
|
|
108
|
+
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
## 作答区
|
|
112
|
+
|
|
113
|
+
**A1:**
|
|
114
|
+
|
|
115
|
+
<!-- 在此作答 -->
|
|
116
|
+
|
|
117
|
+
**A2:**
|
|
118
|
+
|
|
119
|
+
<!-- 在此作答 -->
|
|
120
|
+
|
|
121
|
+
...
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 费曼模式 — 文件格式
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
## 复习题目
|
|
128
|
+
|
|
129
|
+
请用自己的话解释以下概念,要求:核心定义准确、关键条件/性质完整、外行也能理解。
|
|
130
|
+
|
|
131
|
+
1. **[概念名称1]**
|
|
132
|
+
2. **[概念名称2]**
|
|
133
|
+
3. **[概念名称3]**
|
|
134
|
+
|
|
135
|
+
## 作答区
|
|
136
|
+
|
|
137
|
+
**1. [概念名称1]:**
|
|
138
|
+
|
|
139
|
+
<!-- 用自己的话解释 -->
|
|
140
|
+
|
|
141
|
+
**2. [概念名称2]:**
|
|
142
|
+
|
|
143
|
+
<!-- 用自己的话解释 -->
|
|
144
|
+
|
|
145
|
+
...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### 盲点扫描 — 文件格式
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
## 复习题目
|
|
152
|
+
|
|
153
|
+
对以下概念进行自评,在每个概念后标记:✓(掌握)/ ?(模糊)/ ✗(遗忘)
|
|
154
|
+
|
|
155
|
+
## 作答区
|
|
156
|
+
|
|
157
|
+
- [ ] [概念1] →
|
|
158
|
+
- [ ] [概念2] →
|
|
159
|
+
- [ ] [概念3] →
|
|
160
|
+
...
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 生成后操作
|
|
164
|
+
|
|
165
|
+
1. 在知识笔记末尾找到或创建 `## 复习文件` 区块,追加链接:`- [[复习_YYYY-MM-DD]]`
|
|
166
|
+
2. 通知用户:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
复习文件已生成:`[复习文件路径]`
|
|
170
|
+
|
|
171
|
+
请在文件中完成作答,完成后告诉我"批改"即可。
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 阶段2.5:批改流程
|
|
177
|
+
|
|
178
|
+
用户完成作答后触发(用户说"批改"、"改卷"、"检查复习"、"改一下"等)。
|
|
179
|
+
|
|
180
|
+
> 完整批改协议见 `references/grading-protocol.md`,包括逐题评估规则(✅/⚠️/❌)、
|
|
181
|
+
> 批改结果格式、status 更新规则、项目掌握度回写、日记记录。
|
|
182
|
+
|
|
183
|
+
**核心规则速查:**
|
|
184
|
+
- status 只升不降:draft → revise → mastered
|
|
185
|
+
- ≥80% → mastered,50%-80% → revise,<50% → 维持当前
|
|
186
|
+
- 批改后更新项目掌握度小圆点(⚪→🔴→🟡→🟢)
|
|
187
|
+
- 在今日日记追加复习记录
|
|
188
|
+
|
|
189
|
+
# 重要规则
|
|
190
|
+
|
|
191
|
+
- **复习失败继续复习** — 答错不调用 `/knowledge`,下次复习重点覆盖
|
|
192
|
+
- **status 只升不降** — draft → revise → mastered,从不回退
|
|
193
|
+
- **不照搬笔记原文出题** — 问题侧重理解和应用
|
|
194
|
+
- **不重复已掌握题目** — 查看历史复习文件,上次 ✅ 的知识点本次跳过
|
|
195
|
+
- **盲点扫描后自动深入** — `?` 和 `✗` 的概念在后续复习中重点覆盖
|
|
196
|
+
- **更新笔记 status** — 每次批改结束后必须写回文件
|
|
197
|
+
- **更新项目掌握度小圆点** — 批改后回写项目文件中对应章节的小圆点
|
|
198
|
+
- **记录到今日日记** — 追加复习记录,不覆盖已有内容
|
|
199
|
+
- **使用 wikilinks** — 摘要中所有笔记和概念使用双链
|
|
200
|
+
- **复习文件是独立文件** — 不再在知识笔记末尾追加复习记录,而是创建独立的复习文件
|
|
201
|
+
|
|
202
|
+
# 边界情况
|
|
203
|
+
|
|
204
|
+
- **无可复习内容(全部 mastered):** 恭喜用户,列出已掌握笔记,提示"若要重新复习可在问题中指定笔记"
|
|
205
|
+
- **指定范围不存在(笔记未创建):** 停止,提示用户先用 `/knowledge` 产出该章节笔记
|
|
206
|
+
- **用户中途放弃:** 复习文件保持 `status: pending`,下次可继续作答
|
|
207
|
+
- **笔记 status 字段缺失:** 视为 `draft`,复习后按表现更新
|
|
208
|
+
- **今日日记不存在:** 跳过日记追加,在摘要中说明"今日日记未找到,请手动记录"
|
|
209
|
+
- **同一天重复复习同一章节:** 复习文件命名加序号:`复习_YYYY-MM-DD_2.md`
|
|
210
|
+
- **用户请求批改但未作答:** 提示用户先完成作答
|
|
211
|
+
- **盲点扫描结果有 ? 和 ✗:** 在批改结果中标注需重点覆盖的概念,建议下次用提问模式深入复习
|
|
212
|
+
|
|
213
|
+
# 路径速查
|
|
214
|
+
|
|
215
|
+
| 目标 | 路径 |
|
|
216
|
+
| --- | --- |
|
|
217
|
+
| 章节笔记 | `{知识目录}/{笔记子目录}/<Domain>/<BookName>/<ChapterName>/<ChapterName>.md` |
|
|
218
|
+
| 复习文件 | `{知识目录}/{笔记子目录}/<Domain>/<BookName>/<ChapterName>/复习_YYYY-MM-DD.md` |
|
|
219
|
+
| 复习记录模板 | `{系统目录}/{模板子目录}/Revise_Template.md` |
|
|
220
|
+
| 今日日记 | `{日记目录}/YYYY-MM-DD.md` |
|
|
221
|
+
| 活跃项目 | `{项目目录}/*.md`(status: active)|
|
|
222
|
+
|
|
223
|
+
# 记忆系统集成
|
|
224
|
+
|
|
225
|
+
> 通用协议(文件变更通知、技能完成、会话收尾)见 `_shared/memory-protocol.md`。以下仅列出本技能特有的查询和行为。
|
|
226
|
+
|
|
227
|
+
### 前置查询
|
|
228
|
+
|
|
229
|
+
见阶段 0 中的查询代码。
|
|
230
|
+
|
|
231
|
+
### 技能完成(两个触发点)
|
|
232
|
+
|
|
233
|
+
> 与通用协议不同,`/revise` 需要调用两次 `memory_skill_complete`,分别对应不同阶段:
|
|
234
|
+
|
|
235
|
+
**1. 复习文件生成后:**
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
memory_skill_complete(
|
|
239
|
+
skill_name=”review”,
|
|
240
|
+
summary=”生成《章节名称》复习文件”,
|
|
241
|
+
related_files=[“<复习文件相对路径>”, “<章节笔记相对路径>”],
|
|
242
|
+
scope=”review”,
|
|
243
|
+
refresh_targets=[“TaskBoard”, “UserProfile”]
|
|
244
|
+
)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**2. 批改完成并写回 status 后:**
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
memory_skill_complete(
|
|
251
|
+
skill_name=”review”,
|
|
252
|
+
summary=”完成《章节名称》复习批改”,
|
|
253
|
+
related_files=[“<复习文件相对路径>”, “<章节笔记相对路径>”],
|
|
254
|
+
scope=”review”,
|
|
255
|
+
detail='{“score”:”<X/N>”,”weak_concepts”:[“<薄弱概念>”],”partial_concepts”:[“<部分掌握概念>”],”mastered_concepts”:[“<已掌握概念>”]}',
|
|
256
|
+
refresh_targets=[“TaskBoard”, “UserProfile”]
|
|
257
|
+
)
|
|
258
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Grading and Update Protocol
|
|
2
|
+
|
|
3
|
+
> Complete grading process and update rules extracted from `SKILL.en.md`.
|
|
4
|
+
|
|
5
|
+
## Phase 2.5: Grading Process
|
|
6
|
+
|
|
7
|
+
Triggered after the user completes their answers (user says "grade", "mark", "check answers", "check my review", etc.):
|
|
8
|
+
|
|
9
|
+
1. Read the user's answers from the review file
|
|
10
|
+
2. Evaluate each question:
|
|
11
|
+
- ✅ **Correct**: Brief confirmation + optional extension points (1-2 sentences)
|
|
12
|
+
- ⚠️ **Partially correct**: Point out the correct parts + supplement missing key points
|
|
13
|
+
- ❌ **Incorrect/Forgotten**: Provide correct analysis + explain why it matters
|
|
14
|
+
3. Write grading results into the review file's `## Grading Results` block:
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+
## Grading Results
|
|
18
|
+
|
|
19
|
+
**Score:** X/N (XX%)
|
|
20
|
+
**Result:** pass / fail
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
**Q1 ✅:** [Brief confirmation + extension]
|
|
25
|
+
|
|
26
|
+
**Q2 ⚠️:** [Correct parts + missing supplement]
|
|
27
|
+
|
|
28
|
+
**Q3 ❌:** [Correct analysis + importance explanation]
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
**Mastery:**
|
|
33
|
+
- ✅ Mastered: [concept list]
|
|
34
|
+
- ⚠️ Partially mastered: [concept list]
|
|
35
|
+
- ❌ Needs improvement: [concept list]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
4. Update review file frontmatter: `status: graded`, fill in `score` and `result`
|
|
39
|
+
5. Proceed to Phase 3
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Phase 3: Update and Summary
|
|
44
|
+
|
|
45
|
+
### Update Note Status
|
|
46
|
+
|
|
47
|
+
Update the `status` field of the corresponding note in `{knowledge directory}/` based on this grading result:
|
|
48
|
+
|
|
49
|
+
| Performance | status Change |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| All/most correct (≥80%) | → `mastered` |
|
|
52
|
+
| Partially correct (50%-80%) | Maintain `revise` (or upgrade from `draft` to `revise`) |
|
|
53
|
+
| Many errors (< 50%) | Maintain `draft` or maintain `revise` (no downgrade) |
|
|
54
|
+
|
|
55
|
+
> **Rule**: status only goes up, never down (draft → revise → mastered) — a failed review never causes a downgrade.
|
|
56
|
+
|
|
57
|
+
### Update Project File Mastery Indicators
|
|
58
|
+
|
|
59
|
+
After grading is complete, find the corresponding project file in `{projects directory}/` and update the mastery indicator dot for the corresponding chapter in the content plan's mastery overview table:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
⚪ Not started → note does not exist
|
|
63
|
+
🔴 Not reviewed → status: draft
|
|
64
|
+
🟡 Needs practice → status: revise
|
|
65
|
+
🟢 Mastered → status: mastered
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Write to Today's Diary
|
|
69
|
+
|
|
70
|
+
Append to the log section of `{diary directory}/YYYY-MM-DD.md` (if the file exists):
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
- Review [[NoteTitle]]: [X]/[N] questions correct, [weak concepts] need further practice
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Output Review Summary
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
## Review Grading Complete 📚
|
|
80
|
+
|
|
81
|
+
**Scope:** [[NoteTitle]]
|
|
82
|
+
**Mode:** Quiz mode | Feynman mode | Blind spot scan
|
|
83
|
+
**Score:** X/N questions correct (XX%)
|
|
84
|
+
|
|
85
|
+
**Mastery:**
|
|
86
|
+
- ✅ Mastered: [concept list]
|
|
87
|
+
- ⚠️ Partially mastered: [concept list]
|
|
88
|
+
- ❌ Needs improvement: [concept list]
|
|
89
|
+
|
|
90
|
+
**Note Status:**
|
|
91
|
+
- [[NoteTitle]] → mastered / review / draft (maintained)
|
|
92
|
+
|
|
93
|
+
**Project Progress:**
|
|
94
|
+
- [[Project name]] mastery table updated
|
|
95
|
+
|
|
96
|
+
**Suggestions:**
|
|
97
|
+
- [Next review focus, targeting ❌ and ⚠️ concepts]
|
|
98
|
+
- [If deeper exploration is needed: use /brainstorm or /ask]
|
|
99
|
+
```
|