--- name: content-pipeline

description: A unified pipeline for content production and distribution. Material collection → Drafting → Layout → Cover → WeChat Moments copywriting → Multi-platform conversion → One-click distribution. Covers WeChat Official Account writing, Xiaohongshu carousel images, Jike copywriting, podcast audio, brand videos, and Chrome CDP automatic publishing.

---

# Content Pipeline

> This skill uses the 01fish brand colors as an example by default. You can change it to your own brand colors in the `references/` directory, or override the path and personal settings in `local/SKILL.local.md`.

One-stop solution: Material collection → Article writing → Layout → Multi-platform content → One-click distribution.

---

## Storage Location

```
[Output Directory]/
├── drafts/
│ └── current.json # Current material list
├── [Article Title].md # Output article
├── [Article Title]_preview.html # Layout preview
└── [Theme]-Xiaohongshu Version.html # Xiaohongshu carousel

```

The output directory is specified by the user, or a default path is configured in `local/SKILL.local.md`. If no directory is specified, multi-platform outputs are stored in `/tmp/`.

---

## Triggering Keywords

### Material Collection (Path A)

| Triggering Keywords | Explanation |

|-------|------|

| `/story` | View current material status |

| "Check out the materials" | View recorded materials |

| "Draft" | Generate article + layout + cover image |

| "Clear materials" | Clear current materials |

| "Note: xxx" | Manually add materials |

| "Material +1: xxx" | Manually add materials |

| "Write a Moments Post" | Generate Moments caption based on materials/articles |

### Content Generation (Path B)

| Triggering Keywords | Explanation |

|-------|------|

| `/xiaohongshu` + WeChat link | Convert WeChat article to Xiaohongshu carousel |

| "Convert to Xiaohongshu" + WeChat link | Same as above |

| "Make it into Xiaohongshu" + WeChat link | Same as above |

| "Convert to Jike" + WeChat link | Generate Instant Copy |

| "Share to Podcast" + WeChat Link | Generate Podcast Script + AI Voice |

| "Make Video" + WeChat Link | Trigger Brand Video Pipeline |

| "Create Video Canvas" + Any Material | Generate a recordable Prezi-style video canvas (WeChat link/md/pdf/html/text are all acceptable) |

| "Screen Recording Canvas" + Any Material | Same as above |

| "Journal Video" + Any Material | Same as above |

| "Multi-Platform Distribution" + WeChat Link | Generate content for all platforms at once |

| "Share to Xiaohongshu and Publish" + WeChat Link | Generate + Automatically Trigger Distribution |

### Article Reading

| Trigger Keywords | Explanation |

|-------|------|

| `/read-gzh` + WeChat Link | Crawle and summarize WeChat Official Account articles |

| "Read this WeChat Official Account for me" | Same as above |

| "Summarize this article" | Same as above |

### Layout and Images

| Triggering Keywords | Description |

|-------|------|

| "Layout" | Use 01fish theme to format Markdown → WeChat Official Account HTML |

| "Create Header Image" / "Cover Image" | Generate WeChat Official Account header image HTML (browser downloads PNG) |

| "Create Vertical Cover" / "Vertical Header Image" | Generate 3:4 vertical cover (1080×1440) from WeChat Official Account cover, suitable for Xiaohongshu/Video Account |

| "Create Images" / "Prepare Images" | Generate article images HTML (browser downloads PNG) |

| "Layout + Images" / "Complete Layout" | Layout + header image + images generated together |

### Distribution

| Triggering Keywords | Description |
|-------|------|
| `/distribute` | Read manifest for one-click publishing |
| "One-Click Publishing" | Publishing to all platforms |
| "Publish to all platforms" | Same as above |
|"Publish to Xiaohongshu" | Publish to a single platform |
|"Publish to Jike" | Publish to a single platform |

---

## Core Principle: Utter Honesty

**AI-generated content must be honestly labeled, without any human intervention, showcasing the authentic creative process. **

### Honesty Labeling Guidelines

When AI participates in content creation, it must be clearly labeled in the article:

```markdown

**Research & Writing**: AI (Claude)

**Leader & Proofreader**: [Username]

**Creation Time**: [Actual Time Spent] (Research X minutes + Writing Y minutes)

```

### Prohibited False Statements

❌ **Don't Write:**

- "We spent two weeks researching" (Actual time: a few minutes)

- "Based on in-depth interviews" (No interviews)

- "Discussed by the team" (No team)

- "Author: XXX / Editor: AI Assistant" (AI wrote the entire article)

✅ **Should Write:**

- "This article is based on N publicly available information sources, researched, analyzed, and written by AI"

- "Materials collection time: X minutes, writing time: Y minutes"

- "Human-led + AI collaboration"

### Why Honesty is Important

1. **Building Trust**: Readers deserve to know how the content was generated.

2. **Showcasing Value:** AI's rapid, high-quality content creation is value in itself and needs no concealment.

3. **Ethical Compliance:** AI-generated content should be transparent.

4. **Long-Term Vigilance:** Honesty is the cornerstone of a long-term personal brand.

---

## Two Input Paths

### Path A: Daily Material Collection → Drafting

``` Record while working → Say "Draft" → Write the article → Layout → Cover image → WeChat Moments caption → Manifest

```
Applicable Scenarios: Automatically accumulate materials during daily collaboration with CC, and generate a draft with one click once enough is collected.

### Path B: WeChat Link → Multi-Platform Content

``` WeChat Link → Article Extraction → Structure Analysis → Generate Xiaohongshu/Jike/Podcast/Video → Manifest → Distribution

```
Applicable Scenarios: Existing WeChat Official Account articles can be converted into multi-platform content and published with one click.

---
## Path A Workflow: Material Collection → Drafting

### Automatic Recording (Enabled by Default)

cc **actively identifies and automatically records engaging moments in conversations**, without requiring manual triggering.

**Signal Recognition:**

| Type | Signal Recognition | Example |

|-----|----------|------

| Pitfalls and Failures | Expectations ≠ Results, Errors, Half a Day of Frustration | "Tried three solutions and none worked" |

| Unexpected Discoveries | "Unexpectedly," "It works," Unexpectedly Effective | "Solved it like that!" |

| Iterative Refinement | Multiple Versions, From Complex to Simple | "200 lines reduced to 20 lines and it still runs" |

| Funny Moments | Hilarious Quotes, AI Glitch, Amazing Bugs | "It diligently wrote a bunch of wrong code for me" |

| Breakthrough Moments | Stuck for a long time but finally got it working | "Finally found the bug that bothered me for a week" |

| Method Consolidation | Reusable Techniques and Insights | "This is how I'll handle this situation in the future" |

**Automatic Recording**: Does not interrupt dialogue, paragraph end marker `(✓ Material +1)`

### Manual recording

Record when the user says "Record an entry: xxx" or "Material +1: xxx".

### current.json Format

```json

{
"topic": "Topic (optional, automatically extracted during drafting)",

"materials": [

{
"time": "2026-01-30 14:30",

"content": "Material content",

"type": "Funny Moments",

"context": "Optional context notes",

"auto": true

}

],

"created": "2026-01-30"

}
```

### Drafting Steps

1. **Read Materials** — Read `drafts/current.json`

2. **Analyze and Extract** — Extract the theme and storyline

3. **Determine Content Type → Select Writing Framework**:

| Content Type | Indicator Signals | Use Framework | References |

|---------|---------|---------|---------|

| **Tutorials** | Teach people how to install/use/configure tools and skills Introduction, Technical Practice, "How to Do xxx" | Six-Part Tutorial Framework | `references/tutorial-framework.md` |

| **In-Depth Article** | Industry Analysis, Personal Stories, Trend Judgment, Opinion Output, "Why xxx" | Four-Act In-Depth Framework | `references/writing-style.md` |

**Tutorial Article Framework (2000-4000 words):**

``` First, see the result (screenshots + finished product + link)

→ I. What is the core concept? (Table + one-sentence definition)

→ II. How to install/use (step-by-step + code blocks + image annotations)

→ III. Practical demonstration (phased + table display + human-computer collaboration)

→ IV. Ready to use (quick installation command + usage method table)

→ Conclusion (elevation + CTA)

```

**In-Depth Article Framework (8000-12000 words):**

``` Introduction (story first, no argument within 700 words)

→ 01 Setting the Background

→ 02 Core Argument

→ 03 Transition/Case Study

→ 04 Elevation/Conclusion

```

4. **Write the Article** — Write the article according to the corresponding framework

4. **Save** — Save the Markdown file

5. **Formatting** — Use a formatting tool to generate an HTML preview (01fish theme)

6. **Header Image + Accompanying Images** — Generate a downloadable HTML file (→ Read `references/cover-template.md`)

- **Vertical Cover (Optional)**: When a user says "make a vertical cover," convert the generated WeChat Official Account header image HTML → Read `references/cover-vertical-spec.md`

7. **WeChat Moments Copy** — Generate WeChat Moments promotional copy (→ Read `references/platform-copy.md`)

8. **Manifest** — Generate manifest.json for use by `/distribute`. The WeChat section must include:

- `wechat.markdown`: Article Markdown path

- `wechat.html`: Path to the formatted `_preview.html`

- `wechat.cover_image`: Cover PNG path (user needs to download from browser first)

- `wechat.title`: Article title

- `wechat.author`: Author name (default `01fish`)

- `wechat.digest`: Article summary (within 120 characters)

- `wechat.images`: List of PNG image paths (if any)

9. **Ask** — Whether to clear current materials


### Formatting Commands

```bash
cd "$MD_FORMATTER_DIR"
python3 md2wechat_formatter.py [article path] --theme [theme] --font-size [font size]

```

> `$MD_FORMATTER_DIR` needs to be configured in `local/.env` or environment variables.

Recommended Themes: `01fish` (01fish brand color, default), `chinese` (Chinese style), `apple` (minimalist and elegant)

Recommended Font Sizes: `medium` (15px, default), `large` (16px, recommended for long articles)

**01fish Theme Description**: Based on the chinese theme, using the 01fish brand colors (dark green #1A3328 + fish red #C44536 + rice paper background #F2EDE3)

---

## Path B Process: WeChat Link → Multi-Platform Content

### Step 1: Fetch Articles

Use a Python script to fetch the article (WeChat has anti-scraping verification; WebFetch will be blocked):

```bash python3 "${SKILL_DIR}/scripts/fetch_wechat_article.py" "<URL>" --json

```

Timeout: 30 seconds. If it fails, prompt the user to manually copy the article text. If a user simply says "Read this article from a WeChat official account" (triggered by `/read-gzh`), the crawling process will directly generate a structured summary without proceeding to the subsequent content generation process. Summary format:

```markdown

# Article Summary

## Basic Information (Title/Author/Type/Number of Images)

## Core Viewpoints (3 points)

## Key Information

## Quotes

## Image Content (Download and recognize text in images)

## Reflections/Iteration Points

```

### Step 2: Analyze Article Structure

Extract: Title, Subtitle/Quotes, Core Concepts, Key Data, Steps/Processes, Highlights/Features, Methodology/Quotes, Call to Action.


### Step 3: Break it down into cards

8-10 cards, following the Xiaohongshu reading rhythm (→ Read `references/xiaohongshu-format.md`):

| Location | Card Type | Content |

|------|----------|------|

| Card 1 | Cover | Main Title + Hook + Mini Visual Elements |

| Card 2 | See Results First | Finished Product Display + Core Data |

| Cards 3-4 | Concept Explanation | Core Concept Breakdown |

| Cards 5-7 | Process/Practical Application | Steps, Comparisons, Flowcharts |

| Card 8 | Highlights/Features | Product/Work Highlight Card |

| Card 9 | Methodology | One-Sentence Golden Sentence Extraction |

| Card 10 | Call to Action | Links + Community Guidance |

### Step 4: Generate Image HTML

Output path: `[Short Theme]-Xiaohongshu Version.html` in the same directory as the article. If no directory is specified, place it in `/tmp/`. The browser will automatically open the preview.

The last call-to-action page must include: your WeChat ID `[Your WeChat ID]` (emphasized in large, highlighted text), keywords in the notes, and the core link.

> Configure your actual WeChat ID in `local/SKILL.local.md`.

**📚 Important: Read the Example Before Generating**

Refer to the quality standards of `references/xiaohongshu-examples/观鸟图鉴-范例.html`:

✅ **Card Design Requirements**

- Pure infographic design, no article screenshots

- Pixel art/gamified interface (where applicable)

- Rich visual elements such as flowcharts, card grids, and numbered lists

- Restrained use of brand colors (85% dark green + 5% magenta)

✅ **Copywriting Quality Requirements**

- Authentic sharing feel, with real-life scenarios and personal experiences

- Conversational expressions: "Going crazy with fun," "Getting hooked," "And then I..."

- 298-350 words + 8-12 tags

The generated content should reach the professional level of the example.

### Step 5: Generate Xiaohongshu Post Copy

**Choose a Style Based on Content Type:**

- **Personal IP Style** (Real-person sharing, product development, pitfalls/trials)

- → Read the personal brand style file specified in `local/SKILL.local.md` (if any)

- Authentic, chronological feel + specific time details + conversational expression

- 300-350 words, 8-12 tags

- Persona: Customize in `local/SKILL.local.md`

- **01fish Style** (Methodology summary, in-depth analysis)

- → Read the Xiaohongshu section of `references/platform-copy.md`

- Structured breakdown + high density of practical information

- Suitable for reposting articles from WeChat Official Accounts

### Step 6: Generate Jike Post Copy

→ Read the Jike section of `references/platform-copy.md`

### Step 7: Generate Podcast Script

→ Read the podcast section of `references/platform-copy.md`.

### Step 8: AI Voice Generation

Use Fish Audio TTS to convert the podcast script to MP3 (→ Read `references/tts-config.md`).

File naming: `[Podcast Title].mp3` + `[Podcast Title]-Podcast Script.txt`

### Step 8.5: Output manifest.json

After all content is generated, manifest.json will be automatically output to the output directory. Format:

```json

{
"version": "1.0",

"created": "<ISO timestamp>",

"source": "<WeChat link>",

"title": "<article title>",

"outputs": {

"xiaohongshu": { "html": "...", "copy": { "title": "...", "body": "...", "tags": [...] } },

"jike": { "copy": { "body": "...", "circles": [...] } },

"xiaoyuzhou": { "audio": "...", "script": "...", "copy": { "title": "...", "description": "...", "show_notes": "..." } },

"video_canvas": { "html": "...", "teleprompter_md": "...", "cover_html": "..." }

}
}
```

If the user says "share to Xiaohongshu and publish", `/distribute` will be executed automatically after the manifest is generated.

### Step 9: Brand Video Generation (Optional)

Execute only if the user mentions "video", "TikTok", "WeChat Channel", or "brand video":

**A. Remotion Brand Intro and Outro**

```bash
cd "$REMOTION_DIR"

npx remotion render src/index.ts Intro --output /tmp/brand-intro.mp4

npx remotion render src/index.ts Outro --output /tmp/brand-outro.mp4

```

> `$REMOTION_DIR` needs to be configured in `local/.env` or environment variables.

**B. AI Video Prompt** — Generates 4 video prompts for Seedance 2.0 or Google Veo

**C. ffmpeg Stitching Command** — Generates stitching commands for users to execute manually

### Step 9B: Video Canvas Generation (Optional)

Executes only when the user says "Create Video Canvas", "Screen Recording Canvas", or "Journal Video". **Accepts any input material**: WeChat links, Markdown files, PDFs, HTML files, plain text, and user-generated content are all acceptable.

1. **Content Acquisition** — Automatic processing based on input type:

- WeChat link: Uses `scripts/fetch_wechat_article.py` to fetch

- File path (md/pdf/html/txt): Reads directly

- User-pasted text: Uses directly

2. **Structure Analysis** — Extracts title, core data, pain points, steps, principles, comparisons, key phrases, and highlights

3. **Splitting into 9 Cards** — Reads `references/video-canvas-template.md` to obtain the complete CSS+JS template and card specifications

4. **Generate 9 Teleprompter Scripts** — Conversational style, 80-150 words per script, including `[hint]` cue tags

5. **Output Teleprompter Script md** — `[Short Theme]-Teleprompter Script.md`, user-editable

6. **HTML Assembly** — CSS framework + HTML skeleton + populated content + JS framework (SCRIPTS and md) (Consistent)

7. **Output File** — `[Short Theme]-Video Canvas.html`, save to the same directory as the article or `/tmp/`

8. **Generate Cover Image** — `[Short Theme]-Cover.html`, journal style + portrait circle frame, download PNG to the browser

9. **Prompt the User** — First check the teleprompter script's Markdown, then open the HTML recording in the browser. 16:9 fixed aspect ratio, direct upload to various platforms

### Step 10: User Fine-tuning

Inform the user of all output paths, indicating adjustments are possible, and allowing one-click publishing by entering `/distribute`.

**WeChat Official Account Synchronization Prompt**: After downloading the cover PNG from the browser, simply use `/distribute --platforms wechat` to sync to the drafts (API mode, no need to open Chrome).

**Produce five items at once, no additional requirements:**

1. Xiaohongshu image HTML (including one-click download toolbar)

2. Xiaohongshu post text (title + body + tags)

3. Instant post text (body + circle tags)

4. Xiaoyuzhou Podcast (recording script + AI voice MP3)

5. manifest.json (for one-click publishing via `/distribute`)

**Optional addition in step 9B (when saying "video canvas"):**

6. Video canvas HTML (including recording + teleprompter + beauty filter, fixed 16:9 aspect ratio)

7. Teleprompter script md (editable; after modification, say "update teleprompter" to sync to HTML)

8. Cover image HTML (journal style + portrait circle frame, PNG downloadable in browser)
---
## Distribution Process (/distribute)

Read manifest.json and automatically publish to various platforms via Chrome CDP (→ Read `references/distribute-platforms.md`).

### Usage

```bash

# Publish to all platforms

npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json

# Select platform

npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json --platforms xhs,jike

# Preview mode (no submission, only pre-filled content)

npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json --platforms xhs --preview

```

### Platform Abbreviations

| Abbreviation | Platform | Status |

|------|------|------|

| `wechat` | Official Account | Available |

| `xhs` | Xiaohongshu | Available |

| `jike` | Jike | Available |

| `xiaoyuzhou` | Xiaoyuzhou | Available |

| `douyin` | Douyin | Experimental |

| `shipinhao` | Video Account | Under Development |

### Execution Order

Official Account → Xiaohongshu → Jike → Xiaoyuzhou → Douyin → Video Account (Execute in sequence to avoid Chrome port conflicts)

### Four-Level Degradation

| Level | Mode | Trigger Condition |

|------|------|---------|

| L0 | API Direct Push | Official Account API directly pushes drafts to the draft box, no Chrome required |

| L1 | Automatic Publishing | CDP Fully Automated |

| L2 | Auxiliary Publishing | Login State Invalid/Selector Invalid/`--preview` |

| L3 | Manual Mode | CDP Connection Failure |

Official Account takes priority L0 (API), automatically degrading when credentials are missing or fail. L1 (CDP).

---
## Brand Design Guidelines

**Two Brand Color Systems:**

- **01fish**: Professional content brand (WeChat Official Account, in-depth articles, methodologies)

- **Fish Head**: Real-person IP brand (Xiaohongshu, Jike, daily sharing)

> **Single Source of Truth**: Specify your brand color document path in `local/SKILL.local.md`.

> If color values ​​conflict, the brand document prevails. The following color palette is used as a default example.

### 01fish Color Palette (Dark Green System)

**Proportion Rule**: Dark Green 85% : Fish Red 5% : Others 10%

| Name | Color Value | Use |

|------|------|------|

| Dark Green Main Color | `#1A3328` | Dark Card Background |

| Rice Paper Background | `#F2EDE3` | Light Card Background |

| Fish Red | `#C44536` | Accent Color, Numbers, Labels (For Highlighting Only) |

| Semi-Transparent White | `rgba(255,255,255,0.5)` | Brand Name on Dark Background |

| Semi-Transparent Dark Green | `rgba(26,51,40,0.4)` | Brand Name on Light Background |

| Moss Gray | `#7A8C80` | Secondary Text |

| Dark Ink | `#0F1F18` | Darker Background |

| Light Cyan | `#D4DDD7` | Divider, Border |

### Fish Head Color Palette (Peach Pink System)

**Proportion Rule**: Peach Pink 15% : Creamy Yellow 40% : Twilight Purple 10% : Gray 35%

| Name | Color Value | Use |

|------|------|------|

| Peach Pink | `#FF6B9D` | Main Emphasis Color, Title, Key Data |

| Creamy Yellow Background | `#FFF9E6` | Light Background, Card Background |

| Twilight Purple | `#9D7BA8` | Secondary Color, Secondary Information, Brand Name |

| Warm Gray | `#6B6B6B` | Body Text |

| Light Gray Background | `#F5F5F5` | Modern Background |

| Midnight Blue | `#2D3047` | Dark background (rarely used) |

### Brand Selection Rules

| Content Type | Brand Used | Reason |

|---------|---------|------|

| In-depth articles on WeChat Official Accounts | 01fish | Professional, authoritative, content brand |

| Industry analysis reports | 01fish | Calm and objective |

| Real-person sharing on Xiaohongshu | Yutoutou | Warm, authentic, real-person IP |

| Instant daily updates | Yutoutou | Lively and approachable |

| Product development records | Yutoutou | Real process demonstration |

| B-end product introduction | 01fish | Professional and trustworthy |

**Dual-brand collaboration**: The same content uses 01fish color on WeChat Official Accounts and Yutoutou color when reposted on Xiaohongshu.

### Font

```css
font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;

### Brand Corner

Top left corner of each page: `01fish` logo + text. Use `.light` for dark backgrounds and `.dark` for light backgrounds.

### Page Number

Bottom right corner: `1/N`. Use `rgba(255,255,255,0.2)` for dark backgrounds and `rgba(26,51,40,0.2)` for light backgrounds.

---

## Content Rewriting Principles

WeChat → Xiaohongshu is not a direct copy; adaptation is required:

| Dimensions | WeChat | Xiaohongshu |

|------|------|--------|

| Length | 2000-3000 words | 50-80 words per page |

| Structure | Linear reading | Card-style skipping |

| Tone | Technical, in-depth | Concise, intuitive, impactful |

| Visuals | Text-centric | Visual-centric, text-embellished |

Rewriting Key Points: Headlines should be impactful, numbers should be large, one key point per page, visuals replace text, retain core links.

---

## Complete Template Reference

When generating Xiaohongshu images for the first time, refer to the example files in the `references/xiaohongshu-examples/` directory for complete CSS + JS.

> If you have additional local template references, specify the path in `local/SKILL.local.md`.

When generating new content, reuse the CSS + JS parts of the example file, replacing only the card content.

---

## Script Directory

**Agent Execution**: Determine this SKILL.md directory as `SKILL_DIR`, then use `${SKILL_DIR}/scripts/<name>`.

| Script | Purpose |

|--------|---------|

| `scripts/fetch_wechat_article.py` | WeChat article scraping (Python, simulating WeChat UA) |

| `scripts/distribute/distribute.ts` | Distributor editor |

| `scripts/distribute/cdp-utils.ts` | Shared CDP tools |

| `scripts/distribute/platforms/*.ts` | Platform publishing modules |

---

## Reference File Index

cc reads on demand, do not load all references at once.

| Scenario | Reading Files |

|------|---------|

| Writing In-Depth Articles | `references/writing-style.md` — Character Design + Writing Guidelines + Formatting (Four-act structure, 8000-12000 words) |

| Writing Tutorial Articles | `references/tutorial-framework.md` — Six-part tutorial framework (Results → Concepts → Operations → Practice → Ready to Use, 2000-4000 words) |

| Generating Cover Images/Images | `references/cover-template.md` — 01fish style layout guidelines (cover image + images + visual components) |

| Horizontal to Vertical Covers | `references/cover-vertical-spec.md` — CSS conversion guidelines for converting WeChat Official Account covers to vertical format |

| Generating Xiaohongshu Carousel Images | `references/xiaohongshu-format.md` — HTML templates + visual component library |

| Generate copy for various platforms | `references/platform-copy.md` — Xiaohongshu/Jike/Podcast/WeChat Moments copywriting guidelines |

| Generate podcast audio | `references/tts-config.md` — Fish Audio configuration + generation script |

| Distribute to various platforms | `references/distribute-platforms.md` — Platform configuration + manifest format + fallback strategy |

| Generate video canvas | `references/video-canvas-template.md` — Journal collage video canvas template (CSS+JS+card guidelines) |

---

## Troubleshooting

| Issue | Solution |

|------|------|

| WeChat scraping failed | Prompt user to manually copy article text |

| Article too short (<500 words) | Compress into 5-6 cards |

| Article too long (>5000 words) | Select core content, keep to 10 cards or less | | Exported image is blurry | Check SCALE=2, browser zoom 100% |

| Manifest does not exist | Prompt to run content generation first |

| Chrome startup failed | Downgrade to L3 (manual mode) |

| TTS 402 Insufficient balance | Prompt to recharge at fish.audio |

| TTS generation failed | Only script text is output, prompts for manual recording |