Notebook Development
by pablosalvador10
Helps create and structure Jupyter notebooks for teaching labs. Use this skill when creating lab notebooks, adding explanations for students, structuring educational content, or writing code cells with proper documentation.
Skill Details
Repository Files
1 file in this skill directory
name: notebook-development description: Helps create and structure Jupyter notebooks for teaching labs. Use this skill when creating lab notebooks, adding explanations for students, structuring educational content, or writing code cells with proper documentation.
Notebook Development Skill (Teaching Labs)
Overview
This skill helps create well-structured Jupyter notebooks for teaching Northwestern MS AI students about Azure services and agentic AI.
Target Audience
- Who: Graduate students in MS AI program
- Background: Smart industry professionals, strong coding skills
- Tone: Professional, educational, explains why not just how
- Level: Intermediate to advanced Python, new to Azure/AI Foundry
Notebook Structure Template
1. Title & Overview (Markdown)
- Lab title
- Learning objectives
- Prerequisites
- Architecture diagram
2. Setup & Prerequisites (Code + Markdown)
- Import checks
- Tool verification
- Environment setup
3. Core Concepts (Markdown)
- Explain the theory
- Architecture diagrams
- Key terminology tables
4. Step-by-Step Implementation (Code + Markdown)
- One concept per section
- Code cells with comments
- Explanatory markdown between code
5. Testing & Verification (Code)
- Test the implementation
- Show expected outputs
6. Summary (Markdown)
- Key takeaways table
- Next steps
- Additional resources
Writing Style Guidelines
Markdown Cells
## Step X: Clear Action Title
**Why this matters:** Brief explanation of the concept's importance.
### Key Concepts
| Concept | Description |
|---------|-------------|
| Term 1 | Clear definition |
| Term 2 | Clear definition |
### Architecture
\`\`\`
┌─────────────┐ ┌─────────────┐
│ Component │────▶│ Component │
└─────────────┘ └─────────────┘
\`\`\`
Now let's implement this:
Code Cells
# Clear section comment explaining what this code does
# Include inline comments for non-obvious logic
def example_function(data: list[float]) -> dict:
"""
Brief description of what the function does.
Args:
data: List of numbers to process
Returns:
Dictionary with computed statistics
"""
# Validate input
if not data:
raise ValueError("Data cannot be empty")
# Compute statistics
result = {
"count": len(data),
"mean": sum(data) / len(data),
}
return result
# Test the function
sample_data = [10, 20, 30, 40, 50]
result = example_function(sample_data)
print(f"✅ Analysis complete: {result}")
ASCII Art Diagrams
Use consistent styles for architecture diagrams:
Flow Diagram
Input ───▶ Process ───▶ Output
Component Diagram
┌─────────────────┐ ┌─────────────────┐
│ Component A │────▶│ Component B │
│ (description) │◀────│ (description) │
└─────────────────┘ └─────────────────┘
Layered Architecture
┌─────────────────────────────────────────┐
│ Presentation Layer │
├─────────────────────────────────────────┤
│ Business Logic │
├─────────────────────────────────────────┤
│ Data Layer │
└─────────────────────────────────────────┘
Emoji Conventions
Use emojis consistently:
| Emoji | Meaning |
|---|---|
| ✅ | Success/Complete |
| ❌ | Error/Failure |
| ⚠️ | Warning/Caution |
| 📝 | Note/Documentation |
| 🔧 | Configuration/Setup |
| 🎉 | Celebration/Milestone |
| 📡 | Network/API |
| 🔒 | Security |
| 💡 | Tip/Insight |
Tables for Key Concepts
| Feature | Description | Example |
|---------|-------------|---------|
| Feature 1 | Clear description | `code example` |
| Feature 2 | Clear description | `code example` |
Code Output Formatting
# Print structured output
print("=" * 50)
print("📊 Results Summary")
print("=" * 50)
print(f" • Count: {result['count']}")
print(f" • Mean: {result['mean']:.2f}")
print("=" * 50)
Prerequisites Check Pattern
import subprocess
import shutil
def check_tool(name: str, command: list) -> bool:
"""Check if a tool is installed."""
try:
result = subprocess.run(command, capture_output=True, text=True, timeout=10)
version = result.stdout.strip().split('\n')[0]
print(f"✅ {name}: {version}")
return True
except (subprocess.SubprocessError, FileNotFoundError):
print(f"❌ {name}: Not installed")
return False
print("Checking required tools...\n")
tools = [
("Python", ["python", "--version"]),
("Azure CLI", ["az", "--version"]),
]
all_ok = all(check_tool(name, cmd) for name, cmd in tools)
if all_ok:
print("\n🎉 All tools installed!")
else:
print("\n⚠️ Some tools missing. See installation instructions above.")
Summary Section Template
## 🎯 Summary
### What You Built
Brief description of the complete implementation.
### Key Takeaways
| Concept | Implementation |
|---------|----------------|
| Concept 1 | How it was implemented |
| Concept 2 | How it was implemented |
### Next Steps
- Link to next lab
- Advanced topics to explore
- Additional resources
## 📚 Resources
- [Official Documentation](url)
- [Tutorial](url)
Related Skills
Dbt Transformation Patterns
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
Clinical Decision Support
Generate 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 develo
Scientific Schematics
Create publication-quality scientific diagrams using Nano Banana Pro AI with smart iterative refinement. Uses Gemini 3 Pro for quality review. Only regenerates if quality is below threshold for your document type. Specialized in neural network architectures, system diagrams, flowcharts, biological pathways, and complex scientific visualizations.
Mermaid Diagrams
Comprehensive guide for creating software diagrams using Mermaid syntax. Use when users need to create, visualize, or document software through diagrams including class diagrams (domain modeling, object-oriented design), sequence diagrams (application flows, API interactions, code execution), flowcharts (processes, algorithms, user journeys), entity relationship diagrams (database schemas), C4 architecture diagrams (system context, containers, components), state diagrams, git graphs, pie charts,
G2 Legend Expert
Expert skill for G2 legend development - provides comprehensive knowledge about legend rendering implementation, component architecture, layout algorithms, and interaction handling. Use when implementing, customizing, or debugging legend functionality in G2 visualizations.
Diagram Generation
Mermaid diagram generation for architecture visualization, data flow diagrams, and component relationships. Use for documentation, PR descriptions, and architectural analysis.
Matlab
MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter
Dask
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
Scientific Schematics
Create publication-quality scientific diagrams using Nano Banana Pro AI with smart iterative refinement. Uses Gemini 3 Pro for quality review. Only regenerates if quality is below threshold for your document type. Specialized in neural network architectures, system diagrams, flowcharts, biological pathways, and complex scientific visualizations.
Clinical Decision Support
Generate 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 develo
