omnilearn-workflow 1.0.4 → 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
|
|
@@ -143,7 +144,7 @@ TOPICS_DIR="$SKILL_DIR/topics"
|
|
|
143
144
|
For each topic directory found in `$TOPICS_DIR/`:
|
|
144
145
|
1. Read its `topic-progress.md` — extract:
|
|
145
146
|
- Topic name and overall status (✅ Completed / 🔵 In Progress / 🟢 Not Started)
|
|
146
|
-
- Which assignments are completed (1/3, 2/
|
|
147
|
+
- Which assignments are completed (e.g., 1/3, 2/2, 3/5 — not fixed to any number)
|
|
147
148
|
- Skills demonstrated (from the log)
|
|
148
149
|
- Last session date
|
|
149
150
|
2. List the assignments directory — note which assignment files exist
|
|
@@ -163,21 +164,21 @@ Write to this file with the following structure:
|
|
|
163
164
|
## Topics Inventory
|
|
164
165
|
| Topic | Status | Assignments Done | Skills Demonstrated | Last Activity |
|
|
165
166
|
|-------|--------|-----------------|---------------------|---------------|
|
|
166
|
-
| topic-1 | ✅ Completed | 3/3 | {list of skills} | {date} |
|
|
167
|
-
| topic-2 | 🔵 In Progress | 1/
|
|
168
|
-
| topic-3 | 🟢 Not Started | 0
|
|
167
|
+
| topic-1 | ✅ Completed | 3/3 (N=3 total) | {list of skills} | {date} |
|
|
168
|
+
| topic-2 | 🔵 In Progress | 1/2 (N=2 total) | {partial skills} | {date} |
|
|
169
|
+
| topic-3 | 🟢 Not Started | 0/— | — | — |
|
|
169
170
|
|
|
170
171
|
## Detailed Topic States
|
|
171
172
|
|
|
172
173
|
### topic-1 (✅ Completed)
|
|
173
174
|
- topic-progress.md: {TOPICS_DIR}/topic-1/topic-progress.md
|
|
174
|
-
- Assignments: 01-basics ✅, 02-intermediate ✅, 03-real-world ✅
|
|
175
|
+
- Assignments: 01-basics ✅, 02-intermediate ✅, 03-real-world ✅ (N=3 total)
|
|
175
176
|
- Skills: {extracted skills demonstrated}
|
|
176
177
|
- Sessions: {count} learning sessions in runs/
|
|
177
178
|
|
|
178
179
|
### topic-2 (🔵 In Progress)
|
|
179
180
|
- topic-progress.md: {TOPICS_DIR}/topic-2/topic-progress.md
|
|
180
|
-
- Assignments: 01-basics ✅, 02-intermediate
|
|
181
|
+
- Assignments: 01-basics ✅, 02-intermediate 🔵 (N=2 total planned so far — more can be added)
|
|
181
182
|
- Current assignment: {which one they're on}
|
|
182
183
|
- Skills: {extracted skills demonstrated so far}
|
|
183
184
|
- Sessions: {count} learning sessions
|
|
@@ -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
|
|
19
|
-
1.
|
|
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>/
|
|
@@ -251,11 +252,53 @@ task(category="deep", run_in_background=false, timeout=600000, prompt="
|
|
|
251
252
|
### 2. ...
|
|
252
253
|
|
|
253
254
|
## Assignment Structure
|
|
254
|
-
-
|
|
255
|
-
- Each builds on the previous
|
|
255
|
+
- N assignments with progressive difficulty: Basic → Intermediate → Real-World
|
|
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
|
|
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
|
-
|
|
294
|
-
|
|
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
|
|
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
|
|
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 │
|
|
@@ -547,10 +596,11 @@ task(category="unspecified-high", run_in_background=false, timeout=300000, promp
|
|
|
547
596
|
- Read the previous assignment(s) to ensure progression: {ASSIGNMENT_DIR}
|
|
548
597
|
- Read the user's learning preferences and history from {SKILL_PREFS}
|
|
549
598
|
- Research online for real-world applications of this topic at this difficulty level
|
|
550
|
-
- Create the assignment with INCREASING difficulty:
|
|
599
|
+
- Create the assignment with INCREASING difficulty following this PATTERN (more levels can be added as needed):
|
|
551
600
|
* Assignment 1: Basic understanding and application
|
|
552
601
|
* Assignment 2: Intermediate — combine concepts, handle edge cases
|
|
553
602
|
* Assignment 3: Real-world — full scenario, multiple concerns, best practices
|
|
603
|
+
* (Additional assignments can be created if the user needs more depth or practice)
|
|
554
604
|
- For each assignment, create these files in:
|
|
555
605
|
{TOPICS_DIR}/{topic}/assignments/0{n}-{concept-name}/
|
|
556
606
|
|
|
@@ -597,7 +647,7 @@ task(category="unspecified-high", run_in_background=false, timeout=300000, promp
|
|
|
597
647
|
|
|
598
648
|
### 4.3 When All Assignments Are Complete
|
|
599
649
|
|
|
600
|
-
When all
|
|
650
|
+
When all required assignments for a topic are done (the topic-roadmap defines how many; the default progression is 3 but more can be added):
|
|
601
651
|
|
|
602
652
|
1. **Update `topic-progress.md`** — set overall status to ✅ Completed, finalize all assignment statuses.
|
|
603
653
|
2. **Update `progress-index.md`** — mark topic as ✅ Completed (this is the overview index).
|
|
@@ -722,6 +772,8 @@ If no git repo: ask if user wants to initialize one (same as /omnilearn-roadmap)
|
|
|
722
772
|
| Skill roadmap exists | 0 | Tell user to run /omnilearn-roadmap first |
|
|
723
773
|
| User preferences read | 0 | Read the files |
|
|
724
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 |
|
|
725
777
|
| Assignment 1 exists (question, test, scaffold, solution) | 1.4 | Fix incomplete assignment |
|
|
726
778
|
| Assignment tests are syntactically valid | 1.4 | Quick syntax check, fix if broken |
|
|
727
779
|
| topic-progress.md created when topic roadmap is made | 1.4 | Create it with proper structure |
|
|
@@ -777,7 +829,7 @@ Each level should feel meaningfully harder. The jump from 02 to 03 should be the
|
|
|
777
829
|
- ❌ Do NOT write explanations when user has a doubt — generate a diagnostic task instead
|
|
778
830
|
- ❌ Do NOT give away solutions when the user is stuck — give them tasks that lead to the answer
|
|
779
831
|
- ❌ Do NOT skip scaffold files — the user needs a starting point
|
|
780
|
-
- ❌ Do NOT make all
|
|
832
|
+
- ❌ Do NOT make all assignments the same difficulty — progression is critical. Each should be noticeably harder than the last.
|
|
781
833
|
- ❌ Do NOT let runs/ contain progress state — runs/ is for action logs only, topic-progress.md is the source of truth
|
|
782
834
|
- ❌ Do NOT skip updating topic-progress.md — it's the authoritative progress record per topic
|
|
783
835
|
- ❌ Do NOT lose the user's work or progress — always read topic-progress.md before acting
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnilearn-workflow",
|
|
3
|
-
"version": "1.0.
|
|
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",
|