Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/SimHacker/moollm --skill markdown명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | markdown |
| description | Plain text formatting that's readable raw AND rendered |
| license | MIT |
| tier | 1 |
| protocol | MARKDOWN |
| allowed-tools | ["read_file","write_file"] |
| origin | John Gruber — Markdown (2004) |
| lineage | ["John Gruber — Markdown (2004)","Aaron Swartz — Beta tester, refinement","Dean Allen — Textile (prior art)","GitHub — GFM, widespread adoption","Anil Dash — 'How Markdown Took Over the World' (2025)"] |
| related | ["plain-text","yaml-jazz","session-log","soul-chat","research-notebook","sniffable-python","k-lines"] |
| tags | ["moollm","format","documentation","session-log","readme","plain-text"] |
"The source is the destination. Readable raw AND rendered."
Markdown is the plain text format that powers MOOLLM's human-readable files. It's not just formatting — it's a philosophy:
From Anil Dash's "How Markdown Took Over the World" (January 2025):
| Reason | Explanation | MOOLLM Parallel |
|---|---|---|
| 1. Great brand | "Markdown" = opposite of "markup" | YAML Jazz, SOUL-CHAT, K-lines |
| 2. Solved a real problem | HTML too verbose for blogging | YAML too rigid; comments add soul |
| 3. Built on existing behaviors | Email formatting conventions | Indentation, # headers already intuitive |
| 4. Mirrored RSS in origin | Curmudgeonly creators, blog platforms | Open source, community-driven |
| 5. Community ready to help | Dean Allen (Textile), Aaron Swartz | Skill contributions, open protocols |
| 6. Flavors for context | GFM, CommonMark, etc. | Adventure YAML vs. session markdown |
| 7. Time of behavior change | Blogging era = new habits | LLM era = new habits |
| 8. Build tool era | Markdown → HTML in pipelines | YAML → JSON → Browser |
| 9. Works with "view source" | Inspectable source | Files as state, transparent |
| 10. No IP encumbrance | Free, no patents | MIT license everywhere |
"If markup is complicated, then the opposite of that complexity must be... markdown." — Anil Dash
# Session: Adventure Uplift
## 📑 Index
1. [Overview](#1-overview)
2. [Decisions](#2-decisions)
---
## 1. Overview
<details open>
<summary><strong>🎯 Mission</strong></summary>
Build `adventure.py` to compile adventures to web apps.
</details>
<details open>
<summary><strong>📋 Technical Details</strong></summary>
Architecture decisions go here...
</details>
# Skill Name
> *"One-liner that captures the essence"*
## What Is It?
Brief explanation.
## When to Use
- Scenario 1
- Scenario 2
## Dovetails With
- [related-skill/](../related-skill/)
Markdown + YAML code blocks = structured data in narrative:
Here's the configuration:
```yaml
rooms:
- start
- maze
- end
```
And the reasoning behind it...
MOOLLM session logs use GFM extensions:
| Feature | Status |
|---------|--------|
| Navigation | ✅ Done |
| Inventory | 🚧 WIP |
- [x] Define schema
- [ ] Build linter
- [ ] Compile to JSON
<details open>
<summary>Click to expand</summary>
Hidden content goes here.
</details>
```python
def hello():
print("Hello, world!")
```
> [!NOTE]
> Useful information.
> [!WARNING]
> Critical information.
GitHub renders Mermaid diagrams natively! Perfect for:
```mermaid
flowchart TD
YAML[YAML Microworld] --> Python[Python Loader]
Python --> JSON[adventure.json]
JSON --> Browser[Browser Engine]
Browser --> Player[Player Experience]
```
Renders as:
flowchart TD
YAML[YAML Microworld] --> Python[Python Loader]
Python --> JSON[adventure.json]
JSON --> Browser[Browser Engine]
Browser --> Player[Player Experience]
Flowchart (process flow):
flowchart LR
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
Sequence diagram (interactions):
sequenceDiagram
Player->>Room: LOOK
Room->>Objects: Query visible
Objects-->>Room: [lamp, key]
Room-->>Player: Description + objects
State diagram (room states):
stateDiagram-v2
[*] --> start
start --> maze: GO NORTH
maze --> end: SOLVE PUZZLE
maze --> maze: WANDER
end --> [*]
Entity relationship (data model):
erDiagram
ROOM ||--o{ OBJECT : contains
ROOM ||--o{ EXIT : has
CHARACTER ||--o{ OBJECT : carries
EXIT }o--|| ROOM : leads_to
From Hacker News discussion (January 2025):
"It's fundamentally text. No format/vendor lock-in and very amenable to living in a git repo. I can tell an LLM to look at the code in this repo and make me an API_documentation.md and it'll grasp that I want a text-based summary." — @Havoc
| Property | Benefit |
|---|---|
| Training data | Billions of .md files in training corpus |
| Structure | Headers, lists, code blocks = clear semantics |
| Low overhead | No bracket matching (unlike JSON) |
| Comments in code blocks | Context preserved |
| Human-readable | Model can "think out loud" naturally |
LLMs naturally output:
# headers for sections- bullets for lists
**bold** for emphasisMatch this in your prompts — write instructions in Markdown, get Markdown back.
Markdown's power: it's both the source AND the readable output.
| Format | Source | Destination | Gap |
|---|---|---|---|
| LaTeX | .tex | Large | |
| HTML | .html | Browser | Medium |
| Markdown | .md | .md (or rendered) | None |
This is why YAML Jazz matters:
# This comment is readable in the source
# AND visible to the LLM
# AND preserved in the file
config:
setting: value
The source IS the documentation. The documentation IS the source.
Long documents need navigation:
## 📑 Index
1. [Section One](#section-one)
2. [Section Two](#section-two)
---
## Section One
...
This is one of Markdown's superpowers. Hide complexity, show structure. Let readers scan summaries without drowning in details.
<details open>
<summary><strong>🎯 Important Section — Open by Default</strong></summary>
Critical content that readers need to see immediately.
</details>
<details open>
<summary><strong>📋 Technical Details — Collapsed by Default</strong></summary>
Dense content that only some readers need.
Click to expand when curious.
</details>
<summary> TagsKey insight: The <summary> tag should contain a descriptive summary that tells readers what's inside WITHOUT opening. LLMs are great at generating these!
Bad:
<details open>
<summary>Click to see more</summary>
...content...
</details>
Good:
<details open>
<summary><strong>🎤 Gary Drescher's Talk — Schema Mechanism + LLM = Flight</strong></summary>
Full transcript of Gary explaining how LLMs complete what Made-Up Minds started...
</details>
Even better — with key points in summary:
<details open>
<summary><strong>🏗️ Architecture Decisions</strong> — YAML source, JSON compile, SPA output, staged development</summary>
Detailed architecture documentation...
</details>
For complex documents, nest sections:
<details open>
<summary><strong>📚 Part 1: The Gathering</strong></summary>
Overview of who attended...
<details open>
<summary>Living Legends (25 people)</summary>
Full list with bios...
</details>
<details open>
<summary>Memorial Candles (10 people)</summary>
Those speaking through memory...
</details>
</details>
| Pattern | Use When |
|---|---|
<details open> | Main content, must-read sections |
<details open> (closed) | Supporting details, optional depth |
Nested <details open> | Hierarchical information (parts > chapters > sections) |
| Summary with key points | Reader can decide without opening |
| Summary with just title | Section is self-explanatory |
MOOLLM session logs use this extensively:
## 5. Free-For-All Q&A
<details open>
<summary><strong>🎤 Highlights from the Chaos</strong> — Scott on 16KB, Will on distributed AI, Hofstadter on strange loops</summary>
### On Distributed Intelligence
**SCOTT ADAMS:** "Wait — schemas are literally what I fit in sixteen kilobytes in 1978!"
**WILL WRIGHT:** "We distributed intelligence INTO THE OBJECTS..."
...full transcript...
</details>
The reader sees:
This is why session logs are readable even at 7000+ lines!
When you have parallel information:
| Room | Objects | Exits |
|------|---------|-------|
| start | lamp, key | north |
| maze | torch | north, south, east |
Always use fenced code blocks with language hints:
```yaml
name: example
```
```python
def example():
pass
```
> *"The filesystem IS the microworld."*
> — MOOLLM Constitution
❌ Over-nesting headers — More than 4 levels is confusing
❌ Inline HTML everywhere — Defeats plain-text readability
❌ No structure — Wall of text without headers/sections
❌ Proprietary extensions — Stick to GFM for portability
❌ Rendered-only thinking — If it's unreadable raw, rethink it
From HN:
"I don't want to worry about whatever cursed format OneNote uses still being something I can extract in 2035." — @Havoc
Markdown files from 2004 are still readable today. They'll be readable in 2045. Plain text is forever.
MOOLLM session logs, skill files, and READMEs will outlive any proprietary format.
MARKDOWN
Invoke when: Writing documentation, session logs, READMEs, or any human-readable prose.
"The trillion-dollar AI industry's system for controlling their most advanced platforms is a plain text format one guy made up for his blog and then bounced off of a 17-year-old kid before sharing it with the world for free." — Anil Dash