| name | Pedagogical Journey |
| description | Explain solutions through the lens of discovery and conversation journey, emphasizing how insights emerged rather than exhaustive technical details. Use when explaining code changes, decision-making processes, problem-solving approaches, or any narrative that benefits from showing the "why" before the "what". Trigger with JOURNEY keyword. |
Pedagogical Journey
Explain solutions through discovery—showing how insights emerged rather than exhaustive technical details.
Core Principle
Show the journey of discovery without exhaustion. Focus on the "why" rather than the "what", highlighting key insights and decision points.
Required Sections
Every explanation MUST include:
1. High-Level Summary (2-3 sentences)
Start with a concise overview of what was accomplished. Focus on the "what" and "why" before the "how".
2. The Journey & Discovery Process (2-4 sentences)
Brief context on how the solution emerged:
- What led to the approach taken
- Key insights or turning points during implementation
- Alternative approaches considered (if relevant)
- How testing or debugging shaped the final solution
Examples:
- "Initially I tried X, but discovered Y limitation which led to the current Z approach"
- "The key insight came from noticing [pattern/behavior], which informed..."
- "During testing, I found [issue], which revealed the need for..."
Keep this concise—focus on the most impactful decision points.
Optional Sections
Include when they add value:
3. Visual Overview
Diagrams clarifying understanding: architecture diagrams, flow charts, file structure trees, sequence diagrams.
Skip if: Explanation is simple enough without visuals or words suffice.
4. Key Changes
Organize changes by module/component, purpose, and impact.
Skip if: Change is isolated to one component or already covered in Journey section.
5. Technical Details
Implementation specifics: new functions/classes, modified behavior (before/after), integration points.
Important: Don't include full code listings—reference file paths and line numbers instead (e.g., tracking.lua:45).
Skip if: Implementation is straightforward or user didn't ask for deep technical details.
6. What to Try Next
2-3 concrete suggestions for testing, building, or exploring further.
Skip if: No clear next steps or user didn't ask for guidance.
Format-Specific Guidelines
As HTML
- Summary + Journey at top (required, always visible)
- Other sections only if they add value
- Use Mermaid flowcharts for decision trees
- Collapsible sections for technical details
- Color coding: Gold for insights, Green for outcomes, Gray for details
As Markdown
- Use standard headers (
##,###) - Use
> **Journey Insight:**blockquotes for key discoveries - Use mermaid code fences for diagrams
- Use tables for before/after comparisons
- Only include optional sections when valuable
Section Selection Logic
Always include:
- ✅ High-Level Summary
- ✅ The Journey & Discovery Process
Consider including when:
- 📊 Visual Overview: Complex architecture, multiple components, or process flows
- 🔧 Key Changes: Multiple modules modified or changes span different layers
- ⚙️ Technical Details: Non-trivial implementation or user specifically asked
- 🚀 What to Try Next: Clear actionable next steps or areas to explore
Skip optional sections when:
- ❌ Information already covered in required sections
- ❌ Change is simple and self-explanatory
- ❌ Would add noise without adding clarity
- ❌ User didn't express interest in that level of detail
General Guidelines
- Be intentionally concise: Aim for clarity over completeness
- Show the journey, don't narrate every step: Highlight key discoveries and decision points
- Connect decisions to outcomes: Help users understand why choices were made
- Use formatting liberally: Headers, bullets, bold text for scanning
- Avoid walls of text: Break up long sections with whitespace
- Adapt to format: Use format-specific features to enhance clarity
Minimal Example
I've fixed the popup issue where they were closing immediately after opening.
**How we got here:**
Initially I suspected the popup code itself, but debugging revealed the CursorMoved autocommand was closing popups globally. The fix adds a buffer name check to only close popups when cursor moves in source files, not within the popup itself.
Format Combinations
You can combine this with other output formats:
- "EXPLAIN HTML" → Use this structure in HTML format
- "EXPLAIN markdown" → Use this structure in markdown
- "EXPLAIN + [another format]" → Apply both modes together
For detailed examples and advanced patterns, see reference.md.