A bullet point could mean anything — a fact, a task, a risk, a question. You can't tell without
reading everything again.
5 minutes to learn · works in any text field
❌ Prose / Markdown
The migration has some advantages in terms of performance — roughly 13% improvement was observed — but there
are also some concerns. Most notably, the team hasn't worked with AWS before, which could be an issue.
Whether we should use Reserved Instances is still an open question.
✓ CLN
=migration to AWS
+13% perf gain
!team has zero AWS
experience
.hire contractor 90 days
?Reserved Instances vs
on-prem TCO
Scan speed
Prose
—
CLN
—
One rule: scan only the left column — the colored symbols. You
already know: there's a definition, a pro, a risk with an action, and an
open question. No reading required.
02 // Four Operators
Start with four. Add others later.
=
Equals
"What is it?"
=binary format for stack-based VM
=runs near-native speed in browsers
.
Dot
"What to do?"
.hire AWS contractor for 90 days
.run both APIs in parallel 6 months
!
Bang
"What can go wrong?"
!team has zero AWS experience
!GDPR — data must stay in EU region
@
At
"Who / when / where?"
@owner: alex · deadline: Q3
@source: Stanford WFH study, 2023
↑ Click any card to see examples
📚 Sidebar — Cornell Notes
Cornell Notes (Walter Pauk, 1956) split a page into a narrow cue
column and a wide notes column. You quiz yourself by covering the right side and answering from cue keywords.
Cues
What speed?
Where runs?
Downside?
Notes
1.2–1.5× native
browsers + server
no direct DOM
Summary: Wasm = fast, portable, sandboxed. Use with JS, not instead of it.
CLN connection: the operator column is a
Cornell cue column — but for every line, not just section headers. ! =
"risk cue". . = "action cue". No covering required — cues are always
visible.
→ Now test yourself
Which operator fits this line?
1 / 6
02.5 // Scan Challenge
Find it without reading it.
CLN operators are pre-attentive — your brain classifies them before you finish reading. Prove it.
✓ Your brain is already reading CLN symbols, not text. That's the whole point.
03 // Write Your First Block
Type it. Feel the difference.
Your CLN block — type below
Live preview
Start typing above…
1
Write a // NN · Title block header
2
Add an = definition line
3
Add a . action line
4
Add a ! risk line
🎉
First CLN block complete!
Your notes now have a semantic layer.
04 // Take a Template
Copy. Paste. Start anywhere.
These templates work in any plain-text field: Notion, Telegram, VS Code, a .txt file. No software, no renderer.
Universal summary template
= SUMMARY: [Title]
= core thesis — one line
= key insight
. main point 1
* supporting detail
. main point 2
+ strength
- weakness
! risk / warning
@ source: author / year
@ domain: field
Decision / analysis template
= ANALYSIS: [Decision]
= context — one line
+ argument for
+ argument for
- argument against
- argument against
! critical risk
@ mitigation: how to handle it
. recommendation
@ owner: name · deadline: date
? open question
Meeting notes template
= MEETING: [Topic] — [Date]
@ team: names · duration: N min
// 01 · Decisions= decided: …
// 02 · Actions. action item
@ owner: name · due: date
// 03 · Risks & Open! blocker or risk
? open question
★ v2.8 — inline formatting + directives
%version: 2.8%const: project = "[Name]"%const: owner = "[Person]"%const: due = "[Date]"= PROJECT: %%project
@ owner: **%%owner** · due: **%%due**
! ==critical blocker== — describe it here
@ owner: **%%owner** · must resolve before **%%due**
. task: run `command-here` before merge
. ~~old approach~~ → **new approach**
// tradeoffs~ *speed* vs *completeness* — pending decision
→ ship to 10% first · full rollout after **%%due**
★ // v2.8 — Inline Formatting
Emphasis inside the content slot.
v2.8 adds 7 inline tokens — parsed mid-line only, never at line-start. Operators stay untouched.
**bold**
Bold
names, amounts, deadlines
*italic*
Italic
terms, light emphasis
`code`
Code
commands, values, keys
~~strike~~
Strike
deprecated, cancelled
==highlight==
Highlight
critical, must-not-miss
$math$
Math
formulas, MathJax/KaTeX
! Rule: inline tokens parsed mid-line only — never at line-start. * at line-start = Note operator | *word* mid-line = italic. Position decides.
Live example — rendered
!auth cert expires 2026-03-15 — blocks all deployments @owner: DevOps · fix: run certbot renew before 2026-03-10 .manual rotation → auto-renew via cron ~uptime vs migration effort — tradeoff
→ Key insight: operator column stays clean — all emphasis lives inside the content slot. Scanability is preserved.
@ team: names · duration: N min
// 01 · Decisions= decided: …
// 02 · Actions. action item
@ owner: name · due: date
// 03 · Risks & Open! blocker or risk
? open question
05 // You're Ready
Now go deeper.
You know the four operators. That's enough to start. Come back for the rest when content demands it.
The key insight: choosing an operator forces you to decide what
type of information this is. That act of deciding — not the notation itself — is where the cognitive value
lives. CLN is intentional friction. It slows you down just enough to think.