Write hands-on challenge lessons with verification
Purpose: Write hands-on challenge lessons with automated verification.
When to use: Workshop lesson requires learners to build something hands-on.
Prerequisites:
This skill writes challenge lessons that:
Do NOT write concept lessons, quizzes, or practice lessons. This skill focuses ONLY on challenge lessons with verification.
Focus on graph databases and graph technologies.
Challenge lessons should:
Before writing anything, answer:
MUST READ:
- WORKSHOP-PLAN.md (for challenge details)
- Source course lesson (for challenge content)
- Previous concept lesson (for context)
- CONTENT_GUIDELINES.md (for style rules)
REFERENCE:
- modules/2-foundation/lessons/4-import-products/ (example challenge)
- verify.cypher, solution.cypher, questions/verify.adoc examples
Introduction
├── Challenge statement: "You will [action]"
└── Building block: "This completes [description]"
The Data
├── CSV structure table
└── Download button
Tool Reference
└── "See Module 1 Lesson 3 for tool mechanics"
Instructions
├── Step 1: [What to do]
├── Step 2: [What to do]
└── Step N: [What to do]
Configuration Details
└── Property mapping table
Snapshot Option
└── Collapsible with pre-built model
Verification
└── Include questions/verify.adoc
Every challenge MUST complete a building block. State it clearly:
This completes **Building Block 1**: "Products exist in the graph" ✓
Examples:
[.slide.discrete]
== Challenge
You will [specific action with tool].
This completes **Building Block [N]**: "[Description]" ✓
Example:
[.slide.discrete]
== Challenge
You will use Data Importer to import Product nodes from a CSV file.
This completes **Building Block 1**: "Products exist in the graph" ✓
[.slide]
== The Data
[Brief description of what the data represents]
[options="header"]
|===
| Column | Type | Description
| columnName1 | String | What this column contains
| columnName2 | Integer | What this column contains
| columnName3 | Float | What this column contains
|===
Example:
[.slide]
== The Data
The products.csv file contains information about items in the Northwind catalog.
[options="header"]
|===
| Column | Type | Description
| productId | String | Unique identifier for each product
| productName | String | Display name of the product
| unitPrice | Float | Price per unit in USD
| unitsInStock | Integer | Current inventory count
| categoryId | String | Reference to product category
|===
[.slide]
== Load Data Files