-
Notifications
You must be signed in to change notification settings - Fork 1.3k
CLAUDE MD Learning Project
rUv edited this page Jul 24, 2025
·
1 revision
This template is optimized for educational projects that prioritize understanding, step-by-step guidance, and comprehensive documentation. Perfect for tutorials, courses, workshops, and learning experiences.
When working on educational projects, you MUST:
- EXPLAIN BEFORE DOING - Always explain concepts before implementation
- STEP-BY-STEP GUIDANCE - Break down complex topics into digestible steps
- DOCUMENT EVERYTHING - Every decision needs educational context
- INTERACTIVE LEARNING - Include exercises, challenges, and checkpoints
- PROGRESSIVE COMPLEXITY - Start simple, gradually increase difficulty
// Educational Swarm Setup
[BatchTool]:
mcp__claude-flow__swarm_init {
topology: "hierarchical",
maxAgents: 8,
strategy: "educational"
}
// Educational-specific agents
mcp__claude-flow__agent_spawn { type: "coordinator", name: "Course Instructor" }
mcp__claude-flow__agent_spawn { type: "researcher", name: "Concept Explainer" }
mcp__claude-flow__agent_spawn { type: "architect", name: "Learning Path Designer" }
mcp__claude-flow__agent_spawn { type: "coder", name: "Code Demonstrator" }
mcp__claude-flow__agent_spawn { type: "analyst", name: "Difficulty Assessor" }
mcp__claude-flow__agent_spawn { type: "tester", name: "Exercise Validator" }
mcp__claude-flow__agent_spawn { type: "documenter", name: "Tutorial Writer" }
mcp__claude-flow__agent_spawn { type: "specialist", name: "Learning Assistant" }-
Course Instructor (Coordinator)
- Manages learning flow and pacing
- Ensures prerequisites are covered
- Coordinates knowledge building
-
Concept Explainer (Researcher)
- Breaks down complex concepts
- Provides real-world analogies
- Links to external resources
-
Learning Path Designer (Architect)
- Creates progressive lesson structure
- Designs hands-on exercises
- Plans knowledge checkpoints
-
Code Demonstrator (Coder)
- Writes clear, commented code
- Shows multiple approaches
- Highlights best practices
-
Difficulty Assessor (Analyst)
- Evaluates complexity levels
- Identifies potential confusion points
- Suggests simplifications
-
Exercise Validator (Tester)
- Creates practice problems
- Designs unit tests for learning
- Validates student solutions
-
Tutorial Writer (Documenter)
- Creates comprehensive guides
- Writes inline documentation
- Develops learning materials
-
Learning Assistant (Specialist)
- Provides hints and tips
- Answers common questions
- Offers additional challenges
// PHASE 1: Concept Introduction
[BatchTool]:
// Documentation first
Write("docs/01-introduction.md", introContent)
Write("docs/02-concepts.md", conceptsContent)
Write("docs/03-prerequisites.md", prereqContent)
// Visual aids
Write("docs/diagrams/architecture.md", diagramContent)
Write("docs/examples/simple-example.js", simpleCode)
// PHASE 2: Guided Implementation
[BatchTool]:
// Scaffold with extensive comments
Write("src/step1-basics.js", heavilyCommentedCode)
Write("src/step2-intermediate.js", progressiveCode)
Write("src/step3-advanced.js", advancedPatterns)
// Exercise files
Write("exercises/01-try-it-yourself.js", exerciseTemplate)
Write("exercises/01-solution.js", solutionCode)
// PHASE 3: Knowledge Validation
[BatchTool]:
// Tests that teach
Write("tests/learning-tests.js", educationalTests)
Write("tests/concept-validation.js", conceptTests)
// Self-assessment
Write("assessment/quiz.js", knowledgeCheck)
Write("assessment/project-rubric.md", evaluationCriteria)// Level 1: Foundation (Beginner)
[BatchTool]:
Write("lessons/01-basics/hello-world.js", `
// Lesson 1: Your First Program
// Learning Objectives:
// - Understand basic syntax
// - Run your first program
// - Learn about console output
// This is a comment - it doesn't run
console.log("Hello, World!"); // This prints text
// Try changing the text above!
`)
Write("lessons/01-basics/README.md", beginnerGuide)
Write("lessons/01-basics/exercises.md", simpleExercises)
// Level 2: Building Blocks (Intermediate)
[BatchTool]:
Write("lessons/02-intermediate/functions.js", functionExamples)
Write("lessons/02-intermediate/data-structures.js", dataExamples)
Write("lessons/02-intermediate/README.md", intermediateGuide)
Write("lessons/02-intermediate/mini-project.js", smallProject)
// Level 3: Real Applications (Advanced)
[BatchTool]:
Write("lessons/03-advanced/full-app.js", completeApplication)
Write("lessons/03-advanced/patterns.js", designPatterns)
Write("lessons/03-advanced/README.md", advancedGuide)
Write("lessons/03-advanced/capstone-project.md", finalProject)// Track learning progress
mcp__claude-flow__memory_usage {
action: "store",
key: "learning/student/progress",
value: {
completedLessons: ["intro", "basics"],
currentLevel: "intermediate",
exercisesCompleted: 15,
conceptsMastered: ["variables", "functions", "loops"],
strugglingWith: ["recursion", "async"],
nextRecommended: "callbacks-deep-dive"
}
}
// Store common misconceptions
mcp__claude-flow__memory_usage {
action: "store",
key: "learning/common-errors",
value: {
concept: "array-methods",
errors: ["forgetting return in map", "mutating with forEach"],
clarifications: ["map creates new array", "forEach for side effects"]
}
}TodoWrite { todos: [
// Learning Path todos
{ id: "intro", content: "📚 Create introduction with learning objectives", status: "completed", priority: "high" },
{ id: "prereq", content: "📋 List prerequisites and setup instructions", status: "completed", priority: "high" },
{ id: "concept1", content: "🧠 Explain core concept #1 with examples", status: "in_progress", priority: "high" },
{ id: "exercise1", content: "✏️ Design hands-on exercise for concept #1", status: "pending", priority: "high" },
{ id: "visual1", content: "📊 Create visual diagram for concept #1", status: "pending", priority: "medium" },
// Documentation todos
{ id: "guide", content: "📖 Write comprehensive learner's guide", status: "pending", priority: "high" },
{ id: "faq", content: "❓ Compile FAQ from common questions", status: "pending", priority: "medium" },
{ id: "glossary", content: "📚 Create terminology glossary", status: "pending", priority: "low" },
// Assessment todos
{ id: "quiz", content: "📝 Design knowledge check quiz", status: "pending", priority: "medium" },
{ id: "project", content: "🛠️ Create capstone project specification", status: "pending", priority: "high" },
{ id: "rubric", content: "📊 Develop assessment rubric", status: "pending", priority: "medium" }
]}// Every file starts with learning context
Write("src/example.js", `
/**
* LEARNING OBJECTIVE: Understanding Event Handling
*
* PREREQUISITES:
* - Basic JavaScript syntax
* - Function declarations
* - DOM basics
*
* WHAT YOU'LL LEARN:
* 1. How events work in the browser
* 2. Different ways to attach event listeners
* 3. Event propagation (bubbling/capturing)
*
* TIME ESTIMATE: 20 minutes
*/
// CONCEPT: Event listeners wait for user actions
// ANALOGY: Like a doorbell - it waits for someone to press it
// Example 1: Basic Click Handler
// This function runs when the button is clicked
function handleClick() {
// TRY THIS: Change the alert message
alert('Button was clicked!');
}
// CONCEPT: Attaching the listener
// We're telling the button to "listen" for clicks
button.addEventListener('click', handleClick);
// EXERCISE: Add a second button that changes the page color
// HINT: Use document.body.style.backgroundColor
`);// Self-check exercises
Write("exercises/self-check.js", `
// SELF-CHECK EXERCISE: Array Methods
// Complete these exercises to test your understanding
// Exercise 1: Use map() to double each number
const numbers = [1, 2, 3, 4, 5];
// YOUR CODE HERE:
const doubled = numbers.map(/* complete this */);
// Expected output: [2, 4, 6, 8, 10]
console.log('Your result:', doubled);
console.log('Correct?', JSON.stringify(doubled) === '[2,4,6,8,10]');
// Exercise 2: Use filter() to get only even numbers
const mixed = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// YOUR CODE HERE:
const evens = mixed.filter(/* complete this */);
// Expected output: [2, 4, 6, 8, 10]
console.log('Your result:', evens);
// REFLECTION QUESTIONS:
// 1. What's the difference between map() and filter()?
// 2. Can you chain these methods? Try it!
// 3. What happens if you don't return anything in map()?
`);learning-project/
├── 📚 docs/
│ ├── 00-welcome.md # Course introduction
│ ├── 01-setup.md # Environment setup
│ ├── 02-fundamentals.md # Core concepts
│ ├── 03-hands-on.md # Practical exercises
│ └── 04-next-steps.md # Further learning
├── 📖 lessons/
│ ├── 01-basics/ # Beginner content
│ ├── 02-intermediate/ # Building skills
│ └── 03-advanced/ # Complex topics
├── ✏️ exercises/
│ ├── solutions/ # Answer key
│ └── challenges/ # Extra practice
├── 🧪 examples/
│ ├── simple/ # Basic examples
│ ├── real-world/ # Practical uses
│ └── common-mistakes/ # What to avoid
├── 📊 assessments/
│ ├── quizzes/ # Knowledge checks
│ ├── projects/ # Hands-on projects
│ └── rubrics/ # Evaluation criteria
└── 🎯 src/
└── final-project/ # Capstone project
# Before creating educational content
npx claude-flow@alpha hooks pre-task --description "Creating lesson on [topic]" --education-mode true
# After each lesson component
npx claude-flow@alpha hooks post-edit --file "[lesson-file]" --lesson-component "[intro|example|exercise]"
# Track learning path progress
npx claude-flow@alpha hooks notify --message "Completed lesson section: [section]" --difficulty "[beginner|intermediate|advanced]"
# Validate educational quality
npx claude-flow@alpha hooks post-task --validate-education true --check-prerequisites true- Clarity Score: Are concepts explained clearly?
- Progression Quality: Does difficulty increase appropriately?
- Exercise Coverage: Does every concept have practice?
- Documentation Completeness: Is everything explained?
- Code Commenting: Is code thoroughly documented?
- Error Handling: Are common mistakes addressed?
- Learning Path: Is there a clear journey?
- Assessment Quality: Can learners validate understanding?
❌ DON'T:
- Jump into complex code without explanation
- Use advanced concepts before teaching basics
- Write uncommented "magic" code
- Skip the "why" and only show "how"
- Assume prior knowledge without stating it
- Create exercises without solutions
- Use inconsistent coding styles
- Forget to test on actual beginners
✅ DO:
- Start with the simplest possible example
- Build complexity gradually
- Comment every significant line
- Explain the reasoning behind choices
- State all prerequisites clearly
- Provide solutions with explanations
- Maintain consistent, clean style
- Get feedback from learners
Education is about the journey, not the destination. Every line of code should teach something. Every file should build understanding. Every exercise should reinforce learning. Make the complex simple, and the simple memorable.