Transform markdown files into GoodNotes-style handwritten study notes with ADHD-friendly chunking, active recall. Perfect for converting notes, documentation, or research into optimized study materials. Use when: converting markdown to study notes; organizing documentation into study guides; creating handwritten notebooks from .md files; "make study notes from this markdown"; "convert markdown to study format"; "organize markdown into learning materials".
<FileName>_narrative_manifest.json — semantic narrative manifest for v2 deck generation
<FileName>_pitch_deck.html — mandatory v2 cinematic Reveal.js deck generated from the narrative manifest
<FileName>_Teleprompter_Script_<timestamp>.md — teleprompter script generated by xmind-notes-to-deck-v2
assets/ folder — Excalidraw source scenes (.excalidraw) plus compiled PNG sketches for key concepts
assets/INDEX.md — Visual reference guide with sketch metadata
<FileName>_INDEX.md — Master topic index with all pages and key concepts
<FileName>_AI_Elaboration.json or <FileName>_AI_Elaboration.md — optional external AI synthesis for page-level elaboration used by the XMind enrichment step
All outputs go into a <FileName>_StudyNotes/ subfolder.
Systemic Execution Contract
Execution Modes
--standard: output clean, hierarchical, engineering-focused outlines that map the exact technical architecture.
--adhd: prohibit introductory summaries, conversational text, and sections titled Intro; require immediate visual memory hooks (ASCII tables/diagrams), bold technical syntax anchors, and real-world-use-first ordering. Also exclude sections named Header, Active Recall Prompts, and One-Page Revision from notebook pages.
Balanced Stack Multi-Model Orchestration Pipeline
Every run must execute this strict routed backend architecture:
Phase 1 (Ingestion and Bulk Extraction):
Route raw markdown input to a primary mid-tier extractor model (for example GPT-5.4 or another 1M+ context model).
Perform comprehensive fact extraction and archetype classification before formatting.
Phase 2 (Markdown and Schema Formatting):
Route the extracted conceptual payload to a strict coding/schema model (for example Claude Sonnet 4.6).
This phase is solely responsible for GoodNotes markdown formatting, PNG orchestration, and flawless XML serialization for XMind.
Phase 3 (AI Elaboration and Lateral Analysis):
Fork clean conceptual outputs to an advanced reasoning model (for example GPT-5 or equivalent).
Generate <FileName>_AI_Elaboration.json with edge-case and downstream implication synthesis, without hallucination or source-text repetition.
Dynamic Content Archetype Classification
Classify each section into one archetype before page generation or mindmap serialization. Use only the associated mandatory nodes.
Type A: Conceptual Architecture or Frameworks
Core Architecture Blueprint
Core Components & Governance
Key Integration Points
Systemic Trade-offs
Type B: Procedural Workflows or Pipelines
Execution Pipeline / Steps
Environment Prerequisites & Setup
Failure Recovery & Verification
Performance Optimizations
Type C: Discrete Technical Components or Tools
Functional Mechanics
Concrete Configuration & Code Snippets
Edge Cases & System Constraints
ADHD-Friendly Handwritten GoodNotes Design
✓ What's Included for ADHD Brains
Micro-chunking: 3–5 min read per page (prevents hyperfocus derailment + working memory overload)
Handwritten aesthetic: Warm, friendly fonts that feel personal and engaging
Sepia paper background: Warm aged-paper tone with handwritten fonts for authentic GoodNotes feel
Whitespace heavy: Breathing room between concepts (reduces cognitive load)
✗ What's Avoided
Long paragraphs (max 2–3 sentences per bullet)
Abstract language without concrete examples
Dense, wall-of-text sections that trigger avoidance
Vague or open-ended learning goals
Passive voice or hedging language ("might", "could")
More than 1 idea per bullet point
Review schedules that require memory ("study sometime next week")
Procedure
Mandatory Checkpoint Protocol (Fail-Fast)
Apply this protocol after each procedure step. Do not continue when a checkpoint fails.
Checkpoint format (required):
CHECKPOINT <ID>: PASS - <brief reason>
CHECKPOINT <ID>: FAIL - <brief reason>
Fail-fast rule (required):
If any checkpoint is FAIL, stop immediately.
Do not proceed to the next step.
Do not attempt downstream regeneration until the failed step is fixed and re-validated.
Checkpoint map:
P before Step 1: workflow plan exists and is approved before any generation starts.
A after Step 1: section inventory must be present and non-empty.
B after Step 2 preflight: each section must include mechanism, archetype, analogy, label-fusion intent, and composition intent.
C after Step 2 generation: visuals must not be template clones across sections.
D after Step 2 validation: PNG count must be >= section count and all PNGs must pass integrity checks.
E after Step 3: notes must be non-empty, page count >= section count, and required sections must be present.
F after Step 4: .mm must parse and Level 1 section nodes must be >= section count.
G after Step 5: .xmind must exist and be valid.
H after Step 6.6: flashcards CSV header and minimum section coverage rules must pass.
I after Step 7: index TOC row count must be >= page count minus the notebook index page.
J after Step 8: PDF must exist and be non-trivial (not blank output).
K final: all checkpoints must be PASS.
Step 0 — Plan the Workflow Before Running
Create a short execution plan before any generation step runs.
Plan requirements:
Include Inputs, Outputs, Dependencies, and Execution order.
Include a per-step checkpoint expectation (what constitutes PASS/FAIL).
Include rollback/retry strategy for the first failed checkpoint.
Record the plan in <FileName>_StudyNotes/checkpoints/workflow-plan.md.
Checkpoint P:
PASS when workflow-plan.md exists and covers all procedure steps with checkpoint criteria.
FAIL when planning is missing, incomplete, or execution starts before plan approval.
Step 1 — Read and Normalize the Markdown
Read the .md file in full.
Identify section boundaries from headings (#, ##, ###, ####).
Note the document title, module structure, and key themes.
Flag dense sections that should be split into multiple micro-pages instead of one long page.
Build an explicit section inventory table: Section, Subsection, Order.
Write a normalized markdown copy to <FileName>_source_normalized.md.
Coverage requirement:
Use the section inventory as the source of truth for page counts, mindmap Level 1 nodes, flashcards, and PNG counts.
Checkpoint A:
PASS when the section inventory exists and contains at least 1 detected section.
FAIL when boundaries are missing/ambiguous and inventory is empty.
Step 1.5 — Generate Semantic Section Briefs Before Any Sketching
Create <FileName>_visual_briefs.json from the markdown + section inventory.
This is the mandatory semantic bridge between source ingestion and image generation. Do not jump directly from section headings into sketch rendering.
Every section brief must include:
sectionTitle
sectionSlug
archetype
coreMechanism
what
how
why
realWorldAnchor
mentalModel
edgeCase
primaryEntities
primaryFlow
mainConstraint
tradeoff
physicalAnalogy
labelFusion
compositionIntent
hotPath
secondaryPaths
mustShow
mustNotShow
visualSceneType
sceneObjects
objectToConceptMap
spatialLayout
entryPoint
exitPoint
failureBranch
comparisonAxis
evidenceArtifact
dominantMotion
forbiddenTemplate
objectPalette
shapeQuota
forbiddenGeometry
labelBudget
sceneTest
silhouettePlan
propDensity
asymmetryPlan
antiCardFraming
sceneTexture
premiumSceneTest
diagramIntent
formalFramework
sceneFamilyCandidates
selectedSceneFamily
selectionReason
formalCompanionSuggested
salienceGoal
silhouetteContrastRules
propInventory
textureInventory
Hard rule:
Full final notes are not required yet.
Strong semantic understanding is required before image generation.
If a section cannot produce a strong visual brief, stop and deepen extraction before sketching.
A title plus generic what/how/why summary is not enough; the brief must drive geometry, motion, object choice, visual salience, and scene-object diversity.
Resolve diagramIntent, formalFramework, sceneFamilyCandidates, selectedSceneFamily, and selectionReason before finalizing visualSceneType.
Prefer selecting visualSceneType and objectPalette from content-to-sketch/references/canonical-scene-families.md before inventing a new scene family.
For final learner-facing visuals, also apply content-to-sketch/references/premium-sketch-language.md so the brief carries silhouette, prop-density, asymmetry, anti-card-framing, and scene-texture intent.
When premium visuals are requested, structure the downstream render around content-to-sketch/references/premium-generation-playbook.md rather than jumping straight from brief text to final layout.
If the concept clearly maps to a formal framework (for example C4, BPMN, sequence, state, Wardley, or service blueprint), record that choice even if the final output will be a semantic sketch.
The final learner-facing image must not expose planning metadata such as scene names, mechanism lines, analogy lines, or must-show rules.
Checkpoint B:
PASS only when every section has a complete semantic visual brief with mechanism, analogy, composition, and hot-path detail.
FAIL when briefs are shallow, title-only, or generic.
This step MUST run before notes, mindmap, or XMind generation. PNG filenames produced here are embedded directly into notes, .mm, .xmind, and the narrative manifest.
Invoke the content-to-sketch skill — do not reimplement its pipeline here. The skill owns:
Art Director metaphor extraction preflight (mandatory before any diagram is drawn)
Record the confirmed filename list — used verbatim in Steps 3, 4, 5, and 5.4.
assets/INDEX.md is created by the skill.
Flow integrity rule:
Do not directly patch generated diagram files as the primary fix path.
If visuals are weak or generic, re-run content-to-sketch with improved semantic section briefs and let it regenerate the entire affected section set.
Treat direct, one-off diagram edits as exceptions only after the skill pipeline passes all gates.
If a sketch could plausibly fit any random section with only label changes, treat that as a semantic failure and regenerate.
Checkpoints C, D:
C PASS only when section visuals are not near-identical templates and visibly encode the section mechanism/analogy through scene-specific geometry, motion, object mapping, hot-path salience, clean connector routing, non-box object diversity, and premium sketch-language cues where required.
C also requires structural QA with zero text-overflow errors and zero critical arrow endpoint-inside-node errors in assets/validation_report.txt.
D PASS only when every required PNG exists and integrity validation passes.
The notebook must begin with a dedicated index page, then continue with content pages. If a section is dense, split it into 2-3 micro-pages. Use this exact structure:
-- Page 1: Notebook Index
## Course Map
| Page | Section | Core Focus |
|---|---|---|
| 2 | <Section 1> | <Core concept> |
## How to Use This Notebook
- Start with the section that matches your immediate problem.
- Use the visual sketch first, then the deep dive, then the try-this block.
- Use `<FileName>_INDEX.md` for the full cross-reference and glossary.
## Fast Lanes
- Core architecture pages
- Process-heavy pages
- Comparison or trade-off pages
-- Page N: <Section Title or Micro-Section>
## Real-World Anchor
Scenario: <1-2 sentence industry scenario>
## What You'll Learn
(1 sentence on why this matters to the learner right now)
## Deep Dive Explanation
- Explain the mechanism in 2-4 concrete bullets
- Add at least one cause-and-effect relationship
- Include one concrete example tied to the section
## Mental Model / Analogy
Think of this like: <short relatable analogy>
## Visual Summary
(ASCII diagram, compact table, flowchart)
## Visual Sketch

## Real-World Use First
Scenario: ...
Why it matters: ...
## Process Flow / Steps
1. Step one
2. Step two
## Key Concepts
- **Term**: definition in simple words
- **Term**: definition in simple words
## Try This Right Now
- 30-second action
- Observable result
Formatting rules for every page:
Keep bullets short and concrete.
Put the real-world example before deeper explanation.
Use icons and whitespace for quick scanning.
Keep jargon paired with plain-English meaning.
Prefer one idea per bullet.
Ensure every Level 1 and Level 2 concept passes the Triad Test (What, How, Why).
Do not create sections titled Intro, Introduction, Core Idea, Quick Facts, or Common Mistakes.
In --adhd mode, every page must start with an immediate visual memory hook.
Embed the real PNG path from assets/ — never write a placeholder.
In --adhd mode, do not include sections named Header, Active Recall Prompts, or One-Page Revision.
Do not include markdown flashcard tables in the notebook schema.
Export all cards directly into <FileName>_Flashcards.csv from page content anchors.
Checkpoint E:
PASS only when notes are non-empty, include required sections, and pages >= detected section count.
FAIL if notes are mostly empty, placeholder-only, or under-covered.
Level 2: use only the mandatory node set for the assigned archetype (Type A, Type B, or Type C)
Level 3+: elaborative subnodes from page content
Archetype requirements:
Type A must contain exactly:
Core Architecture Blueprint
Core Components & Governance
Key Integration Points
Systemic Trade-offs
Type B must contain exactly:
Execution Pipeline / Steps
Environment Prerequisites & Setup
Failure Recovery & Verification
Performance Optimizations
Type C must contain exactly:
Functional Mechanics
Concrete Configuration & Code Snippets
Edge Cases & System Constraints
Do not include Flashcards as mindmap nodes.
Never include nodes titled or themed as Flashcards, Q/A, Questions & Answers, Interesting Talking Points, Pitfalls & Clarifications, Narrative Flow, In This Section, or What You'll Learn.
Never include instructional/meta coaching text as node content.
Do not add One-Page Revision nodes to the mindmap.
Make Level 3+ child nodes complete, context-rich phrases.
Critical: escape ALL & as & in node TEXT attributes. No bare & allowed.
Checkpoint F:
PASS only when .mm parses and Level 1 section nodes >= section count.
High contrast colors and clear primary-path salience
Arrows/markers for visual flow
Text labels stay inside intended containers (no overflow errors)
Arrow endpoints attach to shape edges (no endpoint-inside-node errors)
validation_report.txt shows 0 errors (warnings should be reviewed and reduced)
Completion and Validation Gate
Do not mark any run successful until all gates pass:
All generated PNG files pass strict image integrity checking.
All bare ampersands in .mm are escaped to &.
Semantic Depth Quality Gate passes for all Level 1 and Level 2 concepts.
<FileName>_Flashcards.csv is present with valid header and import-safe escaping.
Notes page count is greater than or equal to detected section count.
Mindmap Level 1 section nodes are greater than or equal to detected section count.
PNG count is greater than or equal to detected section count.
<FileName>_pitch_deck.html exists and is generated via xmind-notes-to-deck-v2.
A teleprompter script exists for the generated deck.
Checkpoints P through J are all PASS.
Final checkpoint K is PASS.
Related Skills
content-to-sketch — Generates the PNG sketches (auto-invoked in Step 2)
transcript-to-notes — Source of the canonical end-to-end step contract
pdf-to-notes — Alternative for PDF/book input
1---2name: md-to-notes3description: Transform markdown files into GoodNotes-style handwritten study notes with ADHD-friendly chunking, active recall. Perfect for converting notes, documentation, or research into optimized study materials. Use when: converting markdown to study notes; organizing documentation into study guides; creating handwritten notebooks from .md files; "make study notes from this markdown"; "convert markdown to study format"; "organize markdown into learning materials".4---56# Markdown → GoodNotes Handwritten Study Notes78## What This Skill Does9Given a markdown file, produce:101. **`<FileName>_source_normalized.md`** — normalized markdown copy used as the semantic source of truth112. **`<FileName>_concept_inventory.json`** — semantic concept inventory extracted from the markdown + section map123. **`<FileName>_visual_briefs.json`** — mandatory per-section semantic visual briefs used by the Art Director phase before any sketch is drawn134. **`<FileName>_Flashcards.csv`** — mandatory active-recall export with header `Front, Back, Tags`144. **`<FileName>_GoodNotes_detailed.md`** — ADHD-friendly handwritten study notes, chunked by section or micro-section when needed155. **`<FileName>_GoodNotes_detailed_A4.pdf`** — A4 PDF for GoodNotes import166. **`<FileName>_Study_Mindmap_clean.mm`** — semantic Freemind mindmap177. **`<FileName>_Study_Mindmap_fixed.xmind`** — semantic XMind mindmap (concept-enriched)188. **`<FileName>_narrative_manifest.json`** — semantic narrative manifest for v2 deck generation199. **`<FileName>_pitch_deck.html`** — mandatory v2 cinematic Reveal.js deck generated from the narrative manifest2010. **`<FileName>_Teleprompter_Script_<timestamp>.md`** — teleprompter script generated by `xmind-notes-to-deck-v2`2111. **`assets/` folder** — Excalidraw source scenes (`.excalidraw`) plus compiled PNG sketches for key concepts2212. **`assets/INDEX.md`** — Visual reference guide with sketch metadata2313. **`<FileName>_INDEX.md`** — Master topic index with all pages and key concepts2414. **`<FileName>_AI_Elaboration.json` or `<FileName>_AI_Elaboration.md`** — optional external AI synthesis for page-level elaboration used by the XMind enrichment step2526All outputs go into a `<FileName>_StudyNotes/` subfolder.2728## Systemic Execution Contract2930### Execution Modes31- `--standard`: output clean, hierarchical, engineering-focused outlines that map the exact technical architecture.32- `--adhd`: prohibit introductory summaries, conversational text, and sections titled `Intro`; require immediate visual memory hooks (ASCII tables/diagrams), bold technical syntax anchors, and real-world-use-first ordering. Also exclude sections named `Header`, `Active Recall Prompts`, and `One-Page Revision` from notebook pages.3334### Balanced Stack Multi-Model Orchestration Pipeline35Every run must execute this strict routed backend architecture:361. Phase 1 (Ingestion and Bulk Extraction):37 - Route raw markdown input to a primary mid-tier extractor model (for example GPT-5.4 or another 1M+ context model).38 - Perform comprehensive fact extraction and archetype classification before formatting.392. Phase 2 (Markdown and Schema Formatting):40 - Route the extracted conceptual payload to a strict coding/schema model (for example Claude Sonnet 4.6).41 - This phase is solely responsible for GoodNotes markdown formatting, PNG orchestration, and flawless XML serialization for XMind.423. Phase 3 (AI Elaboration and Lateral Analysis):43 - Fork clean conceptual outputs to an advanced reasoning model (for example GPT-5 or equivalent).44 - Generate `<FileName>_AI_Elaboration.json` with edge-case and downstream implication synthesis, without hallucination or source-text repetition.4546### Dynamic Content Archetype Classification47Classify each section into one archetype before page generation or mindmap serialization. Use only the associated mandatory nodes.4849- Type A: Conceptual Architecture or Frameworks50 - `Core Architecture Blueprint`51 - `Core Components & Governance`52 - `Key Integration Points`53 - `Systemic Trade-offs`54- Type B: Procedural Workflows or Pipelines55 - `Execution Pipeline / Steps`56 - `Environment Prerequisites & Setup`57 - `Failure Recovery & Verification`58 - `Performance Optimizations`59- Type C: Discrete Technical Components or Tools60 - `Functional Mechanics`61 - `Concrete Configuration & Code Snippets`62 - `Edge Cases & System Constraints`6364## ADHD-Friendly Handwritten GoodNotes Design6566### ✓ What's Included for ADHD Brains67- **Micro-chunking**: 3–5 min read per page (prevents hyperfocus derailment + working memory overload)68- **Handwritten aesthetic**: Warm, friendly fonts that feel personal and engaging69- **Sepia paper background**: Warm aged-paper tone with handwritten fonts for authentic GoodNotes feel70- **Frequent visual breaks**: Icons, ASCII diagrams, color-coded sections prevent text fatigue71- **Index-first navigation**: a dedicated notebook index page reduces search friction and supports non-linear study72- **Progressive challenge ordering**: foundational pages appear before advanced pages without adding metadata headers to every page73- **Progress checkboxes**: ✓ dopamine hits after each micro-section (engagement + completion feedback)74- **Action-first approach**: "Try This Right Now" before abstract explanation (executive scaffolding)75- **Quick facts**: Flashcard Q&A format forces active retrieval (combat working memory limits)76- **Real-world examples first**: Concrete scenarios before theory (interest-dependent attention)77- **Hyperlinks + anchor navigation**: Jump to topics non-linearly (supports scattered attention patterns)78- **Emoji + icons**: Visual cues for quick section identification (supports ADHD scanning)79- **Whitespace heavy**: Breathing room between concepts (reduces cognitive load)8081### ✗ What's Avoided82- Long paragraphs (max 2–3 sentences per bullet)83- Abstract language without concrete examples84- Dense, wall-of-text sections that trigger avoidance85- Vague or open-ended learning goals86- Passive voice or hedging language ("might", "could")87- More than 1 idea per bullet point88- Review schedules that require memory ("study sometime next week")8990## Procedure9192### Mandatory Checkpoint Protocol (Fail-Fast)93Apply this protocol after each procedure step. Do not continue when a checkpoint fails.9495Checkpoint format (required):96- `CHECKPOINT <ID>: PASS - <brief reason>`97- `CHECKPOINT <ID>: FAIL - <brief reason>`9899Fail-fast rule (required):100- If any checkpoint is `FAIL`, stop immediately.101- Do not proceed to the next step.102- Do not attempt downstream regeneration until the failed step is fixed and re-validated.103104Checkpoint map:105- `P` before Step 1: workflow plan exists and is approved before any generation starts.106- `A` after Step 1: section inventory must be present and non-empty.107- `B` after Step 2 preflight: each section must include mechanism, archetype, analogy, label-fusion intent, and composition intent.108- `C` after Step 2 generation: visuals must not be template clones across sections.109- `D` after Step 2 validation: PNG count must be >= section count and all PNGs must pass integrity checks.110- `E` after Step 3: notes must be non-empty, page count >= section count, and required sections must be present.111- `F` after Step 4: `.mm` must parse and Level 1 section nodes must be >= section count.112- `G` after Step 5: `.xmind` must exist and be valid.113- `H` after Step 6.6: flashcards CSV header and minimum section coverage rules must pass.114- `I` after Step 7: index TOC row count must be >= page count minus the notebook index page.115- `J` after Step 8: PDF must exist and be non-trivial (not blank output).116- `K` final: all checkpoints must be PASS.117118### Step 0 — Plan the Workflow Before Running119Create a short execution plan before any generation step runs.120121Plan requirements:122- Include `Inputs`, `Outputs`, `Dependencies`, and `Execution order`.123- Include a per-step `checkpoint expectation` (what constitutes PASS/FAIL).124- Include `rollback/retry strategy` for the first failed checkpoint.125- Record the plan in `<FileName>_StudyNotes/checkpoints/workflow-plan.md`.126127Checkpoint `P`:128- PASS when `workflow-plan.md` exists and covers all procedure steps with checkpoint criteria.129- FAIL when planning is missing, incomplete, or execution starts before plan approval.130131### Step 1 — Read and Normalize the Markdown132- Read the `.md` file in full.133- Identify section boundaries from headings (`#`, `##`, `###`, `####`).134- Note the document title, module structure, and key themes.135- Flag dense sections that should be split into multiple micro-pages instead of one long page.136- Build an explicit section inventory table: `Section`, `Subsection`, `Order`.137- Write a normalized markdown copy to `<FileName>_source_normalized.md`.138139Coverage requirement:140- Use the section inventory as the source of truth for page counts, mindmap Level 1 nodes, flashcards, and PNG counts.141142Checkpoint `A`:143- PASS when the section inventory exists and contains at least 1 detected section.144- FAIL when boundaries are missing/ambiguous and inventory is empty.145146### Step 1.5 — Generate Semantic Section Briefs Before Any Sketching147Create `<FileName>_visual_briefs.json` from the markdown + section inventory.148149This is the mandatory semantic bridge between source ingestion and image generation. Do **not** jump directly from section headings into sketch rendering.150151Every section brief must include:152- `sectionTitle`153- `sectionSlug`154- `archetype`155- `coreMechanism`156- `what`157- `how`158- `why`159- `realWorldAnchor`160- `mentalModel`161- `edgeCase`162- `primaryEntities`163- `primaryFlow`164- `mainConstraint`165- `tradeoff`166- `physicalAnalogy`167- `labelFusion`168- `compositionIntent`169- `hotPath`170- `secondaryPaths`171- `mustShow`172- `mustNotShow`173- `visualSceneType`174- `sceneObjects`175- `objectToConceptMap`176- `spatialLayout`177- `entryPoint`178- `exitPoint`179- `failureBranch`180- `comparisonAxis`181- `evidenceArtifact`182- `dominantMotion`183- `forbiddenTemplate`184- `objectPalette`185- `shapeQuota`186- `forbiddenGeometry`187- `labelBudget`188- `sceneTest`189- `silhouettePlan`190- `propDensity`191- `asymmetryPlan`192- `antiCardFraming`193- `sceneTexture`194- `premiumSceneTest`195- `diagramIntent`196- `formalFramework`197- `sceneFamilyCandidates`198- `selectedSceneFamily`199- `selectionReason`200- `formalCompanionSuggested`201- `salienceGoal`202- `silhouetteContrastRules`203- `propInventory`204- `textureInventory`205206Hard rule:207- Full final notes are not required yet.208- Strong semantic understanding is required before image generation.209- If a section cannot produce a strong visual brief, stop and deepen extraction before sketching.210- A title plus generic `what/how/why` summary is not enough; the brief must drive geometry, motion, object choice, visual salience, and scene-object diversity.211- Resolve `diagramIntent`, `formalFramework`, `sceneFamilyCandidates`, `selectedSceneFamily`, and `selectionReason` before finalizing `visualSceneType`.212- Prefer selecting `visualSceneType` and `objectPalette` from `content-to-sketch/references/canonical-scene-families.md` before inventing a new scene family.213- For final learner-facing visuals, also apply `content-to-sketch/references/premium-sketch-language.md` so the brief carries silhouette, prop-density, asymmetry, anti-card-framing, and scene-texture intent.214- When premium visuals are requested, structure the downstream render around `content-to-sketch/references/premium-generation-playbook.md` rather than jumping straight from brief text to final layout.215- If the concept clearly maps to a formal framework (for example C4, BPMN, sequence, state, Wardley, or service blueprint), record that choice even if the final output will be a semantic sketch.216- The final learner-facing image must not expose planning metadata such as scene names, mechanism lines, analogy lines, or must-show rules.217218Checkpoint `B`:219- PASS only when every section has a complete semantic visual brief with mechanism, analogy, composition, and hot-path detail.220- FAIL when briefs are shallow, title-only, or generic.221222### Step 2 — Generate PNG Sketches (invoke content-to-sketch skill)223**This step MUST run before notes, mindmap, or XMind generation.** PNG filenames produced here are embedded directly into notes, `.mm`, `.xmind`, and the narrative manifest.224225**Invoke the `content-to-sketch` skill** — do not reimplement its pipeline here. The skill owns:226- Art Director metaphor extraction preflight (mandatory before any diagram is drawn)227- Excalidraw JSON generation with required style contract (roughness, hachure, Virgil, palette)228- Headless compilation via `scripts/compile-excalidraw.js` → `.png`229- All validation gates230231**Brief to pass to content-to-sketch for each section:**232- Input: the corresponding object from `<FileName>_visual_briefs.json` — not just the section title233- Output target: `<FileName>_StudyNotes/assets/<FileName>_section<N>_<slug>.png`234- Minimum: 1 PNG per section235- Archetype selection must be justified by the semantic visual brief and confirmed by the Art Director phase236- The brief must explicitly carry the section mechanism, analogy, label-fusion plan, composition intent, hot path, main constraint, scene objects, scene type, object palette, shape quota, forbidden geometry, label budget, scene test, silhouette plan, prop density, asymmetry plan, anti-card-framing plan, scene texture, premium scene test, diagram intent, formal framework, scene-family candidates, selected scene family, selection reason, formal companion suggestion, salience goal, silhouette contrast rules, prop inventory, and texture inventory237238**After the skill completes:**2391. Confirm `assets/` folder exists with one `.excalidraw` source and one compiled `.png` per section.2402. Validate all PNGs with Pillow.2413. Run structural QA on `.excalidraw` sources (text containment + arrow hygiene):242```bash243node <path-to-copilot-skills>/skills/content-to-sketch/scripts/validate-excalidraw-quality.js \244 --dir "<FileName>_StudyNotes/assets" \245 --report "<FileName>_StudyNotes/assets/validation_report.txt"246```2474. Record the confirmed filename list — used verbatim in Steps 3, 4, 5, and 5.4.2485. `assets/INDEX.md` is created by the skill.249250Flow integrity rule:251- Do not directly patch generated diagram files as the primary fix path.252- If visuals are weak or generic, re-run `content-to-sketch` with improved semantic section briefs and let it regenerate the entire affected section set.253- Treat direct, one-off diagram edits as exceptions only after the skill pipeline passes all gates.254- If a sketch could plausibly fit any random section with only label changes, treat that as a semantic failure and regenerate.255256Checkpoints `C`, `D`:257- `C` PASS only when section visuals are not near-identical templates and visibly encode the section mechanism/analogy through scene-specific geometry, motion, object mapping, hot-path salience, clean connector routing, non-box object diversity, and premium sketch-language cues where required.258- `C` also requires structural QA with zero text-overflow errors and zero critical arrow endpoint-inside-node errors in `assets/validation_report.txt`.259- `D` PASS only when every required PNG exists and integrity validation passes.260261### Step 3 — Generate ADHD-Friendly GoodNotes Notebook262See [handwritten-notebook-format-adhd](../pdf-to-notes/references/handwritten-notebook-format-adhd.md).263264The notebook must begin with a dedicated index page, then continue with content pages. If a section is dense, split it into 2-3 micro-pages. Use this exact structure:265```266-- Page 1: Notebook Index267268## Course Map269| Page | Section | Core Focus |270|---|---|---|271| 2 | <Section 1> | <Core concept> |272273## How to Use This Notebook274- Start with the section that matches your immediate problem.275- Use the visual sketch first, then the deep dive, then the try-this block.276- Use `<FileName>_INDEX.md` for the full cross-reference and glossary.277278## Fast Lanes279- Core architecture pages280- Process-heavy pages281- Comparison or trade-off pages282283-- Page N: <Section Title or Micro-Section>284285## Real-World Anchor286Scenario: <1-2 sentence industry scenario>287288## What You'll Learn289(1 sentence on why this matters to the learner right now)290291## Deep Dive Explanation292- Explain the mechanism in 2-4 concrete bullets293- Add at least one cause-and-effect relationship294- Include one concrete example tied to the section295296## Mental Model / Analogy297Think of this like: <short relatable analogy>298299## Visual Summary300(ASCII diagram, compact table, flowchart)301302## Visual Sketch303304305## Real-World Use First306Scenario: ...307Why it matters: ...308309## Process Flow / Steps3101. Step one3112. Step two312313## Key Concepts314- **Term**: definition in simple words315- **Term**: definition in simple words316317## Try This Right Now318- 30-second action319- Observable result320```321322Formatting rules for every page:323- Keep bullets short and concrete.324- Put the real-world example before deeper explanation.325- Use icons and whitespace for quick scanning.326- Keep jargon paired with plain-English meaning.327- Prefer one idea per bullet.328- Ensure every Level 1 and Level 2 concept passes the Triad Test (What, How, Why).329- Do not create sections titled `Intro`, `Introduction`, `Core Idea`, `Quick Facts`, or `Common Mistakes`.330- In `--adhd` mode, every page must start with an immediate visual memory hook.331- **Embed the real PNG path from assets/ — never write a placeholder.**332- In `--adhd` mode, do not include sections named `Header`, `Active Recall Prompts`, or `One-Page Revision`.333- Do not include markdown flashcard tables in the notebook schema.334- Export all cards directly into `<FileName>_Flashcards.csv` from page content anchors.335336Checkpoint `E`:337- PASS only when notes are non-empty, include required sections, and pages >= detected section count.338- FAIL if notes are mostly empty, placeholder-only, or under-covered.339340### Step 4 — Create Freemind Mindmap (`.mm`)341See [mindmap format reference](./references/mindmap-format.md).342343Build a hierarchical XML Freemind file:344- Root node: document name345- Level 1: page/section titles346- Level 2: use only the mandatory node set for the assigned archetype (Type A, Type B, or Type C)347- Level 3+: elaborative subnodes from page content348349Archetype requirements:350- Type A must contain exactly:351 - `Core Architecture Blueprint`352 - `Core Components & Governance`353 - `Key Integration Points`354 - `Systemic Trade-offs`355- Type B must contain exactly:356 - `Execution Pipeline / Steps`357 - `Environment Prerequisites & Setup`358 - `Failure Recovery & Verification`359 - `Performance Optimizations`360- Type C must contain exactly:361 - `Functional Mechanics`362 - `Concrete Configuration & Code Snippets`363 - `Edge Cases & System Constraints`364365Do not include Flashcards as mindmap nodes.366Never include nodes titled or themed as Flashcards, Q/A, Questions & Answers, Interesting Talking Points, Pitfalls & Clarifications, Narrative Flow, In This Section, or What You'll Learn.367Never include instructional/meta coaching text as node content.368Do not add `One-Page Revision` nodes to the mindmap.369Make Level 3+ child nodes complete, context-rich phrases.370371**Critical**: escape ALL `&` as `&` in node TEXT attributes. No bare `&` allowed.372373Checkpoint `F`:374- PASS only when `.mm` parses and Level 1 section nodes >= section count.375- FAIL on XML parse errors or coverage mismatch.376377### Step 5 — Convert .mm → .xmind378Run the converter script (uses Python venv):379```bash380source .venv/bin/activate381python scripts/generate_valid_xmind.py <FileName>_StudyNotes/<file>.mm <FileName>_StudyNotes/<file>.xmind <FileName>_StudyNotes/<FileName>_GoodNotes_detailed.md382```383384Checkpoint `G`:385- PASS only when `.xmind` opens as a valid archive and conversion succeeds.386- FAIL on conversion error or invalid package.387388### Step 5.4 — Build Narrative Manifest for V2389Create `<FileName>_StudyNotes/<FileName>_narrative_manifest.json` from:390- the final notes markdown391- the finalized `.xmind` blueprint392- generated PNGs in `<FileName>_StudyNotes/assets/`393394Use the shared extraction prompt template:395- `skills/xmind-notes-to-deck-v2/templates/narrative_manifest_prompt_template.md`396397Use the shared JSON skeleton:398- `skills/xmind-notes-to-deck-v2/templates/narrative_manifest.template.json`399400Strict JSON contract (must be exact):401- `deckTitle` (string)402- `deckSubtitle` (string)403- `slides` (array)404 - `slideId` (string slug)405 - `visualArchetype` (`split-screen-analogy`, `hero-metric`, `execution-pipeline`, `technical-deep-dive`)406 - `pacingSeconds` (integer speaking estimate)407 - `speakerProtocol` object with `hook`, `teleprompterVO`, `stageDirections`, `theDelta`408 - `blocks` (array of `{ title, bodyText, items }`)409 - `visuals` (array of local assets/image paths)410411Cognitive load guardrail:412- Never create wall-of-text slides.413- If a concept needs more than 3 bullet points or more than 40 words of text, split it into two consecutive slide objects.414415### Step 5.5 — Generate Pitch Deck (V2 Only)416After `.xmind` is produced and narrative manifest JSON is available, use v2 only.417418Required (v2 manifest-first, mandatory invocation of `xmind-notes-to-deck-v2`):419```bash420cd skills/xmind-notes-to-deck-v2421npm run build422npm run deck -- \423 --input "<FileName>_StudyNotes/<FileName>_narrative_manifest.json" \424 --out "<FileName>_StudyNotes/<FileName>_pitch_deck.html" \425 --script-out "<FileName>_StudyNotes/<FileName>_Teleprompter_Script.md"426```427428Hard rule:429- `md-to-notes` must invoke `xmind-notes-to-deck-v2`; manifest generation alone is not considered complete.430- No fallback deck workflow is allowed.431- If v2 skill folder, manifest, deck HTML, or teleprompter script is missing, fail the run and regenerate missing semantic artifacts.432433### Step 6 — PNG Generation Reference (Delegated)434PNG generation is fully delegated to `content-to-sketch` in Step 2.435436Rules:437- Do not duplicate, fork, or partially reimplement the sketch-generation logic in this skill.438- Use the confirmed artifact list from Step 2 (`assets/INDEX.md` + validated PNG list) as the only source for embeddings.439- If quality fails, return to Step 2 and regenerate through `content-to-sketch` instead of editing local diagram files directly.440441### Step 6.5 — Generate External AI Elaboration Artifact442Create a separate AI synthesis file when you want richer XMind elaboration that is not limited to the notebook markdown text.443444Recommended format:445- **JSON**: `<FileName>_AI_Elaboration.json`446- **Markdown**: `<FileName>_AI_Elaboration.md`447448Rules:449- Keep the elaboration separate from the main GoodNotes markdown.450- Use concise, page-specific synthesis instead of repeating the note text.451- Prefer JSON if the content is generated by another tool or model.452- The XMind converter will auto-detect this file when it sits beside the study files.453- If you generate it for the whole document, include an entry for every page, even if some pages only need a short `Concept Focus` line.454455### Step 6.6 — Extract Flashcards CSV (Mandatory)456Create a CSV file named `<FileName>_Flashcards.csv` semantically from source markdown + concept inventory + mindmap relationships.457458Generation method:459- Use the section inventory + mindmap concept graph to draft active-recall cards directly.460- Keep flashcard generation independent of notebook formatting sections.461462Density-driven generation policy:463- low-density section: `3-5` cards464- medium-density section: `8-15` cards465- high-density section: `15-25` cards (soft cap)466467CSV schema rules:468- Exact header must be: `Front, Back, Tags`469- Add both tags to each card:470 - `section:<section-slug>`471 - `topic:<topic-slug>`472- Use `density-layer:<n>` when adaptive layering is used.473474Card quality rules:475- Rotate at least 4 recall types.476- Every question must include at least one explicit section anchor.477- Hard fail if any parsed section has fewer than 3 cards.478479Checkpoint `H`:480- PASS only when CSV header is exact and per-section minimum card rules pass.481- FAIL on header mismatch, weak coverage, or repeated boilerplate patterns.482483### Step 7 — Generate Topic Index484Create `<FileName>_INDEX.md` inside the study-notes folder. This file is a master index of everything in the notebook.485486Structure:487- title488- table of contents with one row per note page after the notebook index page489- All Key Concepts (A–Z)490- Flashcard export summary491- Quick-Find by Topic492493Checkpoint `I`:494- PASS only when index TOC rows >= content page count.495- FAIL when index is incomplete.496497### Step 8 — Export A4 PDF498```bash499source .venv/bin/activate500python scripts/md_to_pdf_a4.py <FileName>_StudyNotes/<file>.md <FileName>_StudyNotes/<file_A4>.pdf501```502503Checkpoint `J`:504- PASS only when PDF generation succeeds and output is non-empty.505- FAIL on blank/near-empty output.506507### Step 9 — Move Files Into StudyNotes Folder508Ensure all outputs are inside `<FileName>_StudyNotes/` and scripts remain in `scripts/`.509510## Python Environment511- Virtualenv: `.venv` at workspace root512- Required packages: `reportlab`, `markdown`, `xmind-sdk`, `svglib`513- Install once: `python3 -m venv .venv && .venv/bin/pip install -r requirements.txt`514- Use the venv Python at `.venv/bin/python` — **not** the system Python515516## Quality Checklist517- [ ] Step 2 (PNG) runs before Step 3 (notes)518- [ ] Every section has at least one compiled PNG in `assets/`519- [ ] PNG paths embedded in notes, `.mm`, `.xmind`, and narrative manifest visuals[] all resolve to real files520- [ ] Notebook begins with a dedicated index page before content pages521- [ ] No per-page time/difficulty metadata header is emitted522- [ ] Every content page has: Real-World Anchor, What You'll Learn, Deep Dive Explanation, Mental Model / Analogy, Visual Summary523- [ ] No notebook page includes sections named `Header`, `Active Recall Prompts`, or `One-Page Revision`524- [ ] Bullets are short, concrete, and one idea each525- [ ] Real-world example appears before abstract explanation526- [ ] All Level 1 and Level 2 concepts pass the Triad Test (What, How, Why)527- [ ] `.xmind` opens without "not a valid XMind File" errors528- [ ] `<FileName>_INDEX.md` exists in the study-notes folder529- [ ] `<FileName>_Flashcards.csv` exists with exact header `Front, Back, Tags`530- [ ] `<FileName>_pitch_deck.html` exists531- [ ] teleprompter script exists for the generated deck532533### PNG Sketch Quality (content-to-sketch integration)534- [ ] PNG count is explicit or derived from topic count535- [ ] Every topic/section has at least one PNG536- [ ] All PNGs in `assets/` with `INDEX.md`537- [ ] All PNGs pass structural image validation538- [ ] All ampersands escaped as `&`539- [ ] Each sketch has 15+ text labels (accessibility)540- [ ] High contrast colors and clear primary-path salience541- [ ] Arrows/markers for visual flow542- [ ] Text labels stay inside intended containers (no overflow errors)543- [ ] Arrow endpoints attach to shape edges (no endpoint-inside-node errors)544- [ ] validation_report.txt shows 0 errors (warnings should be reviewed and reduced)545546## Completion and Validation Gate547Do not mark any run successful until all gates pass:5481. All generated PNG files pass strict image integrity checking.5492. All bare ampersands in `.mm` are escaped to `&`.5503. Semantic Depth Quality Gate passes for all Level 1 and Level 2 concepts.5514. `<FileName>_Flashcards.csv` is present with valid header and import-safe escaping.5525. Notes page count is greater than or equal to detected section count.5536. Mindmap Level 1 section nodes are greater than or equal to detected section count.5547. PNG count is greater than or equal to detected section count.5558. `<FileName>_pitch_deck.html` exists and is generated via `xmind-notes-to-deck-v2`.5569. A teleprompter script exists for the generated deck.55710. Checkpoints `P` through `J` are all PASS.55811. Final checkpoint `K` is PASS.559560## Related Skills561- **content-to-sketch** — Generates the PNG sketches (auto-invoked in Step 2)562- **transcript-to-notes** — Source of the canonical end-to-end step contract563- **pdf-to-notes** — Alternative for PDF/book input
Run npx skillmds@latest add arn-nj/md-to-notes in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Transform markdown files into GoodNotes-style handwritten study notes with ADHD-friendly chunking, active recall. Perfect for converting notes, documentation, or research into optimized study materials. Use when: converting markdown to study notes; organizing documentation into study guides; creating handwritten notebooks from .md files; "make study notes from this markdown"; "convert markdown to study format"; "organize markdown into learning materials". It is listed under Docs & Writing on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: executes scripts. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
arn-nj (@arn-nj) published this skill. Their other Agent Skills are listed on their SkillMD profile.