---
name: ljg-map
description: "一个行业 → 一张生态地形图卡（PNG）。以《千脑智能》参考系理论为地基：把行业摊成一张可俯瞰的「生态地形」——价值像河一样流过地貌，再在地形上标出两处——「瓶颈」（流量/产能在此收窄的隘口/水坝）和「价值捕获点」（利润在此沉淀的宝藏堆）。地形让权力结构一眼可见：卡流量的地方常常不是钱沉淀的地方。配三个关键指标的 base rate（刻度）+ 三个「大问题」（前沿）。deep research 真联网，图用 AI 生图（默认 -a 动物森友会暖萌风，可选 -c pixel+cyber），继刚作小测量员立在地形上俯瞰。Use when user says '行业地图', '产业地图', '生态地形图', '画一下这个行业', 'industry map', 'map this industry', '行业版图', '产业链地图', '/ljg-map', or gives an industry/领域 name wanting its terrain mapped. 风格：默认 -a 动森，加 -c 走 cyber。NOT FOR 一个领域降秩找生成器（用 ljg-rank）、拆一本书（用 ljg-book）、单个项目投资分析（用 ljg-invest）、一个概念深钻（用 ljg-think）。"
user_invocable: true
version: "2.1.0"
---

# ljg-map：生态地形图卡

输入一个行业，输出一张可俯瞰的生态地形——价值怎么流、卡在哪个隘口、钱在哪堆成宝藏、未来在哪决战。

## 地基：参考系理论（《千脑智能》）

Hawkins 的看法：大脑认识任何东西，都是把它的特征钉在一个参考系（一张地图）的位置上，靠移动和预测来学。看行业也一样。没有地图时，一个行业在脑子里是一团模糊的公司名单；摊成生态地形——价值之河在地貌间流动、每个环节是一片地形——原先看不见的结构就看得见了：价值往哪流、在哪收窄、利润在哪沉淀。

所以这不是装饰风景，是有结构的地形。每片地貌的位置要说得出理由——谁在上游谁在下游、河在哪收窄成隘口、宝藏堆在哪片地。位置说不出生态理由，就只是一座好看的空岛，参考系没建起来。

thesis（必上卡）：**把一个行业摊成生态地形，你才看得见——河在哪收窄（瓶颈），金子在哪沉淀（价值捕获）。而这两处，常常不是同一处。**

## 两处标注，和它们的错位

整张卡要办成的事：把两处在地形上标得一眼可辨，并让它们的错位或重合现形。deep research 先找准，再译成地形。

### 瓶颈（河在此收窄 → 隘口/水坝/独木桥）

行业里被卡住的环节——产能、流量、控制权在这里收窄。识别信号：

- **稀缺产能**：扩产要数年、要巨额资本（晶圆厂、锂矿）
- **单点控制**：一两家把着，绕不过去（ASML 光刻机、Google 搜索入口）
- **牌照/专利/标准闸**：法律或技术标准设的关卡（医药审批、CUDA 生态）
- **物理/认知极限**：带宽、延迟、注意力、信任——绕不开的天花板

一句话测试：**这个行业要扩大产出，最先卡住的是哪一环？** 那一环画成收窄的隘口或水坝，插红牌。

### 价值捕获点（利润在此沉淀 → 宝藏堆/金库）

钱实际留下来的环节。创造价值和捕获价值是两回事。识别信号：

- **议价权**：上下游都得求它，它说了算（操作系统、平台收租）
- **高毛利且持续**：利润率高、还守得住（品牌、专利药、网络效应）
- **赢家通吃**：规模或网络效应让头部吃掉大部分利润

一句话测试：**这个行业赚到的钱，最后沉在哪一环？** 那一环画成金币宝藏堆，插金牌。

### 错位与重合

瓶颈和价值捕获是两个独立的量，先分别找，再看它们落在地形哪片：

- **重合**：卡脖子的就是赚钱的（ASML、台积电）——宝藏堆挨着隘口，权力与利润同源。
- **错位**：创造价值的环节守着薄田，利润被另一处抽走（创作者村庄种田，平台港口收钱；硬件田薄，英伟达坝上堆金山）。

caption 一句话点破这张地形的权力结构（如「双头抽租：两处宝藏一前一后，中间村庄只种田不收钱」）。错位是这类卡最值钱的发现——权力结构变成地形上看得见的金山与薄田。

## 三个大问题

正好三个悬着的问题——张力还在、答案未定、一旦定了就改写格局。往往在地形的前沿：隘口会不会被新路绕过？宝藏会不会迁到另一片地？哪个新势力在改河道？每个一句话，可争论、指向未来，三个不重叠。判定标准见 `references/research.md`。

## base rate：地形的刻度

地形给结构，没刻度会被个案带偏——看见一个独角兽就以为遍地黄金。base rate 是刻度：这个行业最关键三个指标的基线值，没有额外信息时该持有的先验。三件东西合起来才是完整的参考系：地形管「在哪」，base rate 管「多少」，三大问题管「接下来」。卡上也按这个顺序读。每个 base rate 三个字段：指标名 + 数值（区间/百分比，大字）+ 一句「这意味着」，点破它戳掉的那个幻觉。判据：决策相关、反直觉、可查证——真数字，不编。详见 `references/research.md`。

## 风格 mold

| mold | 参数 | 风格 |
|------|------|------|
| **动物森友会** | `-a`（默认） | 暖萌治愈、奶油/青/木/黄、圆角软卡通、小岛地形、木牌字 |
| **pixel + cyber-hacker** | `-c` | 暗黑霓虹、16-bit 像素地形、CRT/glitch、终端字 |

两种都由 `assets/gen_illustration.py --mold a|c` 生成；继刚固定作小测量员立在地形高处俯瞰（从墨像参考生成，认得出他）。

## 流程

```
输入：行业/领域名（可附用户判断）[+ -a/-c 选 mold，默认 -a]
  ↓
1. deep research：价值链结构、关键环节、利润分布、卡点、未决问题 + 三个 base rate（见 references/research.md）
2. 定位两处：🔴 瓶颈（最先卡产出的环）+ 🟡 价值捕获（钱最后沉的环）；看错位还是重合
3. 把研究译成地形 frame（英文）：河怎么流、各环节是什么地貌、隘口在哪、宝藏在哪、继刚站哪、3-6 个中文地名（见 references/visual.md + example.md）
4. 生图：python3 assets/gen_illustration.py --mold a --frame "<...>" --out /tmp/ljg_map_{slug}_terrain.png
5. 提炼三个 base rate（指标 + 数值 + 这意味着）
6. 提炼三个大问题
7. 选 accent 色（动森挑暖色/草绿，见 visual.md）
8. 填 assets/map_template.html 占位变量（{{MAP_IMG}} = file://生成图）
9. 渲染（capture.js，fullpage）
10. Read 成品 PNG 亲眼验（对照 visual.md 出厂自检），不行调 frame 重生 → 交付
```

## 研究与视觉两份 reference

- 执行前先 Read `references/research.md`——研究一个行业要问的五组问题、瓶颈与价值捕获的排查步骤、三大问题与 base rate 的提炼标准、研究 agent 扇出纪律。
- 生成前先 Read `references/visual.md`——玻璃卡身规格、两 mold 调色板、怎么把研究译成地形 frame、出厂自检。再看 `references/example.md`——一张真渲染验收过的范例（AI 影视，双头抽租），frame 可改复用。

## 模板变量（map_template.html）

| 变量 | 内容 |
|------|------|
| `{{ACCENT}}` | 卡身强调色 hex（动森挑暖色/草绿，如 `#5a9e1e`；cyber 挑霓虹色） |
| `{{INDUSTRY}}` `{{EN}}` | 行业中文名 / 英文名 |
| `{{TAGS}}` | 3-4 个核心环节/概念标签，每个 `<span class="tag">…</span>` |
| `{{THESIS}}` | 参考系 thesis 句（摊成地形才看得见两处、二者常错位），关键词 `<span class="hl">` |
| `{{MAP_IMG}}` | 生态地形图的 `file://` 绝对路径 |
| `{{MAP_CAPTION}}` | 图下一行小注：点破错位/权力结构 |
| `{{BASE_RATES}}` | 三个 base rate：每个 `<div class="brate"><div class="blabel">指标名</div><div class="bval">数值</div><div class="bmean">这意味着…</div></div>` |
| `{{Q1}}` `{{Q2}}` `{{Q3}}` | 三个大问题，每个一句话 |

## 渲染

```bash
node ~/.claude/skills/ljg-card/assets/capture.js \
  /tmp/ljg_map_{name}.html ~/Downloads/{name}-生态地形图.png 1080 1440 fullpage
```

复用 ljg-card 的 capture.js（playwright 已装）。`fullpage` 不能省，卡片高度跟内容走。

## 交付

1. Read 成品 PNG 亲眼验，地形图放大看，对照 visual.md 出厂自检逐条过。生图不满意（地名糊、两处没标清、继刚不像）就调 frame 重生。
2. 报告：文件路径 + 一句话点出这张地形最重要的发现（通常是错位）+ 用了哪个 mold。

## 必过的检查

1. **是生态地形不是装饰风景**——每片地貌的位置说得出生态理由（上下游、河怎么流、谁卡谁、金子堆哪）。说不出就回去重译。
2. **两处必标且分得开**——🔴 瓶颈（隘口/坝，红牌）、🟡 价值捕获（宝藏堆，金牌）。
3. **错位/重合必点破**——caption 说破权力结构。
4. **正好三个大问题**——未决、指向未来、互不重叠。
5. **deep research 不靠印象**——价值链、利润分布、卡点必须联网查证。编出来的环节过不了「这环到底卡不卡、赚不赚」的复核。
6. **base rate 真查不编**——区间可以，编造不行。编的先验比没有更糟。
7. **数字和问题不进图**——base rate 数字、三大问题放卡的文字块；图只承载地形 + 两处标注 + 几个地名。
8. **真渲染真验图**——必须 capture.js 渲染、必须 Read PNG 亲眼看，不许凭「已生成」交差。
9. **卡上中文过关**——thesis/caption/三大问题默念出声，翻译腔重写；不用「这一刀」「锋利」（当元描述）「钉死」「砸实」这类自我修辞。
10. **house style 同源**——浅色玻璃卡身 + 嵌入生图，与 ljg-library 一家人。

## Gotchas

- **退化成装饰风景**：最常见的失手。自问「河往哪流、谁在上游、隘口卡谁、金子堆哪」，答不出就是空岛。
- **默认两处重合**：瓶颈和价值捕获要分别独立排查，再看落点——错位才是洞见，默认重合会把它抹掉。
- **环节画成公司**：地貌 = 功能位（晶圆代工山、模型训练谷、分发港），公司只是当下占地者，作地名小字。换了占地者，地貌还在。
- **图里堆精确细节**：生图画不好多标签和长数字。地名 3-6 个、每个 2-5 字（长地名容易糊）；数字和问题全走 HTML 文字块。
- **frame 里地名用分号或顿号分隔**：` / ` 分隔中文标注会被安全钩子误判 BLOCK，不用斜杠。
- **生图必看图**：同一个 frame 每次出的图都不一样，会糊中文地名、两处没标清、继刚不像。生成后必 Read 亲验，不行调 frame 重生；重生前把当前这张先存到别的路径。
- **accent 是卡身色**：从 mold 调色板挑（动森暖色/草绿，cyber 霓虹）；地形图配色是生成图自带，两边不串。
- **/tmp 文件名带行业 slug**：并行铸卡时临时 HTML 和生成图都用唯一名，共享固定名会串图。
- **批量管线**：`gen_illustration.py` 直调 marswave，不走 listenhub 交互门控，可进批量；每张都要联网、花 API 额度、亲眼验一回图，排任务留余地。
- **研究扇出**：并发研究 agent 必须同步返回，禁挂 Monitor 后台漂着；批量错峰；关键数字落盘前抽样独立复核。
