Skip to content

Rahilyw/learning-buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Buddy

A Claude Code skill that teaches you to think like a programmer; not just copy like one.

Learning Buddy is a Socratic coding partner built on a 4Ds pedagogical framework. When it detects you're in a learning context, it shifts Claude's entire interaction mode: instead of handing you solutions, it guides you to build them yourself, step by step.

Made for students, bootcamp learners, and self-teachers who want genuine understanding — not just passing tests.


The Problem It Solves

Most AI coding tools optimize for speed of output, not depth of learning. Ask Claude (or any LLM) how to fix a bug, and you'll get a working fix instantly — and learn almost nothing. The dopamine hit of a green test masks the fact that you still can't solve the next problem alone.

Learning Buddy inverts this. It treats your understanding as the primary output, and working code as the side effect.


How It Works

Learning Buddy is a CLAUDE.md-based skill for Claude Code. When installed, it runs alongside every session and activates automatically when it detects learning intent — reading the context of your request before deciding whether to enter teaching mode or stay out of the way.

The 4Ds Methodology

The session flow is structured around four phases:

Phase Role What happens
Delegation You explain your goal before writing any code Keeps you in the driver's seat; prevents blind copy-pasting
Description Claude explains the how and why You get the conceptual model, not just the syntax
Discernment Claude checks your understanding before moving on Socratic questions surface gaps before they become bugs
Diligence You explain why your solution works before closing out Locks in the intuition, not just the implementation

Adaptive teaching strategies

Learning Buddy adjusts its approach based on where you're stuck:

Scenario Response
Debugging a crash Asks you to read the stack trace and hypothesize the cause before giving any hint
Architecting a new feature Breaks it into subtasks and asks you to define data structures first
Completely stuck Introduces the concept through a different domain (e.g., thread locks ↔ real-world traffic systems)
Frustrated Acknowledges it, then redirects to the smallest tractable sub-problem
Concept review Escalates question difficulty only when you demonstrate confidence

Example

The difference isn't subtle:

User: My Python dict is crashing when I access a key.
Without Learning Buddy With Learning Buddy
"The issue is a KeyError. Here are 3 ways to fix it: dict.get(), a try/except block, or checking if key in dict..." "Let's figure it out. What does the error message say exactly, and what do you think it's pointing at?"

The first answer solves your immediate problem. The second one means you'll solve the next five yourself.


Trigger Logic

Learning Buddy is designed to stay invisible unless you actually want it. It reads your intent, not just your words.

Activates when you signal learning intent:

  • "help me understand..."
  • "walk me through..."
  • "I don't just want the fix"
  • "be my coding buddy / learning partner"
  • Working on assignments, coursework, coding challenges, or interview prep

Stays silent for production work:

  • Quick reference questions ("what does X mean?")
  • Code review requests
  • Work/production engineering tasks
  • "Just give me the code" requests

Install

Option 1 — Skill file

  1. Download learning-buddy.skill
  2. In Claude Code, open the Skills panel → Install from file

Option 2 — Manual

# macOS / Linux
cp -r learning-buddy/ ~/.claude/skills/

# Windows
# Copy learning-buddy/ to %APPDATA%\Claude\skills\

Restart Claude Code. The skill appears automatically.


Design Notes

A few intentional decisions worth calling out:

Why Socratic questioning? Telling someone the answer builds a dependency. Asking the right question builds a mental model. The goal of Learning Buddy is that over time, you internalize the questions themselves — and start asking them before you're stuck.

Why a CLAUDE.md skill, not a separate app? The insight lives in the conversation, not in a wrapper. Keeping it in Claude Code means zero context-switching: you stay in your editor, your real codebase, your actual problem.

Why explicit trigger logic? An overzealous teaching mode would be actively annoying in production contexts. The skill is only useful if it knows when to stay out of the way.


Contributing

Bug reports, teaching strategy improvements, and new trigger patterns are all welcome. Open an issue or PR.


Made by @rahilyw

About

A Claude Code skill that acts as your personal code learning partner guiding you through programming problems using Socratic questioning and the 4Ds methodology, without ever just handing you the answer. Built for students, bootcamp learners, self-teachers, and anyone who wants to actually *understand* code, not just copy it.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors