name: setup description: Interactive initial setup for Learn Quest. Configure your learning level, language, and feature preferences. argument-hint: ""
Learn Quest Setup
The user wants to set up Learn Quest for the first time.
Setup Flow
Guide the user through initial configuration with a friendly, interactive conversation.
Step 1: Language Selection (FIRST)
๐ฎ LEARN QUEST - Setup
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Select your language / ์ธ์ด๋ฅผ ์ ํํ์ธ์
1) English
2) ํ๊ตญ์ด
> Enter 1 or 2
IMPORTANT: All subsequent steps must be in the selected language.
English Flow (if user selected English)
Step 2: Welcome
Welcome! Let's configure your learning experience.
This will only take a moment.
Step 3: Scenario Question (Open-ended)
๐ Quick question to understand your perspective:
"You've been assigned a new feature to implement.
What do you do first, before writing any code?"
> Please share your approach freely
CRITICAL IMPLEMENTATION NOTE:
- Do NOT use AskUserQuestion for this step (it forces multiple choice)
- Simply output the question text above and STOP
- Wait for the user to type their free-form answer naturally
- The user's next message will contain their answer
- Then proceed to Step 4 to analyze their response
Step 4: Level Suggestion
Analyze the user's answer and suggest a level based on their perspective:
| Answer Pattern | Suggested Level |
|---|---|
| "Just start coding" / "Figure it out as I go" | Bronze |
| "Understand requirements" / "Look at examples" | Silver |
| "Check existing patterns" / "Consider edge cases, testing" | Gold |
| "Analyze dependencies, impact scope, architecture" | Platinum |
| "Align with stakeholders, consider maintenance, team onboarding" | Diamond |
๐ Based on your answer, I'd suggest [Level] level.
[Level] level means:
โข [perspective description]
โข [what explanations will focus on]
โข [example of explanation style]
Does this feel right?
1) Yes, that's right
2) I'd prefer more basics ([lower level])
3) I'd prefer more advanced ([higher level])
> Enter a number
Step 5: Feature - Info
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ Feature Setup (1/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Info (What & Why)
After Claude writes code, you'll see:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ What was done:
โ "Used useEffect here because we need to
โ fetch data when the component mounts."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enable this feature?
1) Yes (Recommended)
2) No
> Enter 1 or 2
Step 6: Feature - Direction
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ Feature Setup (2/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Direction (Improvements & Alternatives)
After Claude completes a task, you'll see:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Consider for the future:
โ "This works well, but if you later need
โ caching, consider useSWR or React Query."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enable this feature?
1) Yes (Recommended)
2) No
> Enter 1 or 2
Step 7: Feature - CS Knowledge
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ Feature Setup (3/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ก CS Knowledge (Related Concepts)
After explanations, you'll see:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก Related concept:
โ "This is the 'declarative programming' pattern.
โ Unlike imperative, you describe 'what' you want,
โ not 'how' to do it step by step."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enable this feature?
1) Yes (Recommended)
2) No
> Enter 1 or 2
Step 8: Feature - Quiz
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ Feature Setup (4/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Quiz (Test Understanding)
After learning something, you can test yourself:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Quick Check:
โ "Q: What does an empty dependency array []
โ in useEffect mean?"
โ A) Runs every render
โ B) Runs once on mount โ
โ C) Runs on state change
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Enable this feature?
1) Yes
2) No
> Enter 1 or 2
Step 9: Learning Timing (Trigger Conditions)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฏ Learning Timing
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
When should Learn Quest provide learning points?
(You can select multiple options)
1) When writing code (Recommended)
โ Get learning points when Claude writes/modifies code
2) When completing tasks
โ Get learning points when a feature/task is done
3) When answering questions
โ Get learning points when Claude answers your questions
4) All responses
โ Always provide learning points
5) Only when I ask
โ Only with /learn-quest:explain command
> Enter numbers separated by commas (e.g., 1,2)
Mapping to config:
- Option 1:
trigger.on_code_write: true - Option 2:
trigger.on_task_complete: true - Option 3:
trigger.on_question: true - Option 4:
trigger.on_all: true(overrides others) - Option 5: All triggers set to
false
Step 9b: Stash Mode
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ Stash Mode
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Too busy to learn right now?
Save learning points and study later!
Enable Stash mode?
1) Yes (Recommended) - Save points for later study
2) No - I'll learn in real-time only
> Enter 1 or 2
If user selects 1, ask about auto-prompt:
๐ฆ Prompt to save after completing tasks?
When you finish a task (e.g., "thanks", "done"),
Learn Quest can ask if you want to save learning points.
1) Yes (Recommended) - Remind me to save
2) No - I'll save manually with /learn-quest:stash
> Enter 1 or 2
Mapping to config:
- Stash Yes:
stash.enabled: true - Stash No:
stash.enabled: false - Prompt Yes:
stash.prompt_on_complete: true - Prompt No:
stash.prompt_on_complete: false
Step 10: Confirmation
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Setup Complete!
Your configuration:
โข Level: [selected level]
โข Language: English
โข Learning triggers:
- On code write: [ON/OFF]
- On task complete: [ON/OFF]
- On question: [ON/OFF]
- On all responses: [ON/OFF]
โข Stash mode: [ON/OFF] (prompt on complete: [ON/OFF])
โข Features:
- Info: [ON/OFF]
- Direction: [ON/OFF] (includes alternative suggestions)
- CS Knowledge: [ON/OFF]
- Quiz: [ON/OFF]
Config saved to: ~/.learn-quest/config.json
You're ready to go! Try:
โข /learn-quest:explain <concept> - Learn about something
โข /learn-quest:stash - Save learning points for later
โข /learn-quest:config - Change settings anytime
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Korean Flow (if user selected ํ๊ตญ์ด)
Step 2: Welcome
ํ์ํฉ๋๋ค! ํ์ต ํ๊ฒฝ์ ์ค์ ํด๋ณผ๊ฒ์.
๊ธ๋ฐฉ ๋๋ฉ๋๋ค.
Step 3: Scenario Question (Open-ended)
๐ ๊ฐ๋จํ ์ง๋ฌธ ํ๋ ๋๋ฆด๊ฒ์.
"์๋ก์ด ๊ธฐ๋ฅ์ ๋งก์์ด์.
์ฝ๋ ์์ฑ ์ ์ ๊ฐ์ฅ ๋จผ์ ๋ฌด์์ ํ์๋์?"
> ์์ ๋กญ๊ฒ ๋ต๋ณํด์ฃผ์ธ์
CRITICAL IMPLEMENTATION NOTE:
- Do NOT use AskUserQuestion for this step (it forces multiple choice)
- Simply output the question text above and STOP
- Wait for the user to type their free-form answer naturally
- The user's next message will contain their answer
- Then proceed to Step 4 to analyze their response
Step 4: Level Suggestion
Analyze the user's answer and suggest a level based on their perspective:
| ๋ต๋ณ ํจํด | ์ถ์ฒ ๋ ๋ฒจ |
|---|---|
| "์ผ๋จ ์ฝ๋ฉ๋ถํฐ" / "ํ๋ฉด์ ํ์ " | Bronze |
| "์๊ตฌ์ฌํญ ํ์ " / "์์ ์ฐพ์๋ด" | Silver |
| "๊ธฐ์กด ํจํด ํ์ธ" / "์ฃ์ง์ผ์ด์ค, ํ ์คํธ ๊ณ ๋ ค" | Gold |
| "์์กด์ฑ, ์ํฅ ๋ฒ์, ์ํคํ ์ฒ ๋ถ์" | Platinum |
| "์ดํด๊ด๊ณ์ ์ ๋ ฌ, ์ ์ง๋ณด์, ํ ์จ๋ณด๋ฉ ๊ณ ๋ ค" | Diamond |
๐ ๋ต๋ณ์ ๋ณด๋ [๋ ๋ฒจ] ๋ ๋ฒจ์ด ์ ํฉํด ๋ณด์ฌ์.
[๋ ๋ฒจ] ๋ ๋ฒจ์:
โข [๊ด์ ์ค๋ช
]
โข [์ด๋ค ์ค๋ช
์ ๋ฐ๊ฒ ๋๋์ง]
โข [์ค๋ช
์คํ์ผ ์์]
๋ง๋ ๊ฒ ๊ฐ๋์?
1) ๋ค, ์ ์ ํด์
2) ์ข ๋ ๊ธฐ์ด๋ถํฐ ([๋ฎ์ ๋ ๋ฒจ])
3) ์ข ๋ ์ฌํ๋ก ([๋์ ๋ ๋ฒจ])
> ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์
Step 5: Feature - Info
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ ๊ธฐ๋ฅ ์ค์ (1/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Info (๋ฌด์์ ์)
Claude๊ฐ ์ฝ๋ ์์ฑ ํ ์ด๋ฐ ์ค๋ช
์ ๋ณด๊ฒ ๋ผ์:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ ์์
๋ด์ฉ:
โ "์ฌ๊ธฐ์ useEffect๋ฅผ ์ด ์ด์ ๋ ์ปดํฌ๋ํธ๊ฐ
โ ๋ง์ดํธ๋ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํจ์ด์์."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
์ด ๊ธฐ๋ฅ์ ํ์ฑํํ ๊น์?
1) ์ (๊ถ์ฅ)
2) ์๋์ค
> 1 ๋๋ 2๋ฅผ ์
๋ ฅํ์ธ์
Step 6: Feature - Direction
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ ๊ธฐ๋ฅ ์ค์ (2/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Direction (๊ฐ์ ๋ฐฉํฅ)
Claude๊ฐ ์์
์๋ฃ ํ ์ด๋ฐ ์ ์์ ๋ณด๊ฒ ๋ผ์:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ ๋์ค์ ๊ณ ๋ คํด๋ณผ ์ :
โ "์ง๊ธ์ ์ ๋์ํ์ง๋ง, ์บ์ฑ์ด ํ์ํ๋ฉด
โ useSWR์ด๋ React Query๋ฅผ ๊ณ ๋ คํด๋ณด์ธ์."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
์ด ๊ธฐ๋ฅ์ ํ์ฑํํ ๊น์?
1) ์ (๊ถ์ฅ)
2) ์๋์ค
> 1 ๋๋ 2๋ฅผ ์
๋ ฅํ์ธ์
Step 7: Feature - CS Knowledge
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ ๊ธฐ๋ฅ ์ค์ (3/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ก CS Knowledge (๊ด๋ จ ๊ฐ๋
)
์ค๋ช
ํ ์ด๋ฐ CS ๊ฐ๋
์ฐ๊ฒฐ์ ๋ณด๊ฒ ๋ผ์:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก ๊ด๋ จ ๊ฐ๋
:
โ "์ด๊ฑด '์ ์ธ์ ํ๋ก๊ทธ๋๋ฐ' ํจํด์ด์์.
โ ๋ช
๋ นํ๊ณผ ๋ฌ๋ฆฌ '์ด๋ป๊ฒ'๊ฐ ์๋ '๋ฌด์์'
โ ์ํ๋์ง๋ง ๊ธฐ์ ํ์ฃ ."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
์ด ๊ธฐ๋ฅ์ ํ์ฑํํ ๊น์?
1) ์ (๊ถ์ฅ)
2) ์๋์ค
> 1 ๋๋ 2๋ฅผ ์
๋ ฅํ์ธ์
Step 8: Feature - Quiz
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ ๊ธฐ๋ฅ ์ค์ (4/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Quiz (์ดํด๋ ํ
์คํธ)
ํ์ต ํ ์ด๋ ๊ฒ ํ
์คํธํ ์ ์์ด์:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ ํต ์ฒดํฌ:
โ "Q: useEffect์ ๋น ์์กด์ฑ ๋ฐฐ์ด []์
โ ์ธ์ ์คํ๋ ๊น์?"
โ A) ๋งค ๋ ๋๋ง๋ง๋ค
โ B) ๋ง์ดํธ ์ ํ ๋ฒ๋ง โ
โ C) ์ํ ๋ณ๊ฒฝ ์
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
์ด ๊ธฐ๋ฅ์ ํ์ฑํํ ๊น์?
1) ์
2) ์๋์ค
> 1 ๋๋ 2๋ฅผ ์
๋ ฅํ์ธ์
Step 9: Learning Timing (Trigger Conditions)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฏ ํ์ต ํ์ด๋ฐ ์ค์
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Learn Quest๊ฐ ์ธ์ ํ์ต ํฌ์ธํธ๋ฅผ ์ ๊ณตํ ๊น์?
(๋ณต์ ์ ํ ๊ฐ๋ฅ)
1) ์ฝ๋ ์์ฑ ์ (๊ถ์ฅ)
โ Claude๊ฐ ์ฝ๋๋ฅผ ์์ฑ/์์ ํ ๋
2) ์์
/๊ธฐ๋ฅ ์์ฑ ์
โ ๊ธฐ๋ฅ์ด๋ ์์
์ด ์๋ฃ๋ ๋
3) ์ง๋ฌธ์ ๋ต๋ณํ ๋
โ Claude๊ฐ ์ง๋ฌธ์ ๋ต๋ณํ ๋
4) ๋ชจ๋ ์๋ต์์
โ ํญ์ ํ์ต ํฌ์ธํธ ์ ๊ณต
5) ์ง์ ์์ฒญํ ๋๋ง
โ /learn-quest:explain ๋ช
๋ น์ด๋ก๋ง
> ์ผํ๋ก ๊ตฌ๋ถํด์ ์
๋ ฅํ์ธ์ (์: 1,2)
์ค์ ๊ฐ ๋งคํ:
- 1๋ฒ:
trigger.on_code_write: true - 2๋ฒ:
trigger.on_task_complete: true - 3๋ฒ:
trigger.on_question: true - 4๋ฒ:
trigger.on_all: true(๋ค๋ฅธ ์ต์ ๋ฌด์) - 5๋ฒ: ๋ชจ๋ trigger๋ฅผ
false๋ก
Step 9b: Stash Mode
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ Stash ๋ชจ๋
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
์ง๊ธ์ ๋ฐ๋น ์ ํ์ตํ ์๊ฐ์ด ์๋์?
ํ์ต ํฌ์ธํธ๋ฅผ ์ ์ฅํด๋๊ณ ๋์ค์ ๊ณต๋ถํ ์ ์์ด์!
Stash ๋ชจ๋๋ฅผ ํ์ฑํํ ๊น์?
1) ์ (๊ถ์ฅ) - ๋์ค์ ๊ณต๋ถํ ์ ์๊ฒ ์ ์ฅ
2) ์๋์ค - ์ค์๊ฐ ํ์ต๋ง ํ ๊ฒ์
> 1 ๋๋ 2๋ฅผ ์
๋ ฅํ์ธ์
์ฌ์ฉ์๊ฐ 1์ ์ ํํ๋ฉด ์๋ ์ ์ ์ฌ๋ถ๋ฅผ ๋ฌผ์ด๋ด ๋๋ค:
๐ฆ ์์
์๋ฃ ์ ์ ์ฅ์ ์ ์ํ ๊น์?
์์
์ด ๋๋๋ฉด (์: "๊ณ ๋ง์", "๋์ด")
ํ์ต ํฌ์ธํธ๋ฅผ ์ ์ฅํ ์ง ๋ฌผ์ด๋ณผ ์ ์์ด์.
1) ์ (๊ถ์ฅ) - ์ ์ฅํ ์ง ๋ฌผ์ด๋ณด๊ธฐ
2) ์๋์ค - /learn-quest:stash๋ก ์ง์ ์ ์ฅ
> 1 ๋๋ 2๋ฅผ ์
๋ ฅํ์ธ์
์ค์ ๊ฐ ๋งคํ:
- Stash ์:
stash.enabled: true - Stash ์๋์ค:
stash.enabled: false - ์ ์ ์:
stash.prompt_on_complete: true - ์ ์ ์๋์ค:
stash.prompt_on_complete: false
Step 10: Confirmation
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
์ค์ ์๋ฃ!
์ค์ ๋ด์ฉ:
โข ๋ ๋ฒจ: [์ ํํ ๋ ๋ฒจ]
โข ์ธ์ด: ํ๊ตญ์ด
โข ํ์ต ํธ๋ฆฌ๊ฑฐ:
- ์ฝ๋ ์์ฑ ์: [ON/OFF]
- ์์
์์ฑ ์: [ON/OFF]
- ์ง๋ฌธ ๋ต๋ณ ์: [ON/OFF]
- ๋ชจ๋ ์๋ต: [ON/OFF]
โข Stash ๋ชจ๋: [ON/OFF] (์๋ฃ ์ ์ ์: [ON/OFF])
โข ๊ธฐ๋ฅ:
- Info: [ON/OFF]
- Direction: [ON/OFF] (๋์ ์ ์ ํฌํจ)
- CS Knowledge: [ON/OFF]
- Quiz: [ON/OFF]
์ค์ ์ ์ฅ ์์น: ~/.learn-quest/config.json
์ด์ ์์ํ์ธ์!
โข /learn-quest:explain <๊ฐ๋
> - ๊ฐ๋
์ค๋ช
๋ฐ๊ธฐ
โข /learn-quest:stash - ํ์ต ํฌ์ธํธ ์ ์ฅ
โข /learn-quest:config - ์ค์ ๋ณ๊ฒฝ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Level Description Templates
Use these when suggesting a level to the user:
Bronze
- EN: "Focuses on 'what is this?' with simple analogies and basic examples"
- KO: "'์ด๊ฒ ๋ญ์ง?' ๊ด์ ์ผ๋ก ์ฌ์ด ๋น์ ์ ๊ธฐ๋ณธ ์์ ์ค์ฌ"
Silver
- EN: "Focuses on 'how do I use this?' with implementation patterns and best practices"
- KO: "'์ด๋ป๊ฒ ์ฐ์ง?' ๊ด์ ์ผ๋ก ๊ตฌํ ํจํด๊ณผ ๋ฒ ์คํธ ํ๋ํฐ์ค ์ค์ฌ"
Gold
- EN: "Focuses on 'why this approach?' with trade-offs, alternatives, and internals"
- KO: "'์ ์ด ๋ฐฉ์์ด์ง?' ๊ด์ ์ผ๋ก ํธ๋ ์ด๋์คํ, ๋์, ๋ด๋ถ ๋์ ์ค์ฌ"
Platinum
- EN: "Focuses on 'what's the big picture?' with architecture, scalability, and team impact"
- KO: "'์ ์ฒด ๊ทธ๋ฆผ์?' ๊ด์ ์ผ๋ก ์ํคํ ์ฒ, ํ์ฅ์ฑ, ํ ์ํฅ ์ค์ฌ"
Diamond
- EN: "Focuses on 'what's the strategic view?' with business impact, org considerations, long-term"
- KO: "'์ ๋ต์ ๊ด์ ์?' ์ผ๋ก ๋น์ฆ๋์ค ์ํฅ, ์กฐ์ง ๊ณ ๋ ค, ์ฅ๊ธฐ์ ๊ด์ ์ค์ฌ"
Implementation Notes
- Use AskUserQuestion tool for most steps to get user input
- EXCEPTION - Step 3 (scenario question):
- Do NOT use AskUserQuestion (it requires multiple choice options)
- Instead, output the question as plain text and wait for user's next message
- Analyze the user's free-form response to determine their level
- Save config to
~/.learn-quest/config.json - Create directory if
~/.learn-quest/doesn't exist - Config format:
{
"level": "silver",
"language": "en",
"trigger": {
"on_code_write": true,
"on_task_complete": true,
"on_question": false,
"on_all": false
},
"features": {
"info": true,
"direction": true,
"cs_knowledge": true,
"quiz": false
},
"stash": {
"enabled": true,
"prompt_on_complete": true
},
"storage": "local"
}
Level mapping:
- "bronze", "silver", "gold", "platinum", "diamond"
Language mapping:
- 1 โ "en"
- 2 โ "ko"
Trigger mapping (Step 9):
- 1 โ
trigger.on_code_write: true - 2 โ
trigger.on_task_complete: true - 3 โ
trigger.on_question: true - 4 โ
trigger.on_all: true - 5 โ All triggers
false - Multiple selections: Set each selected trigger to
true
- 1 โ
Stash mapping (Step 9b):
- 1 โ
stash.enabled: true - 2 โ
stash.enabled: false - Prompt 1 โ
stash.prompt_on_complete: true - Prompt 2 โ
stash.prompt_on_complete: false
- 1 โ