Assess learner's prior Copilot knowledge and customize their tutorial journey by skipping content they already know. Invoke when user starts the tutorial or says 'start', 'begin', or 'assess my level'.
This skill helps learners skip content they're already familiar with, creating a personalized learning path through the GitHub Copilot tutorials.
Before presenting the self-assessment, read progress.json from the repository root. If the file exists, is valid JSON, and shows meaningful progress, offer to resume instead of starting fresh.
Meaningful progress means ANY of these are true:
currentLesson is set and > 1xp is > 0lessons has "status": "completed" or "status": "in_progress"If meaningful progress is found:
Summarize the existing progress briefly, e.g.:
"Welcome back! 👋 I see you have existing progress:"
Ask the user what they'd like to do using the ask_user tool:
Handle the user's choice:
skillLevel and currentLesson. No changes to progress.json.progress.json to the default template (clear all lessons, XP, achievements) and proceed to Step 1 for a fresh self-assessment.progress.json in Step 3, preserve existing lessons completion data (as described in the Re-Assessment section below).If no meaningful progress is found (new user or empty progress), proceed directly to Step 1.
When invoked, present these 4 options to the user in a clear, formatted list and wait for their response:
Question: "What's your current experience with GitHub Copilot?"
Choices:
Based on the user's selection, determine their skill level and lessons to skip:
| Selection | Skill Level | Skip Lessons | Start At |
|---|---|---|---|
| "I'm completely new to Copilot" | beginner | [] (none) | Lesson 1 |
| "I know Chat basics but not CLI" | intermediate | [1, 2, 3, 4] | Lesson 5 (Copilot CLI Fundamentals) |
| "I know both Chat and CLI basics" | advanced | [1, 2, 3, 4, 5, 6, 7] | Lesson 8 (Instructions & Skills) |
| "I'm advanced - show me custom agents/MCP only" | expert | [1, 2, 3, 4, 5, 6, 7, 8] | Lesson 9 (Building an MCP Tool) |
Read the current progress.json file from the repository root and update it with:
{
"version": "1.0",
"started_at": "<current ISO timestamp>",
"skillLevel": "<beginner|intermediate|advanced|expert>",
"skippedLessons": [<array of lesson numbers to skip>],
"lessons": {}
}
Important: Use the edit tool to update the file. Set started_at to the current timestamp if it's null.
After updating progress.json, provide guidance based on skill level and current platform.
If in Copilot CLI:
"Great! You're starting from the beginning with Copilot Chat lessons."
📋 Lessons 1-4 are best done in VS Code Copilot Chat!
Here's how to get set up:
- Ensure GitHub Copilot Chat is installed in VS Code
- Open VS Code → Extensions → search "GitHub Copilot Chat" → Install
- Open Copilot Chat — click the 💬 chat icon to the right of the search bar in VS Code
- Add context — click "Add Context" in the Chat panel, then add the
github-copilot-tutorialsfolder- Start the tutorial — type "start tutorial" in the Chat
- Close this CLI session — type
/exitto close Copilot CLI for nowYou'll come back to the CLI for Lessons 5-9! 🚀
If in VS Code Chat:
"Great! You're starting from the beginning. Let's begin with Lesson 1: Introduction to Copilot Chat. Type 'start lesson 1' when ready."
"Since you know Chat basics, you'll start with the CLI section. Lessons 1-4 are marked as skipped but available if you want to review them. Type 'start lesson 5' when ready."
Note: If user is in VS Code Chat, remind them to switch to Copilot CLI for lessons 5+.
"You're jumping to the customization content. Lessons 1-7 are available for reference if needed. Type 'start lesson 8' when ready."
"Let's dive into the advanced topics! Lessons 1-8 are available if you want to revisit anything. Type 'start lesson 9' when ready."
For mapping purposes, here's the expected lesson structure:
Chat Section (Lessons 1-4):
CLI Section (Lessons 5-7):
Customization Section (Lessons 8-9):
When showing the tutorial outline or lesson list:
Example display for intermediate user:
⏭️ Lesson 1: Introduction to Copilot Chat (skipped - click to expand)
⏭️ Lesson 2: Effective Prompting (skipped - click to expand)
⏭️ Lesson 3: Slash Commands (skipped - click to expand)
⏭️ Lesson 4: Chat Participants (@workspace, @terminal) (skipped - click to expand)
→ Lesson 5: Copilot CLI Fundamentals (START HERE)
Lesson 6: Agentic Workflows in CLI
Lesson 7: Advanced Agentic Workflows — Fleet Mode & TDD
Lesson 8: Instructions & Skills
Lesson 9: Building an MCP Tool
If a user wants to change their skill level:
lessons completion data when updating skill level