summary-generator
This skill should be used when generating lesson summaries for educational content. It extracts key concepts, mental models, patterns, and common mistakes from lesson markdown files using a Socratic extraction process. Use this skill when a lesson file needs a `.summary.md` companion file, or when reviewing/refreshing existing summaries.
What this skill does
# Summary Generator
## Overview
This skill generates concise, scannable summaries for educational lessons by extracting the essential learning elements through Socratic questioning. Summaries serve two user needs: quick review (students returning to refresh understanding) and just-in-time reference (students checking back mid-practice).
## Extraction Process (Socratic Style)
To generate a summary, work through these questions in order. Each question extracts content for one section of the summary.
### Question 1: Core Concept
> "If a student remembers only ONE thing from this lesson tomorrow, what must it be?"
Extract the single most important takeaway in 1-2 sentences. This should be the foundational insight that unlocks everything else.
**Test**: Could someone who only read this sentence explain the lesson's purpose to a peer?
### Question 2: Key Mental Models
> "What mental frameworks does this lesson install in the student's mind? What 'lenses' do they now see problems through?"
Extract 2-3 mental models—these are the reusable thinking patterns, not facts. Look for:
- Cause → Effect relationships
- Decision frameworks ("When X, do Y")
- Conceptual metaphors or analogies
**Test**: Are these transferable to new situations, or are they lesson-specific facts?
### Question 3: Critical Patterns
> "What practical techniques or patterns does this lesson teach? What can the student now DO that they couldn't before?"
Extract 2-4 actionable patterns from the lesson. These come from:
- Code examples and their purpose
- AI collaboration techniques
- Tools or commands introduced
- Workflows demonstrated
**Test**: Could a student apply these patterns without re-reading the lesson?
### Question 4: AI Collaboration Keys
> "How does AI help with this topic? What prompts or collaboration patterns make the difference?"
Extract 1-2 insights about working with AI on this topic. This should NOT expose the Three Roles framework—focus on practical collaboration patterns.
**Note**: Skip this section if the lesson doesn't involve AI collaboration (Layer 1 content).
### Question 5: Common Mistakes
> "Where do students typically go wrong? What misconceptions does this lesson correct?"
Extract 2-3 common mistakes from:
- Explicit "Common Mistakes" sections
- Error examples in the lesson
- Counterintuitive points that contradict assumptions
**Test**: Would knowing these prevent a real mistake?
### Question 6: Connections
> "What prerequisite knowledge does this build on? Where does this lead next?"
Extract navigation links:
- **Builds on**: What prior concepts are assumed
- **Leads to**: What this enables in future lessons
**Note**: This section is optional. Skip if connections aren't clear or useful.
## Output Template
Generate the summary following this exact structure:
```markdown
### Core Concept
[1-2 sentences from Question 1]
### Key Mental Models
- **[Model Name]**: [Brief explanation]
- **[Model Name]**: [Brief explanation]
- **[Model Name if needed]**: [Brief explanation]
### Critical Patterns
- [Pattern/technique 1]
- [Pattern/technique 2]
- [Pattern/technique 3 if applicable]
- [AI collaboration pattern if applicable]
### Common Mistakes
- [Mistake 1 and why it's wrong]
- [Mistake 2 and why it's wrong]
- [Mistake 3 if applicable]
### Connections
- **Builds on**: [Prior concept/chapter]
- **Leads to**: [Next concept/chapter]
```
## Length Guidelines
Adjust summary length based on lesson complexity (from frontmatter `proficiency_level`):
| Proficiency | Target Length | Reason |
|-------------|---------------|--------|
| A1-A2 (Beginner) | 150-250 words | Simpler concepts, fewer patterns |
| B1-B2 (Intermediate) | 200-350 words | More nuanced, multiple techniques |
| C1-C2 (Advanced) | 250-400 words | Complex topics, many interconnections |
## Anti-Patterns (What NOT to Include)
Following **Principle 7: Minimal Sufficient Content**, summaries must NOT contain:
- ❌ **Full explanations** — Summaries point to concepts, not re-teach them
- ❌ **Code examples** — The full lesson contains these
- ❌ **Practice exercises** — Students return to the lesson for practice
- ❌ **"What's Next" navigation** — Course structure handles this
- ❌ **Motivational content** — No "Congratulations!" or fluff
- ❌ **Layer/Stage labels** — Students experience pedagogy, not study it
- ❌ **Framework terminology** — No "Three Roles", "Layer 2", etc.
## File Naming Convention
Summary files are named by appending `.summary.md` to the lesson filename (without extension):
```
# Lesson file:
apps/learn-app/docs/05-Python/17-intro/01-what-is-python.md
# Summary file:
apps/learn-app/docs/05-Python/17-intro/01-what-is-python.summary.md
```
## Workflow
1. **Read** the target lesson file completely
2. **Extract** the lesson's proficiency level from frontmatter
3. **Answer** each Socratic question, noting extracted content
4. **Compose** the summary using the template
5. **Validate** against anti-patterns checklist
6. **Check** word count against length guidelines
7. **Write** the `.summary.md` file
## Example: Data Types Lesson Summary
For a lesson teaching Python data types at A2 proficiency:
```markdown
### Core Concept
Data types are Python's classification system—they tell Python "what kind of data is this?" and "what operations are valid?"
### Key Mental Models
- **Types → Operations**: Numbers enable math; text enables joining; booleans enable decisions
- **Type Mismatch → Error**: `5 + "hello"` fails because Python can't add numbers to text
- **Type Decision Framework**: Ask "What kind of data?" to determine the right type
### Critical Patterns
- Use `type()` to verify what type Python assigned: `type(42)` returns `<class 'int'>`
- Type hints express intent: `age: int = 25` tells both AI and humans what you expect
- 7 categories cover all data: Numeric, Text, Boolean, Collections, Binary, Special (None)
### Common Mistakes
- Storing numbers as text (`"25"` instead of `25`) prevents math operations
- Forgetting that `0.1 + 0.2` doesn't exactly equal `0.3` (floating point precision)
- Mixing types in operations without explicit conversion
### Connections
- **Builds on**: Python installation and first programs (Chapter 17)
- **Leads to**: Deep dive into numeric types and text handling (Chapters 18-20)
```
**Word count**: ~175 words (appropriate for A2)
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.