Skip to main content
ClaudeWave
Skill2.3k estrellas del repoactualizado 24d ago

coding-tutor

# coding-tutor This Claude Code skill creates personalized programming tutorials that adapt to each learner's existing knowledge and actual codebase, maintaining a persistent learning record across projects. Users should engage with this skill when beginning to learn new programming concepts or when they want to test their retention through spaced repetition quizzes, as it tracks progress over time and compounds learning through AI-guided instruction.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/foryourhealth111-pixel/Vibe-Skills /tmp/coding-tutor && cp -r /tmp/coding-tutor/bundled/skills/coding-tutor ~/.claude/skills/coding-tutor
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

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
vibeSkill

Vibe Code Orchestrator (VCO) is a governed runtime entry that freezes requirements, plans XL-first execution, and enforces verification and phase cleanup.

skill-creatorSkill

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.

skill-installerSkill

Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).

LQF_Machine_Learning_Expert_GuideSkill

|

adaptyvSkill

Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.

aeonSkill

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

algorithmic-artSkill

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

alpha-vantageSkill

Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.