| name | learning-graph-generator |
| description | Generates a comprehensive learning graph from a course description, including 200 concepts with dependencies, taxonomy categorization, and quality validation reports. Use this when the user wants to create a structured knowledge graph for educational content. |
Learning Graph Generator
You are tasked with generating a comprehensive learning graph from a course description. Follow these steps carefully:
Step 1: Quality Assessment
First, analyze the provided course description to ensure it has enough content to generate 200 high-quality concepts:
Verify the course has a title, prerequisites, intended audience, objectives, and outcomes (after this course students will be able to...). If these fields are missing ask the user for this information.
Examine the depth and breadth of topics covered
Assess whether the material has sufficient granularity for 200 distinct concepts
Check for diverse topic areas and learning objectives
Provide detailed feedback to the user about:
- List the expected content that you found
- Estimated number of concepts you can derive
- Compare this concept number with similar courses
- Describe areas where the course description is strong
- Any gaps or areas that might be under-represented
- Suggest how the Bloom 2001 taxonomy could improve the course description
- Overall quality assessment
Ask the user if you should proceed with generating the learning graph
Step 2: Generate Concept Labels
Once approved, generate 200 concept labels from the course content:
Requirements:
- Each label must be in Title Case
- Maximum length: 32 characters
- Labels should be clear, specific, and pedagogically sound
- Cover the full breadth of the course material
Output:
- Save the numbered list to
/data/course-concepts-v1.md - Format: Simple numbered list (1-200) in a markdown file
- Make sure that each number is unique so it can be used as a concept ID
- Inform the user the file has been created
- Tell them you can add or remove concepts if they'd like to review and provide feedback
Step 3: Generate Dependency Graph
Create a CSV file mapping dependencies between concepts:
Format:
- Filename:
/data/concept-dependencies.csv - Columns:
ConceptID,ConceptLabel,Dependencies - ConceptID: Integer (1-200)
- ConceptLabel: The exact label from Step 2
- Dependencies: Pipe-delimited list of ConceptIDs (e.g., "1|3|7")
Dependency Rules:
- Foundational/prerequisite concepts have NO dependencies (empty Dependencies field)
- All other concepts must have at least one dependency
- No concept can depend on itself
- The graph must be a Directed Acyclic Graph (DAG) - no cycles
- Create meaningful learning pathways, not just linear chains
- Consider prerequisite relationships carefully
Step 4: Quality Validation
Perform comprehensive quality checks on the dependency graph:
- Verify DAG structure: Ensure no cycles exist
- Check for self-dependencies: No concept should depend on itself
- Foundational concepts: Identify concepts with zero dependencies
- Orphaned nodes: Identify concepts that nothing depends on (potential dead ends)
- Disconnected subgraphs: Check if all concepts are connected to the main graph
- Linear chains: Flag if too many concepts only depend on the immediately prior concept
- Indegree analysis: Calculate indegree (number of concepts that depend on each concept)
Generate quality metrics report:
- Total concepts with zero dependencies (foundational)
- Total concepts with 1+ dependencies
- Average number of dependencies per concept
- Maximum dependency chain length
- Number of orphaned nodes
- Number of disconnected subgraphs
- Top 10 concepts with highest indegree (most depended-upon concepts)
Save this report to /data/quality-metrics.md
Step 5: Create Concept Taxonomy
Develop a categorical taxonomy for organizing concepts:
Requirements:
- Target: ~12 categories (can vary by 2-3 if natural groupings emerge)
- Categories should evenly distribute concepts
- Avoid having any single category exceed 30% of total concepts
- Use clear, descriptive category names
- Create 3-5 letter abbreviations for each category (TaxonomyID)
Output:
- Save taxonomy to
/data/concept-taxonomy.md - Format as markdown with:
- Category name
- TaxonomyID abbreviation
- Brief description of what concepts belong in this category
Step 6: Add Taxonomy to CSV
Update the dependencies CSV file:
- Add a new column:
TaxonomyID - For each concept, assign the best matching TaxonomyID
- Use "MISC" for concepts without a clear category match
- Save the updated file to
/data/concept-dependencies.csv
Final CSV columns: ConceptID,ConceptLabel,Dependencies,TaxonomyID
Step 7: Taxonomy Distribution Report
Generate a distribution analysis:
- Count concepts in each category
- Calculate percentages
- Identify over-represented categories (>30%)
- Suggest alternative categorization if needed
Output:
- Save to
/data/taxonomy-distribution.md - Format as markdown table with columns:
- Category Name
- TaxonomyID
- Count
- Percentage
Step 8: Completion
Inform the user that the learning graph generation is complete! Congratulate them and wish them success on their textbook or course material.
Files created:
/data/course-concepts-v1.md- Numbered list of 200 concepts/data/concept-dependencies.csv- Full dependency graph with taxonomy/data/concept-taxonomy.md- Category definitions/data/quality-metrics.md- Quality validation report/data/taxonomy-distribution.md- Category distribution analysis
Important Notes
- Maintain pedagogical integrity throughout the process
- Dependencies should reflect actual prerequisite knowledge
- Balance between granularity and comprehensiveness
- Ensure concepts build upon each other logically
- The learning graph should support multiple learning pathways, not just one linear path