739 lines
33 KiB
Markdown
739 lines
33 KiB
Markdown
---
|
||
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;
|
||
```
|