Skip to content

Commit cbf2164

Browse files
committed
fix: clarify /progress prerequisite guidance
1 parent 3383b38 commit cbf2164

1 file changed

Lines changed: 34 additions & 33 deletions

File tree

β€Žcommands/progress.mdβ€Ž

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ Skills Seen But Not Quizzed πŸ†• ([count])
5151
─────────────────────────────
5252
[Concepts encountered but never quizzed]
5353
54-
πŸ”’ Locked Skills
55-
────────────────
56-
[Concepts whose prerequisites are not all mastered β€” see step 3b]
54+
Next Skills 🎯
55+
──────────────
56+
[Ready-to-learn and still-locked concepts with prerequisite status β€” see step 3b]
5757
5858
Recent Achievements πŸ†
5959
──────────────────────
@@ -64,36 +64,37 @@ Recent Achievements πŸ†
6464
Free & Open Source β€” github.com/dojocodinglabs/code-sensei
6565
```
6666

67-
3b. Build the **Locked Skills** section by reading `data/concept-tree.json`:
68-
69-
- Iterate over every concept in every category of `concept-tree.json`.
70-
- A concept is **locked** if it has at least one entry in its `prerequisites` array AND not all of those prerequisites appear in the user's `concepts_mastered` list.
71-
- A concept is **ready to learn** when ALL prerequisites are in `concepts_mastered` but the concept itself is not yet mastered (it may or may not be in `concepts_seen`).
72-
- For each locked concept, check each prerequisite ID against `concepts_mastered`:
73-
- Mastered prerequisite β†’ mark with βœ…
74-
- Unmastered prerequisite β†’ mark with ❌
75-
- Sort the locked concepts so that **"Ready to learn"** concepts (all prerequisites βœ…) appear first, followed by concepts that still have unmet prerequisites (at least one ❌), ordered by fewest unmet prerequisites first.
76-
- Skip concepts whose prerequisites array is empty β€” those are not locked, they are always available.
77-
- Skip concepts the user has already mastered.
78-
- Format each locked concept as one line:
79-
80-
```
81-
πŸ”’ [concept-id] β€” needs: [prereq-id] [βœ… or ❌], [prereq-id] [βœ… or ❌]
82-
```
83-
84-
Append ` (Ready to learn!)` at the end of the line when all prerequisites are βœ….
85-
86-
Example output:
87-
88-
```
89-
πŸ”’ Locked Skills
90-
────────────────
91-
πŸ”’ state-management β€” needs: react-components βœ…, objects βœ… (Ready to learn!)
92-
πŸ”’ middleware β€” needs: routes βœ…, servers ❌
93-
πŸ”’ effects β€” needs: state ❌, async-await ❌
94-
```
95-
96-
If there are no locked concepts (the user has mastered or seen everything), omit this section entirely.
67+
3b. Build the **Next Skills** section by reading `data/concept-tree.json`:
68+
69+
- Iterate over every concept in every category of `concept-tree.json`.
70+
- Include concepts that have at least one prerequisite AND are not yet in `concepts_mastered`.
71+
- A concept is **ready to learn** when ALL prerequisites are in `concepts_mastered` but the concept itself is not yet mastered (it may or may not be in `concepts_seen`).
72+
- A concept is **still locked** when at least one prerequisite is missing from `concepts_mastered`.
73+
- For each included concept, check each prerequisite ID against `concepts_mastered`:
74+
- Mastered prerequisite β†’ mark with βœ…
75+
- Unmastered prerequisite β†’ mark with ❌
76+
- Sort the concepts so that **"Ready to learn"** concepts (all prerequisites βœ…) appear first, followed by concepts that still have unmet prerequisites (at least one ❌), ordered by fewest unmet prerequisites first.
77+
- Skip concepts whose prerequisites array is empty β€” those are always available and do not belong in this section.
78+
- Skip concepts the user has already mastered.
79+
- Format each concept as one line:
80+
81+
```
82+
[🟒 or πŸ”’] [concept-id] β€” needs: [prereq-id] [βœ… or ❌], [prereq-id] [βœ… or ❌]
83+
```
84+
85+
Use `🟒` and append ` (Ready to learn!)` when all prerequisites are βœ…. Use `πŸ”’` when at least one prerequisite is still missing.
86+
87+
Example output:
88+
89+
```
90+
Next Skills 🎯
91+
──────────────
92+
🟒 state β€” needs: react-components βœ… (Ready to learn!)
93+
πŸ”’ middleware β€” needs: routes βœ…, servers ❌
94+
πŸ”’ effects β€” needs: state ❌, async-await ❌
95+
```
96+
97+
If there are no remaining concepts with prerequisites that are not yet mastered, omit this section entirely.
9798

9899
4. If the user is new (no profile), show a welcome instead:
99100

0 commit comments

Comments
Β (0)