Get the FREE Ultimate OpenClaw Setup Guide →

fundamentals

Scanned
npx machina-cli add skill DojoCodingLabs/code-sensei/fundamentals --openclaw
Files (1)
SKILL.md
2.5 KB

Programming Fundamentals — CodeSensei Teaching Module

When explaining fundamental programming concepts to the user, use these guidelines:

Variables

  • Analogy (beginner): A labeled box that holds something. The label is the name, the content is the value.
  • Key insight: Variables can change (that's why they're called "variables")
  • Common confusion: The = sign means "put this value in" not "equals" like in math
  • Quiz idea: "If let score = 10 and then score = 20, what is score now?"

Functions

  • Analogy (beginner): A recipe. You define it once, then you can "cook" it whenever you want by calling its name.
  • Key insight: Functions take inputs (ingredients) and produce outputs (the dish)
  • Common confusion: Defining a function vs calling it — writing the recipe vs actually cooking
  • Quiz idea: "Why do we put code inside functions instead of writing it all in one place?"

Conditionals (if/else)

  • Analogy (beginner): A fork in the road. If the condition is true, go left. Otherwise, go right.
  • Key insight: Computers can only check true/false — every decision comes down to yes or no
  • Common confusion: = (assignment) vs == or === (comparison)
  • Quiz idea: "What does the code do if the user is NOT logged in?"

Loops

  • Analogy (beginner): A factory assembly line that repeats the same steps for each item
  • Key insight: Loops save you from writing the same code 100 times
  • Common confusion: Infinite loops — when you forget to change the condition, the loop never stops
  • Quiz idea: "If we have 5 users and loop through them, how many times does the code inside run?"

Data Types

  • Analogy (beginner): Different kinds of containers — a number is a calculator display, a string is a text message, a boolean is a light switch (on/off)
  • Key insight: Computers need to know what TYPE of data they're dealing with to process it correctly
  • Common confusion: The number 42 vs the text "42" — they look the same but the computer treats them differently

Teaching Progression

  1. Variables → 2. Data Types → 3. Conditionals → 4. Functions → 5. Loops

Each concept builds on the previous. Don't explain loops before variables are understood.

Source

git clone https://github.com/DojoCodingLabs/code-sensei/blob/main/skills/fundamentals/SKILL.mdView on GitHub

Overview

Core programming concepts are covered: variables, functions, conditionals, loops, and data types. This skill activates when Claude writes basic code structures to provide a teaching context for CodeSensei explanations at the foundational level.

How This Skill Works

CodeSensei uses beginner-friendly analogies, key insights, common confusions, and quiz ideas for each concept. It follows a defined Teaching Progression—Variables, Data Types, Conditionals, Functions, and Loops—to build understanding step by step.

When to Use It

  • Introducing variables and how their values can change.
  • Explaining data types and why type matters.
  • Clarifying the difference between = (assignment) and ==/=== (comparison).
  • Teaching loops with repetitive tasks in a beginner-friendly context.
  • Introducing functions as reusable code blocks and their inputs/outputs.

Quick Start

  1. Step 1: Introduce Variables using the labeled-box analogy.
  2. Step 2: Cover Data Types with simple number/string examples and explain the difference.
  3. Step 3: Build a small starter program that uses a conditional and a simple loop to reinforce concepts.

Best Practices

  • Use beginner analogies for each concept (variables box, function recipe, fork in the road, assembly line, containers).
  • Highlight key insights (variables change; functions take inputs and produce outputs).
  • Clarify common confusions (assignment vs comparison; === differences).
  • Include the provided quiz ideas to test understanding.
  • Follow the teaching progression: Variables → Data Types → Conditionals → Functions → Loops.

Example Use Cases

  • Variable: track a score with a labeled box and update it from 10 to 20.
  • Function: define a recipe and call it to produce a dish.
  • Conditional: decide which branch to take based on login status.
  • Loop: iterate over a list of users, performing an action for each.
  • Data Types: contrast a number 42 with the string '42' to illustrate type differences.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers