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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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="$
|
|
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 "$
|
|
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
|
|
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
|
-
|
|
64
|
-
|
|
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="$
|
|
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
|
-
│
|
|
448
|
+
│ {SKILL_DIR}/runs/{timestamp}-roadmap-edit/ │
|
|
448
449
|
│ │
|
|
449
|
-
│ 📍 Updated roadmap:
|
|
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 "$
|
|
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
|
|
506
|
-
| topics/ directory accidentally modified | Revert: `git checkout
|
|
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
|
|
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
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
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="$
|
|
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 "$
|
|
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
|
|
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
|
|
186
|
-
ls -d "$
|
|
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:
|
|
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 "$
|
|
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 "$
|
|
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
|
|
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
|
-
|
|
31
|
-
├──
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
├──
|
|
35
|
-
├──
|
|
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="$
|
|
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 "$
|
|
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:
|
|
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 "$
|
|
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
|
+
"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",
|