omnilearn-workflow 1.0.5 → 1.0.6

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.
@@ -39,6 +39,7 @@ Both scenarios follow the same core flow: research → analyze → produce struc
39
39
  └── topics/
40
40
  └── <topic>/
41
41
  ├── topic-roadmap.md ← Will be updated if refined
42
+ ├── topic-explanation.md ← Theory foundation (updated if refined)
42
43
  ├── assignments/ ← May be added to if needed
43
44
  └── runs/
44
45
  ```
@@ -75,6 +75,7 @@ This command performs the same rigorous research-backed process as `/omnilearn-r
75
75
  │ └── new-roadmap-draft.md ← Draft of updated roadmap
76
76
  └── topics/ ← MUST be preserved — never delete or alter topic-progress.md, assignments/, or runs/
77
77
  └── <topic-name>/
78
+ ├── topic-explanation.md ← Theory foundation (read before assignments)
78
79
  ├── topic-progress.md ← 🔑 THE source of truth for what the user has done
79
80
  ├── assignments/ ← All assignment work the user has completed
80
81
  └── runs/ ← Learning session logs
@@ -32,6 +32,7 @@ description: Create a comprehensive, real-world-ready learning roadmap for any s
32
32
  └── topics/ ← Topics in the roadmap (populated during learning)
33
33
  └── <topic-name>/ ← Each topic has its own progress tracking
34
34
  ├── topic-roadmap.md ← Detailed subtopic roadmap (created on-demand)
35
+ ├── **topic-explanation.md** ← ← 🔑 THEORY: TL;DR → concepts → examples → pitfalls (read this first)
35
36
  ├── topic-progress.md ← Per-topic progress: assignments status, sessions
36
37
  ├── assignments/ ← Hands-on assignments (generated during learning)
37
38
  │ ├── 01-<concept>/
@@ -15,8 +15,8 @@ description: Start an interactive learning session. Generates hands-on assignmen
15
15
 
16
16
  ## Core Learning Philosophy
17
17
 
18
- **The user learns by doing, not by reading.** Every topic produces:
19
- 1. A **topic explanation**concise, practical overview (just enough context)
18
+ **The user learns by doing but needs the right theoretical foundation first.** Every topic produces:
19
+ 1. **`topic-explanation.md`**Concise theory: TL;DR core concepts → annotated examples → common pitfalls → best practices. The minimum viable theory you need before touching code.
20
20
  2. **Hands-on assignments** — increasing difficulty: basic → intermediate → real-world
21
21
  3. **Test scripts** — automated validation of the user's solution
22
22
  4. **Scaffold code** — starter files so they can jump straight into coding
@@ -44,6 +44,7 @@ The goal metric: **Can the user apply what they learned to real-world problems t
44
44
  └── topics/
45
45
  └── <topic-name>/ ← e.g., "error-handling", "neural-networks"
46
46
  ├── topic-roadmap.md ← Detailed subtopic roadmap (created on-demand)
47
+ ├── **topic-explanation.md** ← ← 🔑 THEORY: concise concept explanation (TL;DR → concepts → examples → pitfalls → best practices)
47
48
  ├── topic-progress.md ← 🔑 PROGRESS LIVES HERE: assignment status, sessions, skills demonstrated
48
49
  ├── assignments/
49
50
  │ ├── 01-<concept-basics>/
@@ -255,7 +256,49 @@ task(category="deep", run_in_background=false, timeout=600000, prompt="
255
256
  - Each builds on the previous. More than 3 can be created if the user needs extra practice or the topic is deep.
256
257
  - Final assignment should be a mini-project or real-world scenario
257
258
 
258
- STEP 3 — Create Assignment 1 (the first one) at:
259
+ STEP 3 — Create topic-explanation.md at:
260
+ {TOPICS_DIR}/{topic}/topic-explanation.md
261
+
262
+ This is the THEORETICAL FOUNDATION the user reads BEFORE attempting assignments.
263
+ It must be concise but complete — the minimum viable theory to understand the topic.
264
+ Use this proven format (based on Diátaxis framework + developer learning research):
265
+
266
+ # {topic}
267
+
268
+ ## TL;DR
269
+ One paragraph. What this is and why it matters in the real world. Assume the user is scanning.
270
+
271
+ ## Core Concepts
272
+ 3-5 key concepts explained concisely. Each concept gets 2-3 sentences max. Use **bold** for terminology being introduced.
273
+ - **{Concept 1}**: What it is. Why it exists. How it connects to other concepts here.
274
+ - **{Concept 2}**: ...
275
+
276
+ ## How It Works (with Examples)
277
+ Annotated code/example blocks showing the concept in action. Use the Diátaxis "Explanation" quadrant — explain WHY each line matters, not just WHAT it does.
278
+
279
+ ```{language}
280
+ # Annotated example with numbered comments
281
+ ```
282
+
283
+ > **Note:** If the topic isn't code (e.g., system design, ML theory), use diagrams described in text or real-world analogies.
284
+
285
+ ## Common Pitfalls
286
+ Table format for scannability:
287
+
288
+ | Pitfall | Why It Happens | How to Avoid |
289
+ |---------|---------------|--------------|
290
+ | {mistake} | {root cause} | {solution} |
291
+
292
+ ## Best Practices
293
+ 3-5 bullet points on how this is used in production / real-world scenarios. This bridges theory to the assignments.
294
+
295
+ ## Key Takeaways
296
+ 3-5 bullet points the user should remember after reading. These are memory anchors for the assignments.
297
+
298
+ ## Ready to Practice?
299
+ Brief bridge sentence to Assignment 1: "Now that you understand {concept}, open assignment 01-{name} to apply it."
300
+
301
+ STEP 4 — Create Assignment 1 (the first one) at:
259
302
  {TOPICS_DIR}/{topic}/assignments/01-{concept}/
260
303
 
261
304
  Create these files:
@@ -290,9 +333,9 @@ task(category="deep", run_in_background=false, timeout=600000, prompt="
290
333
  - Common mistakes and how to avoid them
291
334
  - Real-world connections
292
335
 
293
- STEP 4 — Create topic-progress.md at:
294
- {TOPICS_DIR}/{topic}/topic-progress.md
295
-
336
+ STEP 5 — Create topic-progress.md at:
337
+ {TOPICS_DIR}/{topic}/topic-progress.md
338
+
296
339
  This is the AUTHORITATIVE progress tracker for this topic. Structure:
297
340
 
298
341
  # Progress: {topic}
@@ -318,9 +361,10 @@ task(category="deep", run_in_background=false, timeout=600000, prompt="
318
361
  - Add topic entry with status 🔵 In Progress and a link to topic-progress.md
319
362
 
320
363
  5. MUST NOT DO:
321
- - Do NOT create all assignments at once — only create the first one. Subsequent assignments are generated on-demand as the user progresses.
364
+ - Do NOT create all assignments at once — only the first one. Subsequent assignments are generated on-demand as the user progresses.
322
365
  - Do NOT make assignments purely theoretical — use real-world scenarios
323
366
  - Do NOT skip the scaffold — the user should be able to start coding immediately
367
+ - Do NOT make topic-explanation.md too verbose — keep it scannable. If a section takes more than 2 minutes to read, it's too long.
324
368
  - Do NOT use any external packages that aren't standard library without noting it
325
369
  - Do NOT create assignments that are too easy (basic concept application) or too hard (leaps without foundation)
326
370
  - Do NOT leave TODOs in scaffold that require making unrelated architectural decisions
@@ -337,6 +381,7 @@ task(category="deep", run_in_background=false, timeout=600000, prompt="
337
381
 
338
382
  After completion, verify:
339
383
  - topic-roadmap.md exists with proper structure
384
+ - **topic-explanation.md exists with all required sections (TL;DR, Core Concepts, Examples, Pitfalls, Best Practices, Takeaways)**
340
385
  - Assignment 1 exists with all 4 files (question.md, test, scaffold, solution-guide.md)
341
386
  - Test script is syntactically valid (run a quick check)
342
387
 
@@ -362,7 +407,10 @@ Read the assignment files for the current topic:
362
407
  │ │
363
408
  │ {brief description of the assignment} │
364
409
  │ │
410
+ │ 📖 Start here: topic-explanation.md — read the theory first │
411
+ │ │
365
412
  │ Files: │
413
+ │ • Theory: {SKILL_DIR}/topics/{topic}/topic-explanation.md │
366
414
  │ • Question: {SKILL_DIR}/topics/{topic}/assignments/ │
367
415
  │ 01-{name}/question.md │
368
416
  │ • Scaffold: (same directory)/scaffold/ │
@@ -370,7 +418,8 @@ Read the assignment files for the current topic:
370
418
  │ • Solution guide: (same directory)/solution-guide.md │
371
419
  │ │
372
420
  │ To work on this: │
373
- │ 1. Read the question.md carefully
421
+ │ 1. Read topic-explanation.md for the concepts
422
+ │ 2. Read the question.md carefully │
374
423
  │ 2. Use the scaffold to write your solution │
375
424
  │ 3. Run the test to verify your solution │
376
425
  │ 4. Ask me questions if you're stuck │
@@ -723,6 +772,8 @@ If no git repo: ask if user wants to initialize one (same as /omnilearn-roadmap)
723
772
  | Skill roadmap exists | 0 | Tell user to run /omnilearn-roadmap first |
724
773
  | User preferences read | 0 | Read the files |
725
774
  | Topic roadmap exists (if needed) | 1.4 | Create it via deep subagent |
775
+ | topic-explanation.md exists with all sections (TL;DR, Concepts, Examples, Pitfalls, Best Practices, Takeaways) | 1.4 | Re-generate — topic-explanation.md is mandatory |
776
+ | topic-explanation.md is scannable (not verbose) | 1.4 | Trim to essential theory only |
726
777
  | Assignment 1 exists (question, test, scaffold, solution) | 1.4 | Fix incomplete assignment |
727
778
  | Assignment tests are syntactically valid | 1.4 | Quick syntax check, fix if broken |
728
779
  | topic-progress.md created when topic roadmap is made | 1.4 | Create it with proper structure |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnilearn-workflow",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "OmniLearn — AI-powered adaptive learning workflow for OpenCode. Multi-agent orchestration that creates personalized roadmaps, hands-on assignments, and tracks progress across any skill.",
5
5
  "keywords": [
6
6
  "opencode",