一键导入
learn
Use when ready to study a topic — embedded programming, electrical engineering, or networking — at your current skill level with hands-on challenges
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when ready to study a topic — embedded programming, electrical engineering, or networking — at your current skill level with hands-on challenges
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when setting up lutherskills for the first time — profiles your knowledge level, creates a learning workspace repo via gh, and runs a baseline diagnostic quiz
Use when you want to see your learning stats, current levels, completed challenges, streak info, and get recommendations for what to learn next
Use when you want a quick quiz session — rapid-fire multiple choice questions at your current level, good for 10-minute learning bursts
Use when you want a surprise learning challenge — something unexpected, obscure, or cross-domain to break routine and test your skills
基于 SOC 职业分类
| name | learn |
| description | Use when ready to study a topic — embedded programming, electrical engineering, or networking — at your current skill level with hands-on challenges |
The main learning engine. Picks a topic at your level, researches accurate content online, teaches the concept, then gives you a hands-on challenge to solve. Reviews your work and updates your progress.
/lutherskills:learn — auto-pick best topic
/lutherskills:learn embedded-programming — specific topic
Read profile.json from the learning repo. If no repo found, tell user to run /lutherskills:init first.
Identify:
If the user provided a topic arg (e.g., /lutherskills:learn embedded-programming):
If no arg provided, recommend based on:
Present recommendation: "I'd suggest [sub-topic] in [topic] — you're at [level] and it unlocks [next thing]. Sound good, or pick something else?"
Use WebSearch and WebFetch to find accurate, level-appropriate content:
Important: Cite sources in the lesson. Accuracy matters — wrong resistor values or protocol details can mislead.
Deliver a focused lesson:
Concept intro (~200 words max):
Comprehension check (2-3 inline multiple choice):
Create a challenge file in the learning repo:
File: challenges/<topic>/<sub-topic>-<NNN>-<slug>.md
Example: challenges/embedded-programming/peripherals-001-uart-echo.md
Challenge file structure:
# Challenge: [Title]
**Topic:** [topic] > [sub-topic]
**Level:** [beginner/intermediate/advanced]
**Date:** [YYYY-MM-DD]
**Sources:** [URLs used for research]
## Problem
[Clear problem description]
## Requirements
- [ ] Requirement 1
- [ ] Requirement 2
- [ ] Requirement 3
## Starter Code
[If applicable — create a separate .c/.py/.txt file next to the challenge]
## Acceptance Criteria
[How Claude will evaluate the solution]
## Solution File
Write your solution in: `<filename>`
For code challenges, also create the starter file next to the challenge markdown.
Tell the user: "Challenge created! Open [file path] and write your solution. Let me know when you're done and I'll review it."
When the user says they're done:
Update profile.json:
sub_topics.<sub-topic>.challenges_completedsub_topics.<sub-topic>.avg_score as rolling averagestats.total_challengesstats.last_active to todaystats.streak_days: increment if last_active was yesterday, reset to 1 if gap > 1 dayLevel-up check:
git add challenges/ profile.json
git commit -m "learn: complete [sub-topic] challenge — score [X]"
git push
Show session summary:
Sub-topics unlock top-to-bottom within each topic:
Electrical Engineering: fundamentals → analog-circuits → digital-logic → pcb-practical Embedded Programming: c-fundamentals → bare-metal → peripherals → rtos-concepts → lower-level Networking: fundamentals → protocols → hands-on → infrastructure Go Internals: fundamentals → runtime → gc-allocator → compiler-ssa Python Internals: fundamentals → bytecode-ceval → gc-gil → c-extensions TypeScript Internals: fundamentals → compiler-pipeline → type-system → tooling JS Engine Internals: fundamentals → v8-objects → jit-pipeline → gc
A sub-topic unlocks when the one above it reaches "beginner" level. The first sub-topic in each topic is always unlocked.
For golang-internals, python-internals, typescript-internals, and js-engine-internals topics, adapt the flow:
src/runtime/proc.go, Python/ceval.c, src/compiler/checker.ts, V8 blog). Cite commit SHAs or version tags when referencing source.notes/<topic>/<slug>.md with file+line citations, and (b) a toy implementation in projects/<topic>/<slug>/ that the user runs and tests.challenges/<topic>/resources.md for curated links before researching — start there, then augment with WebSearch if needed.