DEBUG MODE
When the user includes "debug mode" or "show searches" in their curriculum request:
Enable verbose output:
- - Print every neo-ddg-search query before executing
- Print number of results returned
- Print first 2-3 URLs extracted
- Print resource assignment: "Assigning to {topic}: {url}"
Example debug output:
CODEBLOCK0
Dependencies
Required Skills
This skill requires the following other skills to be installed:
- - neo-ddg-search: For web searching educational resources
- Install:
clawhub install neobotjan2026/neo-ddg-search
- Verify: Check if neo-ddg-search skill exists in skills directory
Dependency Verification
At the start of curriculum generation, verify neo-ddg-search is available:
CODEBLOCK1
Search Tool Health Check
Before starting resource research, perform a test search:
CODEBLOCK2
Curriculum Generator Skill
Purpose
This skill helps generate customized educational curricula for PODs (Points of Delivery) through a structured, step-enforced process with mandatory human escalation when needed.
Core Capabilities
- - Guided requirement gathering via structured questionnaire
- Research-based curriculum design or assessment
- Excel (.xlsx) output generation
- Local memory storage for continuous improvement
- Background task execution
- Strict human escalation policy enforcement
Storage Locations
- - Memory: INLINECODE1
- Outputs: INLINECODE2
- Templates: INLINECODE3
Activation Triggers
This skill activates when the user:
- - Says "create curriculum", "design curriculum", or "assess curriculum"
- Says "curriculum help" or "start curriculum process"
- Explicitly requests curriculum generation for a POD
CRITICAL RULES (NON-NEGOTIABLE)
Core Principle
You MUST ask a human whenever you are forced to guess, infer, or trade off risk.
If a wrong decision could affect students, teachers, or POD operations, escalation is MANDATORY.
Hard-Stop Escalation Triggers
You MUST stop and escalate to human if ANY of these occur:
A. Missing or Ambiguous Inputs
- - Target age/grade level is unclear
- Teacher availability or capability is unknown
- Daily lab hours are not specified
- Infrastructure reliability (computers/internet/electricity) is unclear
- Whether existing curriculum exists is not confirmed
B. Teacher Capability Risk
- - Teachers cannot operate computers independently
- Teachers lack experience running labs
- Teachers cannot manage lab discipline or session flow
C. Operational Infeasibility
- - Curriculum hours exceed available lab hours
- Sessions per week exceed teacher capacity
- Student-to-computer ratio is unsafe
- Infrastructure cannot support planned activities
D. High-Risk Curriculum Changes
- - Removing major learning outcomes
- Changing curriculum duration significantly
- Shifting learning area (e.g., digital literacy → employment readiness)
- Introducing new tools/platforms not previously used
E. Contradictory Stakeholder Signals
- - Teachers say curriculum is too hard, students say too easy
- POD leader priorities conflict with feasibility
- Feedback loops contradict assessment data
Escalation Format (MANDATORY)
When escalating, use this EXACT format:
CODEBLOCK3
PROCESS FLOW
STEP 0: SCENARIO IDENTIFICATION (MANDATORY)
Before anything else, determine:
- - Scenario A: Assessment of existing curriculum
- Scenario B: Design of new curriculum
If unclear, STOP and ask user to confirm. Do NOT proceed without classification.
SCENARIO A: ASSESSING EXISTING CURRICULUM
STEP A1: Gather Basic Information
Collect ALL of the following using the structured form:
Section 0: Request Metadata
- - Request ID (auto-generate using timestamp)
- Date of Request (auto-capture)
- Requested By (Name + Role)
- POD Name (REQUIRED)
- Scenario Type (must be selected)
⚠️ If Scenario Type not selected → HARD STOP
Section 1: Target Audience Profile (MANDATORY)
- 1. Primary Student Group:
- Age range
- Grade/Education level
- 2. Student Background (check all that apply):
- First-time computer users
- Basic exposure (mouse, keyboard)
- Prior digital lab experience
- Mixed levels
- 3. Language Comfort:
- Medium of instruction
- English proficiency (Low/Medium/High)
- 4. Special Constraints:
- Learning disabilities
- Attendance inconsistency
- Social/economic limitations
⚠️ If age/grade missing → HARD STOP and escalate
Section 2: POD & Infrastructure Details (MANDATORY)
- 1. Lab Infrastructure:
- Number of computers
- Average students per session
- Internet availability (Reliable/Unstable/None)
- Power backup (Yes/No)
- 2. Daily Lab Usage:
- Available hours per day
- Days per week lab is operational
- 3. Existing Tools/Platforms:
- Operating System
- Software already installed
- Internet restrictions
⚠️ If lab hours or computer count missing → HARD STOP and escalate
Section 3: Teacher Capability & Availability (MANDATORY)
- 1. Number of Teachers Assigned
- Teacher Availability:
- Days per week
- Hours per day
- 3. Teacher Capability Assessment:
- Can operate computers independently? (Yes/No)
- Comfortable managing digital labs? (Yes/No)
- Prior experience with similar programs? (Yes/No)
- 4. Training Requirement:
- No training needed
- Short training needed
- Extensive training needed
⚠️ Any "No" in capability assessment → Potential escalation
STEP A2: Stakeholder Inputs (Structured Summary)
Simulate structured stakeholder inputs based on provided data:
- - POD Leader: Effectiveness, challenges, change needs
- Teachers: Teaching experience, curriculum gaps, student progress
- Students: Difficulty level, engagement, relevance
Then perform Teacher Capability Assessment:
- - Can teachers operate computers independently?
- Can they run the lab as per curriculum?
- Can they manage discipline, safety, and session flow?
- Identify training gaps (if any)
STEP A3: Curriculum Evaluation
Evaluate curriculum on these dimensions:
- - Relevance to student needs
- Alignment with industry/digital literacy goals
- Flexibility for varied learning speeds
- Outcome clarity and measurability
- Technology integration quality
Then perform Operational Feasibility Check:
- - Lab schedule feasibility
- Teacher sufficiency
- Infrastructure readiness (computers, internet, electricity)
STEP A4: Recommendations
- - Clearly state whether modification is required or optional
- If required, propose specific, actionable changes
- Flag risks explicitly
End with:
Status: Draft Assessment – Pending Human Review
SCENARIO B: DESIGNING A NEW CURRICULUM
STEP B1: Define Curriculum Foundation
Explicitly define:
- - Learning Areas: Digital Literacy / Academic Empowerment / Skill Development / Employment Readiness
- Target Audience: Grade, background
- Clear, measurable Learning Outcomes (no vague outcomes allowed)
STEP B2: Develop Course Structure
Generate:
- - Modules and sub-topics
- Weekly lesson breakdown
- Learning objective per lesson
- Program duration (e.g., 3 months / 6 months)
- Class frequency
Lab Planning (Mandatory):
- - Daily lab operating hours
- Sessions per week
- Max students per session
END OF STEP B2 - MANDATORY ACTION BEFORE PROCEEDING:
BEFORE moving to Step B3, execute this command sequence:
1. Review the curriculum structure you just created
2. Identify ALL topics that will appear in the final output
3. For EACH topic, RIGHT NOW, execute:
neo-ddg-search("{topic} tutorial for beginners")
4. Extract the first valid educational URL from results
5. Store it in a resource_map dictionary:
resource_map["{topic}"] = "https://..."
6. Verify resource_map has entries for ALL topics
7. Only then proceed to Step B3
Example:
Topic: "Python Lists"
Execute: neo-ddg-search("Python Lists tutorial for beginners")
Result: Found https://www.youtube.com/watch?v=W8KRzm-HUcc
Store: resource_map["Python Lists"] = "https://www.youtube.com/watch?v=W8KRzm-HUcc"
DO NOT SKIP THIS. DO NOT PROCEED WITHOUT COMPLETING THIS.
## **Step 5: Create a Simpler Test in Telegram**
Now test with very explicit instructions. In Telegram, send:
Create a tiny test curriculum:
- - Topic: HTML Basics
- Duration: 1 week only
- 2 lessons total
IMPORTANT INSTRUCTIONS:
- 1. After creating the structure, use neo-ddg-search to find resources for EACH lesson
- Before generating the CSV file, verify ALL resource links are real URLs
- Show me each search you perform
- If ANY resource link is empty or "TBD", STOP and search for it immediately
Start now.
MANDATORY: End of Step B2 Resource Collection
Before proceeding to Step B3, you MUST complete this:
CODEBLOCK6
END OF STEP B2 - RESOURCE COLLECTION (MANDATORY)
YOU MUST NOW COLLECT RESOURCES BEFORE PROCEEDING.
Execute this EXACT sequence:
1. Create empty dictionary: resource_links = {}
2. List all topics from Step B2
3. For EACH topic, execute:
bash_tool: python3 ~/.openclaw/skills/neo-ddg-search/scripts/search.py "{topic} tutorial for beginners" 5
4. From the output, find all text starting with "https://"
5. Take the first URL that contains "youtube.com", or if none, the first URL
6. Store it: resource_links[topic] = that_url
7. Print: "Collected for {topic}: {that_url}"
8. After ALL topics are done, print the complete resource_links dictionary
9. Verify every topic has a URL
10. ONLY THEN create the CSV using URLs from resource_links
DO NOT WRITE "TBD" IN THE CSV.
USE THE URLS FROM resource_links DICTIONARY.
If you cannot find a URL for a topic, STOP and ESCALATE.
Do not proceed to CSV generation without URLs for all topics.
## **Save and Test**
Save the file, then in Telegram:
reload skills
Then test with a VERY simple example:
Create curriculum:
- - Topic: HTML only
- 1 lesson total
- Show me EVERY step
After you build the structure:
- 1. Search for HTML resources using: python3 ~/.openclaw/skills/neo-ddg-search/scripts/search.py "HTML tutorial for beginners" 5
- Show me the raw output
- Extract the URLs
- Show me what URL you extracted
- Show me the CSV content BEFORE writing it
- If Resource Link shows "TBD", STOP immediately
Start.
## **What to Watch For**
You should see output like:
✅ Course structure complete
🔍 Starting resource search...
Topic: HTML Basics
Executing: python3 ~/.openclaw/skills/neo-ddg-search/scripts/search.py "HTML Basics tutorial for beginners" 5
[Results shown]
[1] HTML Tutorial | https://www.youtube.com/watch?v=...
[2] Learn HTML | https://www.w3schools.com/html/
Found 2 URLs
Selected: https://www.youtube.com/watch?v=...
✅ Stored for HTML Basics: https://www.youtube.com/watch?v=...
Resource Links Dictionary:
HTML Basics: https://www.youtube.com/watch?v=...
📋 CSV Preview:
Covered Topics | Resource Link
HTML Basics | https://www.youtube.com/watch?v=...
Writing file...
STEP B2.5: RESOURCE LINK POPULATION (SIMPLIFIED)
After completing Step B2 structure, execute this EXACT process:
Simple 3-Step Process Per Topic
For EACH topic:
STEP 1: Search
CODEBLOCK11
STEP 2: Look at output and extract FIRST URL
- - Scan the output line by line
- When you see
https:// → copy everything from https:// until the next space - That's your URL
STEP 3: Store it
CODEBLOCK12
Then IMMEDIATELY move to next topic. Do NOT do additional searches unless the first one returns ZERO results.
Hard Limit: 1 Search Per Topic
RULE: Execute ONE search per topic. Extract ONE URL. Move on.
Do NOT:
- - ❌ Execute multiple searches for the same topic
- ❌ Try to find "better" resources
- ❌ Analyze quality extensively
- ❌ Wait or pause
DO:
- - ✅ Search once
- ✅ Grab first URL
- ✅ Move to next topic
- ✅ Complete all topics quickly
Exact Execution Template
CODEBLOCK13
Time Limit
Maximum time for resource research: 2 minutes total
If you're taking longer than 2 minutes for resource collection, you're doing something wrong. This should be fast:
- - 5 seconds per search
- 2 topics = 10 seconds
- 10 topics = 50 seconds
What Gets Stored
CODEBLOCK14
After Collection: Immediate CSV Generation
Do NOT pause or wait. Immediately proceed to CSV generation.
CODEBLOCK15
Example: Complete 2-Topic Execution
Topics: ["Python Basics", "Python Functions"]
CODEBLOCK16
Total time: ~15 seconds
No Escalation for "Imperfect" Resources
Accept whatever URL you find in the first search.
Priority is:
- 1. Speed ✅
- Completion ✅
- Perfect resources ⚠️ (nice to have, not required)
If the first search returns W3Schools instead of YouTube, that's FINE. Use it and move on.
Escalation Only For Zero Results
Only escalate if:
- - ❌ Search returns absolutely no results
- ❌ Search returns results but contains ZERO URLs
- ❌ Search tool completely fails
Do NOT escalate if:
- - ✅ URL is from W3Schools instead of YouTube (still good!)
- ✅ URL is from a lesser-known educational site (acceptable!)
- ✅ URL is documentation instead of video (perfectly fine!)
Debug Output (When Requested)
If user requests DEBUG MODE:
CODEBLOCK17
MANDATORY: After Step B2, execute resource collection IMMEDIATELY
CODEBLOCK18
Implementation in Curriculum Generation
After Step B2 (course structure), do this:
CODEBLOCK19
STEP B3: Teacher Preparation & Readiness
Specify:
- - Teacher resources required
- Teaching methodology (interactive, adaptable)
- Teacher readiness evaluation:
- Prior experience
- Comfort with computer labs
- - Whether short training is required (Yes/No + why)
STEP B4: Assessments & Feedback Design
Define:
- - Formative assessments (quizzes, projects, assignments)
- Summative assessment (final exam/capstone project)
- What each assessment measures
STEP B5: Continuous Improvement Loop
Define:
- - Feedback sources (teachers, students, assessments)
- Review frequency
- Criteria for curriculum revision
RESOURCE RESEARCH (MANDATORY)
ANTI-STUCK RULE
If resource collection is taking longer than 3 minutes total:
STOP what you're doing and execute this:
CODEBLOCK20
Never get stuck searching indefinitely.
## **Test Again**
Save the file and test:
reload skills
Then:
Create curriculum:
- - Python basics
- 2 lessons
- 1 week
DO NOT GET STUCK. If resource search takes more than 1 minute total, skip to CSV generation.
Show me when you start resource search and when you finish.
## **What Should Happen**
You should see:
🔍 Resource Research Starting...
Topic: Lesson 1 - Python Intro
✅ https://datascientest.com/en/python-variables-beginners-guide
Topic: Lesson 2 - Python Functions
✅ https://www.w3schools.com/python/python_functions.asp
✅ Resource research complete (15 seconds)
Collected 2 resource links
📄 Generating CSV...
✅ Done
**NOT this:**
Topic: Lesson 1
Executing search...
[Results]
Trying alternative search...
[More results]
Evaluating quality...
[STUCK HERE] ← Never gets to CSV
How to Execute Searches
To search for resources, use this EXACT command:
CODEBLOCK25
This returns search results with URLs that you must extract.
Simple Search and Extract Process
For EACH topic in the curriculum:
Step 1: Execute Search
CODEBLOCK26
Step 2: Look at the Output
The output looks like this:
CODEBLOCK27
Step 3: Extract URLs (Simple Pattern)
Look for any text starting with https://
From the example above, extract:
Step 4: Choose Best URL
Priority order:
- 1. URLs containing
youtube.com (first choice) - URLs containing
freecodecamp.org (second choice) - URLs containing
w3schools.com (third choice) - Any other educational site
- If none found, use the first URL
Step 5: Store the URL
Store in a simple format:
CODEBLOCK28
Complete Example Workflow
Topic: "Python Lists"
Step 1 - Search:
CODEBLOCK29
Step 2 - Output Received:
CODEBLOCK30
Step 3 - Extract URLs:
- - Found: INLINECODE12
- Found: INLINECODE13
Step 4 - Choose Best:
- - First URL contains "youtube.com" → Select this one
- Selected: INLINECODE14
Step 5 - Store:
CODEBLOCK31
Before Writing CSV
MANDATORY CHECK:
CODEBLOCK32
CSV Preview Before Writing
Show user the data:
CODEBLOCK33
Escalation for Missing Resources
If after searching, a topic has no URL:
CODEBLOCK34
OUTPUT GENERATION
PRE-FILE-GENERATION CHECKLIST (MANDATORY)
Before writing ANY output file, you MUST complete this checklist:
Checklist Item 1: Resource Link Verification
STOP and verify:
CODEBLOCK35
You MUST see output like:
CODEBLOCK36
Checklist Item 2: URL Format Validation
Verify all resource links are actual URLs:
CODEBLOCK37
Checklist Item 3: Final Count
CODEBLOCK38
CSV/EXCEL FILE GENERATION - WITH RESOURCE LINKS
Pre-Generation: Build Complete Resource Map
Before writing any file, build a complete resource map:
CODEBLOCK39
CSV Generation with Resource Map
When creating each row in the CSV:
CODEBLOCK40
Critical Check Before Writing:
CODEBLOCK41
FILE GENERATION - FINAL RESOURCE CHECK
CRITICAL: Execute this immediately before writing the file:
CODEBLOCK42
What the user should see:
CODEBLOCK43
Excel File Structure
Generate
.xlsx file with these columns:
- 1. Curriculum ID
- File Name
- Target POD Type
- Clusters
- Content Type
- Covered Topics
- Owner
- Resource Link ⚠️ MUST contain actual URLs, NEVER "TBD"
- Document Creation Date
- Last Updated On
Column Population Rules:
- - Resource Link: Search and populate with real URLs during curriculum generation
- Format: "URL1 | URL2 | URL3" if multiple resources
- Use web_search before writing Excel file
- If search fails, escalate (never write "TBD")
Mandatory Footer in Every Output
CODEBLOCK44
MEMORY MANAGEMENT
After each curriculum generation:
- 1. Save conversation context to INLINECODE16
- Store lessons learned in INLINECODE17
- Track escalations in INLINECODE18
Memory file structure:
CODEBLOCK45
TOOLS REQUIRED
Primary Tools
- -
web_search: Research educational standards, best practices, resources - INLINECODE20 : Generate Excel output files
- INLINECODE21 : File management, directory operations
- INLINECODE22 : Read memory files, check existing curricula
Research Sources (Use web_search for)
- - Educational standards and frameworks
- Age-appropriate learning resources
- Digital literacy benchmarks
- Best practices for computer lab education
- Free educational tools and platforms
BACKGROUND TASK EXECUTION
When triggered, inform user:
CODEBLOCK46
Then proceed with research and generation in background.
AUTO-APPROVAL ZONE
You may proceed autonomously when:
- - All required inputs are present
- Teacher capability is sufficient
- Infrastructure is adequate
- Changes are incremental, not structural
- Curriculum stays within defined learning areas
Even then: Final output is still Draft – Pending Human Review
META-RULES (VERY IMPORTANT)
You must NEVER:
- - Fill gaps silently
- Optimize feasibility without disclosure
- Reduce curriculum scope to make things work unless approved
Transparency > automation speed
Example Usage
User: "Create a new curriculum for our POD"
Clawdbot:
CODEBLOCK47
User: "B - new curriculum"
Clawdbot:
CODEBLOCK48
[Continue with structured questions...]
Success Criteria
- - All mandatory fields collected
- No silent assumptions made
- Appropriate escalations triggered
- Excel file generated successfully
- Memory stored for future reference
- User receives clear, actionable output
Preferred Resource Platforms (Priority Order)
- 1. YouTube: Structured courses from reputable channels
- FreeCodeCamp, Traversy Media, Programming with Mosh, Fireship
- 2. Interactive Platforms: Free tiers
- freeCodeCamp.org, Khan Academy, Codecademy free, W3Schools
- 3. Documentation: Official docs when appropriate
- MDN Web Docs, Python.org, official framework docs
- 4. Written Tutorials: High-quality articles
- Dev.to, Medium (free articles), DigitalOcean tutorials
- 5. Practice Platforms: Free exercises
- Exercism.io, LeetCode (free problems), HackerRank