Use when you want a surprise learning challenge — something unexpected, obscure, or cross-domain to break routine and test your skills
Unpredictable challenges that make learning fun. Each session randomly picks one of three modes, researches something fascinating, and drops you into it.
At least one topic at "beginner" level or above. Run /lutherskills:init first if needed.
Read profile.json. Verify at least one sub-topic is at beginner+.
Randomly select one of three modes. To add randomness, use the current timestamp's last digit: 0-3 = deep-dive, 4-6 = fusion (if 2+ topics active, else deep-dive), 7-9 = reverse engineering.
Check recent magic challenges in challenges/magic/ to avoid repeating the same mode three times in a row.
Pick an obscure, fascinating topic adjacent to something the user is learning. Research it online and create a "did you know?" lesson with a challenge.
Examples by topic:
Steps:
Announce: "DEEP DIVE — Down the rabbit hole..."
Combine two of the user's active topics into one challenge. Only available if user has 2+ active topics.
Examples:
Steps:
Announce: "FUSION — Where worlds collide..."
Drop a mystery artifact with zero context. The user figures out what it does.
Artifact types:
Steps:
Announce: "MYSTERY — What is this thing?"
Create challenge file: challenges/magic/<mode>-<NNN>-<slug>.md
Examples:
challenges/magic/deep-dive-001-555-drum-machines.mdchallenges/magic/fusion-001-uart-level-shifter.mdchallenges/magic/reverse-001-mystery-crc.mdChallenge file includes:
Tell the user what to do and where to write their solution.
After user submits solution:
The reveal is half the learning value — don't skip it.
Award magic points based on score:
Update profile.json:
stats.magic_points += awardedstats.total_challenges += 1stats.last_active and streak updateCommit and push:
git add challenges/magic/ profile.json
git commit -m "magic: [mode] — [slug], score [X], +[N] magic points"
git push
Show: "+[N] magic points! Total: [total]. Next mystery awaits..."