Skip to content

FAQ Generator

This skill generates a comprehensive set of Frequently Asked Questions (FAQs) from course content, learning graphs, and glossary terms to help students understand common questions and prepare content for chatbot integration.

Step 1: Assess Content Completeness

Calculates a content completeness score (1-100 scale) by evaluating required inputs: course description (25 points), learning graph with valid DAG structure (25 points), glossary with term count (15 points), total word count across all markdown files (20 points), and concept coverage percentage (15 points). Triggers user dialog if score is below 60 or critical inputs are missing.

Step 2: Analyze Content for Question Opportunities

Reads and analyzes all content sources to identify common question patterns. Extracts questions from course description (scope, audience, outcomes, prerequisites), learning graph (definitions, relationships, prerequisites, progression), glossary (terminology, comparisons, examples), chapter content (themes, complex concepts, misconceptions, applications), and existing FAQ if present (preserving manual questions).

Step 3: Generate Question Categories

Creates 6 standard categories with specific Bloom's Taxonomy distributions: Getting Started (10-15 questions, 60% Remember/40% Understand), Core Concepts (20-30 questions, distributed across Remember through Analyze), Technical Details (15-25 questions, terminology-focused), Common Challenges (10-15 questions, Apply/Analyze-heavy), Best Practices (10-15 questions, higher-order thinking), and Advanced Topics (5-10 questions, 60% Analyze/Evaluate/Create).

Step 4: Generate Questions and Answers

Creates questions and answers following specific guidelines. Questions use level-2 headers, end with question marks, use glossary terminology, and stay concise (5-15 words). Answers are complete and standalone (100-300 words), include examples for 40% of entries, link to relevant sections (60%+ target), and are aligned with Bloom's Taxonomy levels (Remember, Understand, Apply, Analyze, Evaluate, Create).

Step 5: Create FAQ File

Generates docs/faq.md with proper markdown structure using level-1 header for title, level-2 headers for categories and questions, body text for answers, markdown links to source content, and consistent formatting throughout. Organizes questions by the 6 standard categories with progressive difficulty.

Step 6: Generate Chatbot Training JSON

Creates docs/learning-graph/faq-chatbot-training.json for RAG system integration. Each question entry includes unique ID, category, question text, full answer, Bloom's level, difficulty rating (easy/medium/hard), related concepts from learning graph, keywords for search optimization, source links, example presence flag, and word count.

Step 7: Generate Quality Report

Creates docs/learning-graph/faq-quality-report.md with overall statistics (total questions, quality score, content completeness, concept coverage), category breakdown, Bloom's Taxonomy distribution analysis comparing actual vs target percentages, answer quality metrics (examples, links, length, completeness), organization quality assessment, and prioritized recommendations for improvement.

Step 8: Generate Coverage Gaps Report

Creates docs/learning-graph/faq-coverage-gaps.md identifying concepts from the learning graph not covered in the FAQ. Prioritizes gaps into three categories: critical (high-centrality concepts with many dependencies), medium (moderate-centrality concepts), and low priority (leaf nodes or advanced concepts). Provides suggested questions for each gap.

Step 9: Validate Output Quality

Performs comprehensive validation checks: uniqueness (scans for duplicate or near-duplicate questions), link validation (verifies all markdown links exist), Bloom's distribution (compares actual to target within ±10%), reading level (calculates Flesch-Kincaid grade level), answer completeness (ensures questions are fully addressed), and technical accuracy (cross-references with glossary and chapter content).

Step 10: Update Navigation

Optionally updates mkdocs.yml if the FAQ is not already included. Reads the configuration file, checks if "FAQ: faq.md" exists in the nav section, adds it in an appropriate location (typically near end) if missing, and preserves existing navigation structure.