coding-tutor
Personalized coding tutorials that build on your existing knowledge and use your actual codebase for examples.
Skill by gvkhosla
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gvkhosla-coding-tutor
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
coding-tutor- Description
- Personalized coding tutorials that build on your existing knowledge and use your actual codebase for examples. Creates a persistent learning trail that compounds over time using the power of AI, spaced repetition and quizes.
- License
- MIT
- Instructions
- 211 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- SKILL.md
- create_tutorial.py · scripts/
- index_tutorials.py · scripts/
- quiz_priority.py · scripts/
- setup_tutorials.py · scripts/
SKILL.md (first lines)
This skill creates personalized coding tutorials that evolve with the learner. Each tutorial builds on previous ones, uses real examples from the current codebase, and maintains a persistent record of concepts mastered.
The user asks to learn something - either a specific concept or an open "teach me something new" request.
## Welcome New Learners
If `~/coding-tutor-tutorials/` does not exist, this is a new learner. Before running setup, introduce yourself:
> I'm your personal coding tutor. I create tutorials tailored to you - using real code from your projects, building on what you already know, and tracking your progress over time.
>
> All your tutorials live in one central library (`~/coding-tutor-tutorials/`) that works across all your projects. Use `/teach-me` to learn something new, `/quiz-me` to test your retention with spaced repetition.
Then proceed with setup and onboarding.
## Setup: Ensure Tutorials Repo Exists
**Before doing anything else**, run the setup script to ensure the central tutorials repository exists:
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/coding-tutor/scripts/setup_tutorials.py
```
This creates `~/coding-tutor-tutorials/` if it doesn't exist. All tutorials and the learner profile are stored there, shared across all your projects.
## First Step: Know Your Learner
**Always start by reading `~/coding-tutor-tutorials/learner_profile.md` if it exists.** This profile contains crucial context about who you're teaching - their background, goals, and personality. Use it to calibrate everything: what analogies will land, how fast to move, what examples resonate.
If no tutorials exist in `~/coding-tutor-tutorials/` AND no learner profile exists at `~/coding-tutor-tutorials/learner_profile.md`, this is a brand new learner. Before teaching anything, you need to understand who you're teaching.
**Onboarding Interview:**
Ask these three questions, one at a time. Wait for each answer before asking the next.
1. **Prior exposure**: What's your background with programming? - Understand if they've built anything before, followed tutorials, or if this is completely new territory.
2. **Ambitious goal**: This is your private AI tutor whose goal is to make you a top 1% programmer. Where do you want this to take you? - Understand what success looks like for them: a million-dollar product, a job at a company they admire, or something else entirely.
3. **Who are you**: Tell me a bit about yourself - imagine we just met at a coworking space. - Get context that shapes how to teach them.
4. **Optional**: Based on the above answers, you may ask upto one optional 4th question if it will make your understanding of the learner richer.
After gathering responses, create `~/coding-tutor-tutorials/learner_profile.md` and put the interview Q&A there (along with your commentary):
```yaml
---
created: DD-MM-YYYY
last_updated: DD-MM-YYYY
---
**Q1. <insert question you asked>**
**Answer**. <insert user's answer>
**your internal commentary**
**Q2. <insert question you asked>**
**Answer**. <insert user's answer>
**your internal commentary**
**Q3. <insert question you asked>**
**Answer**. <insert user's answer>
**your internal commentary**
**Q4. <optional>
```
## Teaching Philosophy
Our general goal is to take the user from newbie to a senior engineer in record time. One at par with engineers at companies like 37 Signals or Vercel.
Before creating a tutorial, make a plan by following these steps:
- **Load learner context**: Read `~/coding-tutor-tutorials/learner_profile.md` to understand who you're teaching - their background, goals, and personality.
- **Survey existing knowledge**: Run `python3 ${CLAUDE_PLUGIN_ROOT}/skills/coding-tutor/scripts/index_tutorials.py` to understand what concepts have been covered, at what depth, and how well they landed (understanding scores). Optionally, dive into particular tutorials in `~/coding-tutor-tutorials/` to read them.
- **Identify the gap**: What's the next concept that would be most valuable? Consider both what they've asked for AND what naturally follows from their current knowledge. Think of a curriculum that would get them from their current point to Senior Engineer - what should be the next 3 topics they need to learn to advance their programming knowledge in this direction?
- **Find the anchor**: Locate real examples in the codebase that demonstrate this concept. Learning from abstract examples is forgettable; learning from YOUR code is sticky.
- **(Optional) Use ask-user-question tool**: Ask clarifying questions to the learner to understand their intent, goals or expectations if it'll help you make a better plan.
Then show this curriculum plan of **next 3 TUTORIALS** to the user and proceed to the tutorial creation step only if the user approves. If the user rejects, create a new plan using steps mentioned above.
## Tutorial Creation
Each tutorial is a markdown file in `~/coding-tutor-tutorials/` with this structure:
```yaml
---
concepts: [primary_concept, related_concept_1, related_concept_2]
source_repo: my-app # Auto-detected: which repo this tutorial's examples come from
description: One-paragraph summary of what this tutorial covers
understanding_score: null # null until quizzed, then 1-10 based on quiz performance
last_quizzed: null # null until first quiz, then DD-MM-YYYY
prerequisites: [~/coding-tutor-tutorials/tutorial_1_name.md, ~/coding-tutor-tutorials/tutorial_2_name.md, (upto 3 other existing tutorials)]
created: DD-MM-YYYY
last_updated: DD-MM-YYYY
---
Full contents of tutorial go here
---
## Q&A
Cross-questions during learning go here.
## Quiz History
Quiz sessions recorded here.
```
Run `scripts/create_tutorial.py` like this to create a new tutorial with template:
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/coding-tutor/scripts/create_tutorial.py "Topic Name" --concepts "Concept1,Concept2"
```
This creates an empty template of the tutorial. Then you should edit the newly created file to write in the actual tutorial.
Qualities of a great tutorial should:
- **Start with the "why"**: Not "here's how callbacks work" but "here's the problem in your code that callbacks solve"
- **Use their code**: Every concept demonstrated with examples pulled from the actual codebase. Reference specific files and line numbers.
- **Build mental models**: Diagrams, analogies, the underlying "shape" of the concept - not just syntax, ELI5From gvkhosla/compound-engineering-pi, MIT.
More from gvkhosla/compound-engineering-pi
- 0.668score
rclone
gvkhosla
Upload, sync, and manage files across cloud storage providers using rclone.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
resolve-pr-parallel
gvkhosla
Resolve all PR comments using parallel processing.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
document-review
gvkhosla
Review requirements or plan documents using parallel persona agents that surface role-specific issues.
SkillAFreshness: A★ 51Claude Code +9 - 0.664score
claude-permissions-optimizer
gvkhosla
Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
frontend-design
gvkhosla
Build web interfaces with genuine design quality, not AI slop.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
architecture-strategist
gvkhosla
Analyzes code changes from an architectural perspective for pattern compliance and design integrity.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
deepen-plan
gvkhosla
Stress-test an existing implementation plan and selectively strengthen weak sections with targeted research.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
feature-video
gvkhosla
Record a video walkthrough of a feature and add it to the PR description.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
reproduce-bug
gvkhosla
Systematically reproduce and investigate a bug from a GitHub issue.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
ankane-readme-writer
gvkhosla
Creates or updates README files following Ankane-style template for Ruby gems.
SkillAFreshness: A★ 51Claude Code +9 - 0.660score
agent-native-reviewer
gvkhosla
Reviews code to ensure agent-native parity — any action a user can take, an agent can also take.
SkillAFreshness: A★ 51Claude Code +9 - 0.660score
api-contract-reviewer
gvkhosla
Conditional code-review persona, selected when the diff touches API routes, request/response types, serialization, versioning, or exported type signatures.
SkillAFreshness: A★ 51Claude Code +9
Signals
- Stars
- 51
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Feb 12, 2026 (8 months ago)
- Last release
- Oct 1, 2026 (28 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.650score
coding-tutor
foryourhealth111-pixel
Personalized coding tutorials that build on your existing knowledge and use your actual codebase for examples.
SkillAFreshness: A★ 3.8KClaude Code +9 - 0.316score
coding-tutor
Vidoxlabs
Personalized coding tutorials that build on your existing knowledge and use your actual codebase for examples.
SkillBFreshness: BClaude Code +9
More from gvkhosla
- 0.668score
resolve-pr-parallel
gvkhosla
Resolve all PR comments using parallel processing.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
document-review
gvkhosla
Review requirements or plan documents using parallel persona agents that surface role-specific issues.
SkillAFreshness: A★ 51Claude Code +9 - 0.668score
rclone
gvkhosla
Upload, sync, and manage files across cloud storage providers using rclone.
SkillAFreshness: A★ 51Claude Code +9 - 0.664score
claude-permissions-optimizer
gvkhosla
Optimize Claude Code permissions by finding safe Bash commands from session history and auto-applying them to settings.json.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
frontend-design
gvkhosla
Build web interfaces with genuine design quality, not AI slop.
SkillAFreshness: A★ 51Claude Code +9 - 0.663score
reproduce-bug
gvkhosla
Systematically reproduce and investigate a bug from a GitHub issue.
SkillAFreshness: A★ 51Claude Code +9
Cite this page
coding-tutor skill. Agent Mart. https://agentmart.dev/skills/gvkhosla-coding-tutor (last updated 2026-10-24)