# Fable

> Use when user wants to understand a graduate-level complex concept through a metaphorical fable story. Supports specifying domain (e.g. computer science, economics, philosophy), optional concept name, and target audience age group.

- Skill: `studyzy/fable` (Agent Skill)
- Install (CLI): `npx skillmds@latest add studyzy/fable`
- Raw SKILL.md: https://api.skillmd.com/api/skills/studyzy/fable/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: studyzy (https://skillmd.com/u/studyzy)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/studyzy/fable

---


# Fable

## Overview

Explain graduate-level, counterintuitive concepts through metaphorical fable stories. The story embodies the concept's underlying structure without naming it, creating an "aha moment" when the concept is revealed at the end.

## When to Use

- User wants to deeply understand a complex academic concept
- User specifies a domain like "计算机科学", "经济学", "哲学" and wants to learn
- User asks for an intuitive explanation of something abstract or counterintuitive
- User explicitly invokes `/fable` or asks to "用寓言解释"

## Parameters

| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| Domain | Yes | - | 学术领域，如：计算机科学、经济学、哲学、物理学、数学、生物学、心理学 |
| Concept | No | Auto-select | 手动指定具体概念名。留空则由 AI 从该领域选一个研究生水平、反直觉的概念 |
| Audience | No | 中青年 | 目标读者年龄段，影响寓言的语言难度和叙事复杂度 |

### Audience Levels

| Level | Language Style | Narrative Complexity | Metaphor Domain |
|-------|---------------|---------------------|-----------------|
| 幼儿 (3-6) | 极简，拟人化 | 单一主线，明确因果 | 日常物品、动物 |
| 小学生 (7-12) | 简单，童话风 | 简单情节，有转折 | 校园、家庭、童话 |
| 青少年 (13-17) | 适中 | 复杂一点的情节 | 人际关系、冒险 |
| 中青年 (18+) | 标准 | 反直觉、需背景知识 | 职场、社会、科技 |
| 专业读者 | 可用术语 | 可用专业场景做隐喻 | 编程、工程、学术 |

## Workflow

### Step 1: Select the Concept

If user provided a specific concept name, use it directly. Otherwise:

1. From the specified domain, identify a **graduate-level** concept that is **complex** and **counterintuitive**.
2. The concept should be non-trivial — something that challenges intuition and requires deep understanding.
3. Briefly confirm with the user: "我选择的概念是 [概念名]，可以吗？"

Examples of good concept choices by domain:
- 计算机科学: CAP 定理、拜占庭将军问题、PAC 学习理论、停机问题
- 经济学: 比较优势、公地悲剧、柠檬市场、科斯定理
- 哲学: 缸中之脑、忒修斯之船、中文房间、囚徒困境
- 物理学: 量子纠缠、双缝实验、麦克斯韦妖、熵增原理
- 数学: 哥德尔不完备定理、蒙提霍尔问题、巴拿赫-塔斯基悖论
- 生物学: 红皇后假说、自私的基因、生态位构建

### Step 2: Write the Fable (500-1000 characters)

Craft a narrative story that:

**Core Rules:**
- The story's entire plotline and structure MUST perfectly embody the concept's underlying mechanism
- **NEVER name the concept** in the story — no hints, no technical terms, no direct references
- The reader should NOT immediately guess what concept it is

**Story Structure:**
- Beginning: Set up characters and a situation that mirrors the concept's premises
- Middle: Develop the plot — this is where the concept's mechanism plays out
- End: Reach a conclusion or revelation that aligns with the concept's implications
- The "aha moment" should come near the end, not at the beginning

**Language Adaptation (by audience):**
- Adapt vocabulary, sentence length, and metaphor domain to the target audience
- For children: use animals, toys, daily objects as characters
- For adults: use workplace scenarios, social dynamics, technology
- For professionals: can use domain-appropriate scenarios as metaphor vehicles

**Quality Check:**
- After writing, verify: if a reader knows the concept, would they immediately recognize it? If yes, rewrite to make the metaphor more indirect.
- The fable should stand alone as a good story even without the reveal.

### Step 3: The Reveal — Name and Explain

After the fable ends, clearly separate with a divider and:

1. Formally name the concept
2. Explain it in clear, accurate terms appropriate to the audience level
3. Explain WHY it is counterintuitive — what makes it graduate-level
4. Keep the explanation concise but complete

### Step 4: Mapping — Connect Story to Concept

Break down the correspondence between story elements and concept components:

For each key element in the story (character, event, setting, object), map it to:
- What it represents in the real concept
- Why this mapping is apt

Use a clear format like a table or numbered list. Example:

| Story Element | Concept Component | Why This Maps |
|--------------|-------------------|---------------|
| 老国王 | 中心节点 | ... |
| 信使 | 消息传递 | ... |

## Example

**User input:** `/fable 计算机科学`

**AI selects concept:** CAP 定理

**Fable (abbreviated):**
> 在一个王国里，老国王年迈体衰，他把国家分给了三个儿子管理。但他定下一条铁律：任何决策，三个儿子必须意见一致才能执行。起初一切顺利，但后来一场暴风雪切断了三兄弟之间的通信...

> 大哥面临一个抉择：要么等通信恢复（但子民在挨饿），要么自己做决定（但违背父王的铁律），要么听任二弟三弟各自为政（但国家会分裂）...

**Reveal:** 这就是 CAP 定理——分布式系统中，一致性（Consistency）、可用性（Availability）、分区容错性（Partition Tolerance）三者不可兼得。

**Mapping:** 老国王=理想状态，三兄弟=三个节点，暴风雪=网络分区，铁律=强一致性...

## Common Mistakes

| Mistake | Fix |
|---------|-----|
| Story names the concept or uses technical terms | Remove ALL domain terminology. Use pure metaphor. |
| Fable is too on-the-nose (readers guess immediately) | Add misdirection, complexity, or delay the reveal longer. |
| Concept is too simple (undergraduate level) | Pick a concept that genuinely challenges graduate students. |
| Language doesn't match audience | Adjust vocabulary, sentence complexity, and metaphor domain. |
| Mapping is incomplete or shallow | Map EVERY major story element. Explain WHY each mapping works. |
| Fable is boring as a story | Make characters relatable, add emotional stakes, use vivid imagery. |

