@laitszkin/apollo-toolkit 2.9.0 → 2.11.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/AGENTS.md +3 -1
- package/CHANGELOG.md +22 -0
- package/README.md +4 -1
- package/archive-specs/SKILL.md +4 -0
- package/commit-and-push/SKILL.md +3 -0
- package/develop-new-features/README.md +1 -0
- package/develop-new-features/SKILL.md +13 -1
- package/develop-new-features/agents/openai.yaml +1 -1
- package/document-vision-reader/LICENSE +21 -0
- package/document-vision-reader/README.md +66 -0
- package/document-vision-reader/SKILL.md +151 -0
- package/document-vision-reader/agents/openai.yaml +4 -0
- package/document-vision-reader/references/legibility-checklist.md +13 -0
- package/document-vision-reader/references/rendering-guide.md +37 -0
- package/enhance-existing-features/README.md +1 -0
- package/enhance-existing-features/SKILL.md +15 -2
- package/enhance-existing-features/agents/openai.yaml +1 -1
- package/exam-pdf-workflow/LICENSE +21 -0
- package/exam-pdf-workflow/README.md +38 -0
- package/exam-pdf-workflow/SKILL.md +106 -0
- package/exam-pdf-workflow/agents/openai.yaml +4 -0
- package/generate-spec/SKILL.md +5 -0
- package/katex/SKILL.md +92 -0
- package/katex/agents/openai.yaml +4 -0
- package/katex/references/insertion-patterns.md +54 -0
- package/katex/references/official-docs.md +35 -0
- package/katex/scripts/render_katex.py +247 -0
- package/katex/scripts/render_katex.sh +11 -0
- package/learning-error-book/SKILL.md +46 -31
- package/learning-error-book/agents/openai.yaml +2 -2
- package/learning-error-book/assets/long_question_reference_template.json +57 -0
- package/learning-error-book/assets/mc_question_reference_template.json +49 -0
- package/learning-error-book/scripts/render_error_book_json_to_pdf.py +590 -0
- package/package.json +1 -1
- package/learning-error-book/assets/error_book_template.md +0 -66
- package/learning-error-book/scripts/render_markdown_to_pdf.py +0 -367
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: learning-error-book
|
|
3
|
-
description: A learning-focused error-book workflow. When the user asks to summarize mistakes, the agent summarizes mistakes made while solving questions
|
|
3
|
+
description: A learning-focused error-book workflow. When the user asks to summarize mistakes, the agent summarizes mistakes made while solving questions, writes structured reference data, and renders polished PDFs directly without Markdown as an intermediate.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Learning Error Book Skill
|
|
@@ -15,23 +15,27 @@ description: A learning-focused error-book workflow. When the user asks to summa
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
17
|
- Evidence: Summarize mistakes only from traceable question sources, user attempts, and correct-answer evidence.
|
|
18
|
-
- Execution: Build an evidence table first,
|
|
18
|
+
- Execution: Build an evidence table first, write structured reference data, then render polished PDFs directly with Chinese-safe fonts.
|
|
19
19
|
- Quality: Explain mistake types, concept misunderstandings, and per-question solutions in a way that is specific, complete, and non-speculative.
|
|
20
|
-
- Output: Deliver
|
|
20
|
+
- Output: Deliver separate MC and long-question error books, each backed by its own reference file and rendered PDF.
|
|
21
21
|
|
|
22
|
-
Goal: when the user asks to "summarize mistakes / summarize errors / compile an error book",
|
|
22
|
+
Goal: when the user asks to "summarize mistakes / summarize errors / compile an error book", summarize mistakes with evidence and generate or update structured error-book data plus polished PDFs directly from that data.
|
|
23
23
|
|
|
24
24
|
## Behavior Contract (GIVEN/THEN)
|
|
25
25
|
|
|
26
|
-
GIVEN the user asks to
|
|
27
|
-
THEN the agent summarizes the user's mistakes made while solving questions
|
|
28
|
-
AND generates or updates
|
|
26
|
+
GIVEN the user asks to summarize mistakes/errors
|
|
27
|
+
THEN the agent summarizes the user's mistakes made while solving questions
|
|
28
|
+
AND generates or updates two error-book tracks when relevant:
|
|
29
|
+
- one for multiple-choice questions
|
|
30
|
+
- one for long-answer questions
|
|
31
|
+
AND each track includes:
|
|
29
32
|
- Coverage scope (which question files / sources are included)
|
|
30
33
|
- Common mistake types overview
|
|
31
34
|
- Conceptual mistake highlights (definition, user's common misjudgment, cautions)
|
|
32
35
|
- Mistake-by-mistake analysis and solutions
|
|
33
|
-
- For MC questions: explain why
|
|
34
|
-
|
|
36
|
+
- For MC questions: explain why each option is wrong/right, and why the correct option is correct
|
|
37
|
+
- For long-answer questions: compare the expected solution steps against the user's steps, show exactly where the divergence starts, and identify the key concepts involved
|
|
38
|
+
AND the delivered error books must be polished PDFs rendered directly from structured data, without Markdown as an intermediate.
|
|
35
39
|
|
|
36
40
|
## Trigger Conditions
|
|
37
41
|
|
|
@@ -52,61 +56,72 @@ If the PDF is scanned/image-based and text extraction fails:
|
|
|
52
56
|
|
|
53
57
|
## Output Spec (Required Sections)
|
|
54
58
|
|
|
55
|
-
The error
|
|
56
|
-
1)
|
|
57
|
-
2)
|
|
58
|
-
3)
|
|
59
|
+
The error books must contain:
|
|
60
|
+
1) Coverage Scope: which question files/sources are included (with paths; include page/question ids when available)
|
|
61
|
+
2) Common Mistake Types Overview: 3-8 categories (concept misunderstanding, misreading conditions, derivation/calculation error, option traps, etc.), with representative questions
|
|
62
|
+
3) Conceptual Mistake Highlights (per concept):
|
|
59
63
|
- Definition (precise and actionable)
|
|
60
64
|
- User's common misjudgment (mapped to concrete mistakes)
|
|
61
65
|
- Cautions / checklists to avoid repeating the mistake
|
|
62
|
-
4)
|
|
66
|
+
4) Per-Question Mistake & Solution:
|
|
63
67
|
- Traceable locator: file + page/question id
|
|
64
68
|
- User answer vs correct answer
|
|
65
69
|
- Why it's wrong (link back to mistake type + concept)
|
|
66
70
|
- Correct solution (step-by-step)
|
|
67
|
-
- For
|
|
71
|
+
- For MC: explain why each option is wrong/right, and why the correct option is correct
|
|
72
|
+
- For Long Question: compare each expected step with the user's corresponding step, explain the gap at each step, state the first incorrect step clearly, and list the key concepts that question depends on
|
|
68
73
|
|
|
69
74
|
Formats:
|
|
70
|
-
-
|
|
71
|
-
-
|
|
75
|
+
- MC reference: `error_book/references/mc-question-reference.json`
|
|
76
|
+
- Long-question reference: `error_book/references/long-question-reference.json`
|
|
77
|
+
- MC deliverable: `error_book/mc-question-error-book.pdf`
|
|
78
|
+
- Long-question deliverable: `error_book/long-question-error-book.pdf`
|
|
72
79
|
|
|
73
80
|
## Recommended File Layout (Keep It Consistent)
|
|
74
81
|
|
|
75
82
|
```text
|
|
76
83
|
error_book/
|
|
77
|
-
error-book.
|
|
78
|
-
error-book.pdf
|
|
84
|
+
mc-question-error-book.pdf
|
|
85
|
+
long-question-error-book.pdf
|
|
86
|
+
references/
|
|
87
|
+
mc-question-reference.json
|
|
88
|
+
long-question-reference.json
|
|
79
89
|
sources/ # optional: shortcuts/copies/list of source PDFs
|
|
80
90
|
```
|
|
81
91
|
|
|
82
92
|
## Workflow (Required)
|
|
83
93
|
|
|
84
|
-
1)
|
|
94
|
+
1) Determine coverage
|
|
85
95
|
- If the user provided files/question ids: add them to Coverage Scope
|
|
86
96
|
- If not: search the workspace for relevant PDFs and confirm with the user
|
|
87
97
|
|
|
88
|
-
2)
|
|
98
|
+
2) Extract question text + answers/explanations (extract when possible)
|
|
89
99
|
- Use the `pdf` skill (pypdf/pdfplumber/OCR as available)
|
|
90
100
|
- If extraction fails, request user-provided text/screenshots
|
|
91
101
|
|
|
92
|
-
3)
|
|
102
|
+
3) Build an evidence table before writing
|
|
93
103
|
- For each question: locator, user answer, correct answer, mistake type, concept(s), explanation
|
|
94
|
-
-
|
|
104
|
+
- For long-answer questions, also collect expected steps, user steps, step-by-step gaps, first wrong step, and key concepts
|
|
105
|
+
- Then map it into the required sections for the relevant track
|
|
95
106
|
|
|
96
|
-
4)
|
|
97
|
-
-
|
|
98
|
-
-
|
|
107
|
+
4) Generate/update structured reference files
|
|
108
|
+
- For MC questions: start from `assets/mc_question_reference_template.json`
|
|
109
|
+
- For long-answer questions: start from `assets/long_question_reference_template.json`
|
|
110
|
+
- If a reference file already exists: preserve existing entries, append new evidence, and refresh overview/concept sections
|
|
99
111
|
|
|
100
|
-
5)
|
|
112
|
+
5) Render structured data -> PDF (CJK font support)
|
|
101
113
|
- Run:
|
|
102
|
-
- `python3 learning-error-book/scripts/
|
|
114
|
+
- `python3 learning-error-book/scripts/render_error_book_json_to_pdf.py error_book/references/mc-question-reference.json error_book/mc-question-error-book.pdf`
|
|
115
|
+
- `python3 learning-error-book/scripts/render_error_book_json_to_pdf.py error_book/references/long-question-reference.json error_book/long-question-error-book.pdf`
|
|
103
116
|
- If paper size/font needs change: adjust script flags (`--help`)
|
|
104
117
|
|
|
105
118
|
## Built-in Template
|
|
106
119
|
|
|
107
|
-
- `assets/
|
|
120
|
+
- `assets/mc_question_reference_template.json`: MC error-book structured template
|
|
121
|
+
- `assets/long_question_reference_template.json`: long-answer error-book structured template
|
|
108
122
|
|
|
109
123
|
## Rendering Notes (Avoid Pitfalls)
|
|
110
124
|
|
|
111
|
-
-
|
|
112
|
-
- For
|
|
125
|
+
- Avoid lossy Markdown conversion. Keep symbols, formulas, and option text in the structured reference payload.
|
|
126
|
+
- For long-answer questions, preserve the original step granularity instead of merging multiple reasoning steps into one.
|
|
127
|
+
- Keep key-concept labels stable across questions so the concept summary can aggregate them cleanly.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Learning Error Book"
|
|
3
|
-
short_description: "Summarize mistakes into
|
|
4
|
-
default_prompt: "Use $learning-error-book to gather evidence about the user's mistakes, use $pdf whenever PDF extraction or OCR is needed, generate or update error_book/
|
|
3
|
+
short_description: "Summarize mistakes into structured MC and long-question error books"
|
|
4
|
+
default_prompt: "Use $learning-error-book to gather evidence about the user's mistakes, use $pdf whenever PDF extraction or OCR is needed, generate or update error_book/references/mc-question-reference.json and error_book/references/long-question-reference.json as applicable, then render polished PDFs directly to error_book/mc-question-error-book.pdf and error_book/long-question-error-book.pdf without using Markdown as an intermediate."
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"book_type": "long-question",
|
|
3
|
+
"title": "Long Question Error Book",
|
|
4
|
+
"last_updated": "YYYY-MM-DD",
|
|
5
|
+
"coverage_scope": [
|
|
6
|
+
{
|
|
7
|
+
"source_path": "",
|
|
8
|
+
"included_questions": [],
|
|
9
|
+
"notes": ""
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"mistake_overview": [
|
|
13
|
+
{
|
|
14
|
+
"type": "Incomplete derivation",
|
|
15
|
+
"summary": "",
|
|
16
|
+
"representative_questions": []
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"concept_highlights": [
|
|
20
|
+
{
|
|
21
|
+
"name": "",
|
|
22
|
+
"definition": "",
|
|
23
|
+
"common_misjudgment": "",
|
|
24
|
+
"checklist": []
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"questions": [
|
|
28
|
+
{
|
|
29
|
+
"question_id": "",
|
|
30
|
+
"source_path": "",
|
|
31
|
+
"page_or_locator": "",
|
|
32
|
+
"stem": "",
|
|
33
|
+
"user_answer": "",
|
|
34
|
+
"correct_answer": "",
|
|
35
|
+
"mistake_type": "",
|
|
36
|
+
"concepts": [],
|
|
37
|
+
"why_wrong": "",
|
|
38
|
+
"first_incorrect_step": "",
|
|
39
|
+
"key_concepts": [
|
|
40
|
+
{
|
|
41
|
+
"name": "",
|
|
42
|
+
"why_it_matters": ""
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"correct_solution_steps": [],
|
|
46
|
+
"step_comparison": [
|
|
47
|
+
{
|
|
48
|
+
"step_no": 1,
|
|
49
|
+
"expected_step": "",
|
|
50
|
+
"user_step": "",
|
|
51
|
+
"gap": "",
|
|
52
|
+
"fix": ""
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"book_type": "mc-question",
|
|
3
|
+
"title": "MC Question Error Book",
|
|
4
|
+
"last_updated": "YYYY-MM-DD",
|
|
5
|
+
"coverage_scope": [
|
|
6
|
+
{
|
|
7
|
+
"source_path": "",
|
|
8
|
+
"included_questions": [],
|
|
9
|
+
"notes": ""
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"mistake_overview": [
|
|
13
|
+
{
|
|
14
|
+
"type": "Concept misunderstanding",
|
|
15
|
+
"summary": "",
|
|
16
|
+
"representative_questions": []
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"concept_highlights": [
|
|
20
|
+
{
|
|
21
|
+
"name": "",
|
|
22
|
+
"definition": "",
|
|
23
|
+
"common_misjudgment": "",
|
|
24
|
+
"checklist": []
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"questions": [
|
|
28
|
+
{
|
|
29
|
+
"question_id": "",
|
|
30
|
+
"source_path": "",
|
|
31
|
+
"page_or_locator": "",
|
|
32
|
+
"stem": "",
|
|
33
|
+
"user_answer": "",
|
|
34
|
+
"correct_answer": "",
|
|
35
|
+
"mistake_type": "",
|
|
36
|
+
"concepts": [],
|
|
37
|
+
"why_wrong": "",
|
|
38
|
+
"correct_solution_steps": [],
|
|
39
|
+
"options": [
|
|
40
|
+
{
|
|
41
|
+
"label": "A",
|
|
42
|
+
"text": "",
|
|
43
|
+
"verdict": "wrong",
|
|
44
|
+
"reason": ""
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|