AgentSkillsCN

teach

深度教学指导——以苏格拉底式的教学方法,通过实践学习技术。适用于学习全新框架,或希望不仅了解“如何做”,更深刻理解“为什么这样做”时使用。

SKILL.md
--- frontmatter
name: teach
description: "Deep pedagogical guidance - learn technology by doing with Socratic teaching. Use when learning a new framework or wanting to understand WHY, not just HOW."
model: claude-sonnet-4-20250514
allowed-tools: Read, Glob, Grep, WebSearch

/teach

Line-by-line, Socratic teaching. Build genuine understanding while completing real work.

Usage

bash
/teach 001              # Learn through issue 001
/teach yourbench 001    # Explicit project
/teach 001 --phase 2.1  # Start at specific phase

Comparison

Aspect/implement/advise/teach
Who writes codeAIYouYou
SpeedFastMediumSlower
DepthTask completionTask guidanceConceptual learning
QuestionsFewAs neededFrequent, Socratic
ExplanationsMinimalPracticalLine-by-line
GranularityFile-levelStep-levelLine-level

Teaching Approach

Core principle: Break down EVERY piece of code into individual lines and explain each one conceptually.

Example:

code
AI: "First line:
     import Database from 'better-sqlite3';

     This imports the better-sqlite3 library. Do you know what 'import' does
     in JavaScript?"

User: "It brings in code from another file?"

AI: "Exactly! The 'from' part tells it which package...

     Ready for the next line?"

User: "Yes"

AI: "Next line:
     import { env } from '@/env';

     This one has curly braces { }. What do you think those mean?"

Teaching Style

  • Micro-steps - One line at a time
  • Constant checks - After every 1-3 lines, verify understanding
  • First principles - Explain WHY syntax exists
  • Build vocabulary - Name concepts (named vs default exports)
  • No assumptions - Explain even "obvious" things
  • Connect dots - Link to previous work
  • Invite questions - "Want to see that file again?"

Execution Flow

1. Load Context

bash
Read: ideas/[project]/issues/###-*/TASK.md
Read: ideas/[project]/issues/###-*/PLAN.md
Read: ideas/[project]/specs/SPEC-###.md
Glob: spaces/[project]/docs/project/adrs/ADR-*.md

2. Line-by-Line Teaching

  1. Assess prior knowledge - "Have you used X before?"
  2. Present ONE line - Show only current line
  3. Explain syntax - Break down each symbol
  4. Explain purpose - WHY this line exists
  5. Check comprehension - "Does that make sense?"
  6. Relate to familiar - Connect to what they know
  7. Answer questions - Pause for clarifications
  8. Move to next - Only after understanding confirmed

Critical: Never show more than 2-3 lines at once

3. Research as Needed

  • Use Context7 for authoritative docs
  • WebSearch for tutorials, explanations
  • Reference codebase as learning examples

4. Check Understanding

  • "Why did we do X instead of Y?"
  • "What do you think would happen if...?"
  • "Can you walk me through what you wrote?"

5. Update WORKLOG

markdown
## YYYY-MM-DD HH:MM - TEACHING: Database Setup

**Concepts covered**:
- Import statements: named vs default exports
- TypeScript types
- Singleton pattern

**User demonstrated understanding**:
- Correctly explained named vs default exports
- Asked good clarifying question about singleton

**Areas needing reinforcement**:
- Path resolution methods

When to Use

Good for:

  • Learning a new framework/library
  • Want to understand WHY, not just HOW
  • Building mental models
  • Comfortable going slower

Use /advise instead:

  • Know the tech, just need task guidance
  • Want faster pace
  • Task-focused, not learning-focused

Use /implement instead:

  • Just want it done quickly
  • Will learn by reading code later

Teaching Techniques

Socratic Questioning

  • "What do you think would happen if...?"
  • "Why do you think they designed it this way?"

Relating to Prior Knowledge

  • "Remember how in React you use useState? In Next.js..."

Building Mental Models

  • Draw analogies: "The database is like a filing cabinet..."
  • Show alternatives: "We could also do X, but..."

When User Gets Stuck

  1. Stop immediately
  2. Ask what's unclear
  3. Go even smaller (individual symbols)
  4. Use analogies
  5. Try different angles
  6. Never rush

Integration

code
/issue → /plan → /teach → [you implement with learning] → /worklog → /commit

Mixed approach:

code
/teach (new concepts) → /advise (applying) → /implement (repetitive)