omnilearn-workflow 1.0.3 → 1.0.4

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.
@@ -37,9 +37,20 @@ This global location is always accessible regardless of which project directory
37
37
 
38
38
  ```
39
39
  {learningDirectory}/
40
- └── .omnilearn/
41
- ├── config.json ← Mirror of the global config (for reference)
42
- └── UserPreferences.md ← Global user preferences (auto-populated)
40
+ ├── .omnilearn/ ← ONLY configuration and global preferences
41
+ ├── config.json ← Mirror of the global config (for reference)
42
+ └── UserPreferences.md ← Global user preferences (auto-populated)
43
+
44
+ ├── <skill>/ ← Skills live at the ROOT of learning directory
45
+ │ ├── roadmap.md
46
+ │ ├── SkillPreferences.md
47
+ │ ├── SkillConventions.md
48
+ │ ├── progress-index.md
49
+ │ ├── runs/
50
+ │ └── topics/
51
+
52
+ └── <another-skill>/ ← Each skill is its own top-level folder
53
+ └── ...
43
54
  ```
44
55
 
45
56
  ## Phase 0: CHECK EXISTING CONFIG
@@ -117,7 +128,8 @@ sed -i "s|DATE_PLACEHOLDER|$(date +%Y-%m-%d)|g" "$OMNILEARN_CONFIG"
117
128
  ### 2.2 Create Base Directory Structure
118
129
 
119
130
  ```bash
120
- # Create .omnilearn in the learning directory
131
+ # Create .omnilearn in the learning directory (config only)
132
+ # Skills will be created as top-level directories at $LEARNING_DIR
121
133
  OMNILEARN_DIR="$LEARNING_DIR/.omnilearn"
122
134
  mkdir -p "$OMNILEARN_DIR"
123
135
 
@@ -25,7 +25,7 @@ Both scenarios follow the same core flow: research → analyze → produce struc
25
25
  ## Directory Structure
26
26
 
27
27
  ```
28
- .omnilearn/<skill>/
28
+ <skill>/ ← Skill at learning directory root
29
29
  ├── roadmap.md
30
30
  ├── SkillPreferences.md
31
31
  ├── SkillConventions.md ← 🔑 Setup conventions read for consistent diagnostic tasks
@@ -121,7 +121,7 @@ fi
121
121
 
122
122
  LEARNING_DIR=$(grep -o '"learningDirectory"[[:space:]]*:[[:space:]]*"[^"]*"' "$OMNILEARN_CONFIG" | sed 's/"learningDirectory"[[:space:]]*:[[:space:]]*"//' | sed 's/"$//')
123
123
  OMNILEARN_DIR="$LEARNING_DIR/.omnilearn"
124
- SKILL_DIR="$OMNILEARN_DIR/<skill>"
124
+ SKILL_DIR="$LEARNING_DIR/<skill>"
125
125
  TOPIC_DIR="$SKILL_DIR/topics/<topic>"
126
126
  TOPIC_ROADMAP="$TOPIC_DIR/topic-roadmap.md"
127
127
  CURRENT_RUN="$SKILL_DIR/runs/$(date +%s)-refine-<topic>"
@@ -410,7 +410,7 @@ Write to `$CURRENT_RUN/agent-log.md`:
410
410
 
411
411
  ```bash
412
412
  if git rev-parse --git-dir > /dev/null 2>&1; then
413
- git add "$OMNILEARN_DIR/"
413
+ git add "$LEARNING_DIR/"
414
414
  git commit -m "omnilearn: refine topic '{topic}' in {skill}
415
415
 
416
416
  - {summary of what was done}
@@ -442,7 +442,7 @@ If no git repo: ask if user wants to initialize one (same pattern).
442
442
  | Topic not found | Suggest available topics from the skill roadmap |
443
443
  | User's question is too vague | Ask clarifying questions before researching |
444
444
  | Research yields poor results | Try alternative search queries, broaden scope |
445
- | Refinement accidentally modifies assignments | Revert: `git checkout .omnilearn/{skill}/topics/{topic}/assignments/` |
445
+ | Refinement accidentally modifies assignments | Revert: `git checkout $SKILL_DIR/topics/$TOPIC/assignments/` |
446
446
  | User wants to undo refinement | Archive current, restore from git or previous file in runs/ |
447
447
  | User has multiple questions | Answer the most foundational one first, then the dependent ones |
448
448
 
@@ -59,14 +59,15 @@ This command performs the same rigorous research-backed process as `/omnilearn-r
59
59
  ## Directory Structure Reference
60
60
 
61
61
  ```
62
- .omnilearn/
63
- ├── UserPreferences.md
64
- └── <skill-name>/
62
+ .omnilearn/ ← Config only
63
+ └── UserPreferences.md
64
+
65
+ <skill-name>/ ← Skill at learning directory root
65
66
  ├── SkillPreferences.md
66
67
  ├── SkillConventions.md ← Preserved during edits
67
68
  ├── roadmap.md ← Will be updated
68
69
  ├── progress-index.md ← Must be preserved & updated
69
- ├── runs/
70
+ ├── runs/ ← Action logs
70
71
  │ └── YYYY-MM-DD-HHMMSS-roadmap-edit/
71
72
  │ ├── agent-log.md
72
73
  │ ├── research-changes.md ← Research on requested changes
@@ -110,7 +111,7 @@ fi
110
111
 
111
112
  LEARNING_DIR=$(grep -o '"learningDirectory"[[:space:]]*:[[:space:]]*"[^"]*"' "$OMNILEARN_CONFIG" | sed 's/"learningDirectory"[[:space:]]*:[[:space:]]*"//' | sed 's/"$//')
112
113
  OMNILEARN_DIR="$LEARNING_DIR/.omnilearn"
113
- SKILL_DIR="$OMNILEARN_DIR/<skill>"
114
+ SKILL_DIR="$LEARNING_DIR/<skill>"
114
115
  ROADMAP="$SKILL_DIR/roadmap.md"
115
116
  RUNS_DIR="$SKILL_DIR/runs"
116
117
  TOPICS_DIR="$SKILL_DIR/topics"
@@ -444,9 +445,9 @@ Write to `$ARCHIVE_DIR/agent-log.md`:
444
445
  │ • Preserved: All progress data intact │
445
446
  │ │
446
447
  │ 🔗 Previous version archived at: │
447
- .omnilearn/{skill}/runs/{timestamp}-roadmap-edit/
448
+ │ {SKILL_DIR}/runs/{timestamp}-roadmap-edit/
448
449
  │ │
449
- │ 📍 Updated roadmap: .omnilearn/{skill}/roadmap.md
450
+ │ 📍 Updated roadmap: {SKILL_DIR}/roadmap.md
450
451
  │ │
451
452
  │ ┌─ Change Preview ──────────────────────────────────────────┐ │
452
453
  │ │ {brief summary of the most significant changes} │ │
@@ -463,7 +464,7 @@ Write to `$ARCHIVE_DIR/agent-log.md`:
463
464
 
464
465
  ```bash
465
466
  if git rev-parse --git-dir > /dev/null 2>&1; then
466
- git add "$OMNILEARN_DIR/"
467
+ git add "$LEARNING_DIR/"
467
468
  git commit -m "omnilearn: update roadmap for {skill}
468
469
 
469
470
  - {change summary}
@@ -502,8 +503,8 @@ If no git repo: same flow as `/omnilearn-roadmap` — ask if the user wants to i
502
503
  | User says "you deleted my progress!" | STOP. Restore from archive. The topics/ directory must be fully intact with git checkout. |
503
504
  | Change analysis conflicts with online research | Present both perspectives, ask user which to follow |
504
505
  | Progress markers accidentally changed | Restore from archived old roadmap |
505
- | topic-progress.md accidentally modified | Revert: `git checkout .omnilearn/{skill}/topics/{topic}/topic-progress.md` |
506
- | topics/ directory accidentally modified | Revert: `git checkout .omnilearn/{skill}/topics/` |
506
+ | topic-progress.md accidentally modified | Revert: `git checkout {SKILL_DIR}/topics/{topic}/topic-progress.md` |
507
+ | topics/ directory accidentally modified | Revert: `git checkout {SKILL_DIR}/topics/` |
507
508
  | Topic renamed but topic-progress.md path broken | Move directory back, use a symlink or alias instead |
508
509
  | User's requested change is too vague | Ask clarifying questions before proceeding |
509
510
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Create a comprehensive, real-world-ready learning roadmap for any skill or subject. Uses multi-agent research to design optimal learning paths with practical, hands-on focus. Stores structured output in .omnilearn/ for continuous learning.
2
+ description: Create a comprehensive, real-world-ready learning roadmap for any skill or subject. Uses multi-agent research to design optimal learning paths with practical, hands-on focus. Stores structured output in the learning directory for continuous learning.
3
3
  ---
4
4
 
5
5
  # /omnilearn-roadmap — Create a Comprehensive Learning Roadmap
@@ -15,13 +15,14 @@ description: Create a comprehensive, real-world-ready learning roadmap for any s
15
15
  ## Directory Structure
16
16
 
17
17
  ```
18
- .omnilearn/
19
- ├── UserPreferences.md ← Global user preferences (auto-read + updated)
20
- └── <skill-name>/ ← Normalized skill folder (e.g., "Rust", "Machine-Learning")
21
- ├── SkillPreferences.md Per-skill learning preferences
22
- ├── SkillConventions.md 🔑 Setup conventions: package manager, project structure, deps, testing (auto-learned)
23
- ├── roadmap.md Master roadmap (the main deliverable)
24
- ├── progress-index.md Progress log index of all runs
18
+ .omnilearn/ ← ONLY config and global preferences
19
+ ├── UserPreferences.md ← Global user preferences (auto-read + updated)
20
+
21
+ <skill-name>/ Skills at LEARNING DIRECTORY ROOT
22
+ ├── SkillPreferences.md Per-skill learning preferences
23
+ ├── SkillConventions.md 🔑 Setup conventions: package manager, project structure, deps, testing (auto-learned)
24
+ ├── roadmap.md Master roadmap (the main deliverable)
25
+ ├── progress-index.md ← Progress log — index of all runs
25
26
  ├── runs/ ← Research & execution logs
26
27
  │ └── YYYY-MM-DD-HHMMSS-roadmap-creation/
27
28
  │ ├── agent-log.md ← What this run did, decisions made
@@ -87,7 +88,10 @@ OMNILEARN_DIR="$LEARNING_DIR/.omnilearn"
87
88
  echo "Using learning directory: $LEARNING_DIR"
88
89
  ```
89
90
 
90
- All subsequent paths in this command use `$OMNILEARN_DIR` as the base.
91
+ **Path convention:**
92
+ - `$OMNILEARN_DIR` = `$LEARNING_DIR/.omnilearn/` — **ONLY** config + UserPreferences.md
93
+ - `$SKILL_DIR` = `$LEARNING_DIR/<skill>/` — skill folders are at the learning directory ROOT
94
+ - All cross-skill scans use `$LEARNING_DIR/*/` (excluding `.omnilearn`)
91
95
 
92
96
  ## Current Date Context (CRITICAL — Must Pass to ALL Subagents)
93
97
 
@@ -147,18 +151,18 @@ If the input is too vague (e.g., "I want to learn something"), ask for clarifica
147
151
  ### 0.2 Check Prerequisites
148
152
 
149
153
  ```bash
150
- SKILL_DIR="$OMNILEARN_DIR/<skill-name>"
154
+ SKILL_DIR="$LEARNING_DIR/<skill-name>"
151
155
  RUNS_DIR="$SKILL_DIR/runs"
152
156
  TOPICS_DIR="$SKILL_DIR/topics"
153
157
 
154
158
  # Create base omnilearn dir if not exists
155
- mkdir -p "$OMNILEARN_DIR"
159
+ mkdir -p "$SKILL_DIR"
156
160
  ```
157
161
 
158
162
  ### 0.3 Check for Existing Skill
159
163
 
160
164
  If `$SKILL_DIR` already has a `roadmap.md`, inform the user:
161
- > "A roadmap for **{skill}** already exists at `.omnilearn/{skill}/roadmap.md`. To revise it, use `/omnilearn-roadmap-edit`. To start learning, use `/omnilearn-start`."
165
+ > "A roadmap for **{skill}** already exists at `{SKILL_DIR}/roadmap.md`. To revise it, use `/omnilearn-roadmap-edit`. To start learning, use `/omnilearn-start`."
162
166
 
163
167
  If the user wants to overwrite, note it and proceed (archive old roadmap to runs/ first).
164
168
 
@@ -182,9 +186,11 @@ Read `UserPreferences.md` if it exists. Key signals to extract:
182
186
  **This is mandatory.** Scan the learning directory for ALL existing skills the user has already learned or is learning:
183
187
 
184
188
  ```bash
185
- # List all existing skill directories inside .omnilearn/
186
- ls -d "$OMNILEARN_DIR"/*/ 2>/dev/null | while read dir; do
189
+ # List all existing skill directories at learning root (NOT .omnilearn/)
190
+ ls -d "$LEARNING_DIR"/*/ 2>/dev/null | while read dir; do
187
191
  skill_name=$(basename "$dir")
192
+ # Skip .omnilearn — it's config only
193
+ [ "$skill_name" = ".omnilearn" ] && continue
188
194
  # Read their progress to understand what the user already knows
189
195
  if [ -f "$dir/progress-index.md" ]; then
190
196
  echo "Existing skill: $skill_name — checking progress..."
@@ -535,7 +541,7 @@ Write to the agent log file documenting:
535
541
  │ ✅ Roadmap Created: {skill} │
536
542
  ├──────────────────────────────────────────────────────────────────┤
537
543
  │ │
538
- │ 📍 Location: .omnilearn/{skill}/roadmap.md
544
+ │ 📍 Location: {SKILL_DIR}/roadmap.md
539
545
  │ │
540
546
  │ 📊 Roadmap Overview: │
541
547
  │ • Foundation: {N} topics — build the fundamentals │
@@ -582,7 +588,7 @@ fi
582
588
 
583
589
  If git repo exists:
584
590
  ```bash
585
- git add "$OMNILEARN_DIR/"
591
+ git add "$LEARNING_DIR/"
586
592
  git commit -m "omnilearn: create learning roadmap for {skill}
587
593
 
588
594
  - Added master roadmap with foundation, core, advanced, and real-world topics
@@ -597,7 +603,7 @@ If no git repo exists, ask:
597
603
  If yes:
598
604
  ```bash
599
605
  git init
600
- git add "$OMNILEARN_DIR/"
606
+ git add "$LEARNING_DIR/"
601
607
  git commit -m "omnilearn: initialize learning environment with {skill} roadmap"
602
608
  ```
603
609
 
@@ -613,7 +619,7 @@ Mark the task as complete. Update UserPreferences.md if new relevant information
613
619
  |-------|-------|-----------------|
614
620
  | Content research subagent completed | 1 | Block — must have research |
615
621
  | Learning path subagent completed | 1 | Block — must have research |
616
- | Cross-skill inventory scanned | 0 | Scan .omnilearn/ directories |
622
+ | Cross-skill inventory scanned | 0 | Scan $LEARNING_DIR/*/ (skip .omnilearn) |
617
623
  | User level extracted from preferences | 0 | Infer from available signals |
618
624
  | Roadmap has 5+ substantive topics | 2 | Re-synthesize with fix |
619
625
  | Roadmap skips topics user already knows | 2 | Re-synthesize — remove redundant basics |
@@ -27,12 +27,15 @@ The goal metric: **Can the user apply what they learned to real-world problems t
27
27
  ## Directory Structure
28
28
 
29
29
  ```
30
- .omnilearn/<skill>/
31
- ├── roadmap.md
32
- ├── SkillPreferences.md
33
- ├── SkillConventions.md 🔑 Setup conventions: package manager, project structure, deps, testing preferences (auto-learned)
34
- ├── progress-index.md ← Overview index: links to topic-progress.md per topic
35
- ├── runs/ ← Skill-level run logs (action logs only, NOT progress)
30
+ {learningDirectory}/
31
+ ├── .omnilearn/ ← Config only (config.json, UserPreferences.md)
32
+
33
+ └── <skill>/ Skills at learning root
34
+ ├── roadmap.md
35
+ ├── SkillPreferences.md
36
+ ├── SkillConventions.md ← 🔑 Setup conventions: package manager, project structure, deps, testing (auto-learned)
37
+ ├── progress-index.md ← Overview index: links to topic-progress.md per topic
38
+ ├── runs/ ← Skill-level run logs (action logs only, NOT progress)
36
39
  │ └── YYYY-MM-DD-HHMMSS-learning-<topic>/
37
40
  │ ├── agent-log.md ← What happened this run: decisions, actions taken
38
41
  │ ├── interaction-1.md ← User Q&A interaction record
@@ -127,7 +130,7 @@ fi
127
130
 
128
131
  LEARNING_DIR=$(grep -o '"learningDirectory"[[:space:]]*:[[:space:]]*"[^"]*"' "$OMNILEARN_CONFIG" | sed 's/"learningDirectory"[[:space:]]*:[[:space:]]*"//' | sed 's/"$//')
129
132
  OMNILEARN_DIR="$LEARNING_DIR/.omnilearn"
130
- SKILL_DIR="$OMNILEARN_DIR/<skill>"
133
+ SKILL_DIR="$LEARNING_DIR/<skill>"
131
134
  ROADMAP="$SKILL_DIR/roadmap.md"
132
135
  PROGRESS_INDEX="$SKILL_DIR/progress-index.md"
133
136
  TOPICS_DIR="$SKILL_DIR/topics"
@@ -158,8 +161,9 @@ Read these files to understand the current state:
158
161
 
159
162
  **Cross-skill inventory** — Scan the learning directory for other skills the user has learned:
160
163
  ```bash
161
- ls -d "$OMNILEARN_DIR"/*/ 2>/dev/null | while read dir; do
164
+ ls -d "$LEARNING_DIR"/*/ 2>/dev/null | while read dir; do
162
165
  skill_name=$(basename "$dir")
166
+ [ "$skill_name" = ".omnilearn" ] && continue
163
167
  if [ "$skill_name" != "$SKILL_NAME" ] && [ -f "$dir/progress-index.md" ]; then
164
168
  echo "Related skill: $skill_name — can integrate with $SKILL_NAME"
165
169
  fi
@@ -359,7 +363,7 @@ Read the assignment files for the current topic:
359
363
  │ {brief description of the assignment} │
360
364
  │ │
361
365
  │ Files: │
362
- │ • Question: .omnilearn/{skill}/topics/{topic}/assignments/
366
+ │ • Question: {SKILL_DIR}/topics/{topic}/assignments/
363
367
  │ 01-{name}/question.md │
364
368
  │ • Scaffold: (same directory)/scaffold/ │
365
369
  │ • Test: (same directory)/test.{ext} │
@@ -699,7 +703,7 @@ Write to `$CURRENT_RUN/agent-log.md`:
699
703
 
700
704
  ```bash
701
705
  if git rev-parse --git-dir > /dev/null 2>&1; then
702
- git add "$OMNILEARN_DIR/"
706
+ git add "$LEARNING_DIR/"
703
707
  git commit -m "omnilearn: learning session — {skill}/{topic}
704
708
 
705
709
  - Completed assignment(s): {list}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnilearn-workflow",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
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",