Mind map
Carte mentale interactive — extraction hiérarchique depuis brief/notes/report vers mind-map.json éditable + mind-map.html autonome (pan/zoom, expand/collapse, liens sources). Zero CDN. Presets partagés avec layout-html. Pas de recherche. Déclencheurs : "mind map", "carte mentale", "mind-map", "vue hiérarchique". Commande : /mind-map.From its SKILL.md
npx -y skills add loursCreatif/ours-stack --skill mind-mapAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- skips confirmationTells the agent to proceed without asking first, 2 times: "Overwrite without asking unless file modified <1h ago and user didn't say `overwrite`." and 1 more.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 3 commands, including `python3 mind-map/scripts/validate-map.py "<path>/mind-map.json"` and 2 more.
SKILL.md
6.3 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Mind Map
Carte mentale cliquable — plus rapide à parcourir qu'un article linéaire, moins immersif qu'un palais 3D.
When to use (vs other skills)
| Skill | Responsibility | Does NOT |
|---|---|---|
/layout-html | Article linéaire + SVG figures | Arbre hiérarchique |
/mind-map | This skill — carte mentale interactive | Nouvelle recherche |
/deep-research | Synthèse + sources-index | Carte mentale |
Optional pipeline (never auto-chained):
/bear-hours → notes / dense-read → /mind-map
/deep-research → /mind-map
Hard rules
- No research — never
WebSearch/WebFetch. Work only from provided text/files. - Zero external assets — no CDN, no Google Fonts, no external scripts/images/stylesheets, no
fetch(). - JSON is source of truth —
mind-map.jsoneditable; HTML regenerated from JSON. - Faithful to source — never invent URLs, claims, or nodes absent from input.
- Limits — max 80 nodes, depth 5. Overflow → merge siblings into one
detailwith bulletnote(deterministic, no ask). - Escape output — embed JSON via structured serialization only; never inject raw markdown HTML into template.
- Open browser —
open <path>on macOS after write.
Step 0: Style — AskUserQuestion
Title: Mind Map — Style
Offer exactly these 4 options (AskUserQuestion max): warm, editorial, minimal, creative. Custom style goes through the automatic "Other" option — treat the free text as a custom preset per references/presets.md § Custom. Smart-skip if one of these presets is named in message.
Default when skipped: warm for all inputs.
Load references/presets.md and token blocks from references/html-template.md.
Step 1: Intake — detect input mode
| Mode | Trigger | Source | Output |
|---|---|---|---|
| A — Study | studies/<slug>/ or slug | brief.md + optional notes.md | studies/<slug>/mind-map.{json,html} |
| B — Research | research/<slug>/ | report.md + optional sources-index.md | research/<slug>/mind-map.{json,html} |
| C — File | path to .md | that file | <dir>/mind-map.{json,html} |
| D — Pasted | text in chat | message body | output/mind-map/<slug>/map.{json,html} |
| E — Regenerate | regenerate / existing JSON | mind-map.json only | regen HTML only |
Invocation examples:
/mind-map biomimetisme-locomotion-chantier
/mind-map studies/biomimetisme-locomotion-chantier/brief.md
/mind-map research/robots-assemblage-structurel-chantier
/mind-map regenerate studies/foo/mind-map.json
Guard: no text and no resolvable slug → ask for content or path.
Step 2: Extract hierarchy
Load references/extraction-rules.md and references/node-schema.md.
Parse markdown headings, bullets, source lines. Assign id, type, label, summary, note, href, collapsed, and optional importance.
Use importance only for visual hierarchy: 5 root / central thesis, 4 major branches, 3 supporting concepts, 2 details or examples, 1 sources or minor leaves. Omit it when unsure; the HTML renderer infers a safe size.
Leave top-level layout omitted or "auto" by default. Set "centered" only when the source is clearly wide/exploratory and shallow; set "tree" only when the user explicitly wants the classic hierarchy.
Run validation:
python3 mind-map/scripts/validate-map.py "<path>/mind-map.json"
On validation error → fix JSON before composing HTML.
Step 3: Write JSON then HTML
- Write
mind-map.jsonwith accuratemeta.nodeCount - Compose HTML:
python3 mind-map/scripts/compose-html.py "<path>/mind-map.json"
Or hand-compose from references/html-template.md if script unavailable.
Overwrite without asking unless file modified <1h ago and user didn't say overwrite.
Step 4: Deliver
open "<absolute-path>/mind-map.html"
Tell the user:
- Output paths (json + html)
- Style preset used
- Input mode
- Node count by type (
concept,detail,example,source); mentionsummary/notecoverage when present - Reminder: edit
mind-map.jsonthen/mind-map regenerate <path>
Errors (deterministic)
| Condition | Action |
|---|---|
| Empty / unparseable markdown | Stop — ask for clearer structure or paste headings |
| No brief (study mode) | Suggest /bear-hours first |
| >80 nodes after extraction | Merge deepest siblings into grouped detail until ≤80 |
Duplicate id | Regenerate ids with slug prefix |
source without href | Keep node; panel shows label only |
| Invalid JSON (regenerate) | Stop — show validate-map.py error |
compose-html.py missing | Fall back to template in references/html-template.md |
Escape hatches
| User says | Action |
|---|---|
regenerate | Mode E — JSON → HTML only |
overwrite | Replace without confirmation |
warm / editorial / minimal / creative | Smart-skip style question |
| Described style ("sombre néon", "pastel"…) | Smart-skip — custom preset per references/presets.md § Custom (meta.customTokens) |
| slug only | Try studies/<slug>/ then research/<slug>/ |
Self-check before delivery
- No WebSearch / WebFetch
- All nodes traceable to input
- ≤80 nodes, depth ≤5
-
validate-map.pypasses - HTML offline-ready (no external URLs in assets)
- JSON + HTML written + browser opened
References
references/node-schema.md— JSON contractreferences/extraction-rules.md— markdown → treereferences/html-template.md— manual compose fallbackreferences/presets.md— layout-html token alignmentreferences/design-decisions.md— design decision logscripts/validate-map.py— schema checkscripts/compose-html.py— JSON → HTML
What ships with it: 7 files
59.7 KB alongside SKILL.md, 2 of them executable
references/
- design-decisions.md1.5 KB
- extraction-rules.md3.1 KB
- html-template.md13.5 KB
- node-schema.md3.7 KB
- presets.md1.4 KB
scripts/
- compose-html.pyruns32.1 KB
- validate-map.pyruns4.4 KB