Files
2026-05-18 06:40:19 +00:00

739 lines
33 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 |
---
## Diagram Potoku
``` mermaid
graph TD
subgraph "Ścieżka A: Zbieranie materiałów"
A1[Zbieranie materiałów automatyczne/ręczne] --> A2{"Użytkownik mówi 'Szkic'"};
A2 --> A3[Generuj artykuł];
A3 --> A4[Zastosuj układ];
A4 --> A5[Generuj okładkę];
A5 --> A6[Generuj podpis do WeChat Moments];
A6 --> A7[Generuj manifest.json];
end
subgraph "Ścieżka B: Link WeChat"
B1[Link WeChat] --> B2[Pobierz artykuł];
B2 --> B3[Analizuj strukturę];
B3 --> B4[Generuj treści na wiele platform];
B4 --> B5[Generuj manifest.json];
end
subgraph "Dystrybucja"
C1[manifest.json] --> C2{"Użytkownik mówi '/distribute'"};
C2 --> C3[Publikuj na platformach];
end
A7 --> C1;
B5 --> C1;
```