video-publish · git:20260812.0cf5599 · 2026-08-12 · sha256 a080090032731525

video-publish git:20260812.0cf5599A

Immutable. This exact content is served forever at /api/v1/blob/a080090032731525.

---
name: video-publish
description: >-
  From user materials, generates multi-platform video publish pack: Zhihu Chinese
  article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover
  prompts, and title/description/tags for Bilibili, Douyin, Xiaohongshu, Weibo,
  YouTube, X, TikTok, Instagram — each in separate files, platform-native and
  click-worthy. Use when the user wants video-publish, 视频发布, 发布文案, 封面提示词,
  标题简介标签, Zhihu/Reddit posts, or multi-platform upload copy.
---

# Video Publish

From **user materials only**, produce a full publish pack and **write files** (do not only print in chat).

## Inputs

Any mix of: video/storyboard, title ideas, product/brief text, stills, constraints.
Optional: one input file path (used only to locate the output directory).

Do not invent product facts, prices, logos, or claims not in the materials.
If goal/audience is ambiguous, state one short assumption and proceed.

## Output directory

| Mode | Write files to |
|------|----------------|
| User provides an input file | That file’s **parent directory** |
| No input file | **Project root** |

Always **overwrite** these filenames in the output directory (create if missing).

## Required output files

| File | Content |
|------|---------|
| `zhihu.md` | 1 Chinese Zhihu article |
| `reddit.md` | 1 English Reddit post |
| `covers-landscape.md` | 3 landscape Google image-gen prompts |
| `covers-portrait.md` | 3 portrait Google image-gen prompts |
| `platforms.md` | Title / description / tags for all 8 platforms |

Chat after write: short confirm only (output dir + file list). Do not dump full copy into chat unless the user asks.

## Copy-friendly MD

**Articles are normal Markdown** — `zhihu.md` and `reddit.md` stay readable long-form (headings, paragraphs). Do **not** wrap the whole article in a code fence.

**Paste fields use fences** — platform Title / Description / Tags, and each cover prompt: one field = one fence so one-click copy works.

Fence rules (covers + `platforms.md` only):
- Headings/labels outside the fence; **only the text to paste** inside
- Prefer plain ` ``` ` with no language
- Inside: raw publish text only — no extra structural markdown
- Do **not** put multiple platforms or multiple fields in one fence

## Workflow

1. Resolve output directory (file parent vs project root)
2. Inventory materials; infer topic, hook, audience, tone
3. Write all 5 files (articles as normal MD; covers + platforms with paste fences)
4. Consistency pass (same core claim/hook across platforms; no invented facts)
5. Confirm paths in chat

## Platform styles (must match)

Eye-catching first; still native to each platform — not the same paragraph pasted everywhere.

### Articles

Both articles must be **substantive**, not teaser blurbs. Expand from the user’s materials: explain context, walk through key beats, add concrete detail, and give readers something useful even if they never open the video.

**Depth (required)**
- Zhihu: typically **1500–3500 字** (or more if materials are dense); multiple `##` sections
- Reddit: typically **600–1500 words**; clear sections, still conversational
- Prefer “too much useful detail” over thin summary; do not pad with empty hype
- Structure idea: hook → background / problem → what we built or showed → how it works → takeaways → soft CTA
- Reuse facts, names, numbers, and claims **only from materials**; when expanding prose, stay faithful

**Code from the user (required when present)**
- If materials include code, snippets, scripts, API usage, or repo paths: **pull in the user’s own code**, not generic invented samples
- Prefer several short, real excerpts over one toy rewrite; keep enough context to be readable
- Use fenced code blocks with the right language tag (`gdscript`, `python`, `cpp`, …)
- Lightly annotate why each snippet matters; do not “improve” the code into something they didn’t provide
- If materials only mention code indirectly (e.g. storyboard about a feature), open related project files when a clear path/repo is in scope and quote **their** implementations
- No code in materials and none findable → skip code sections; do not fabricate demos

**知乎 (`zhihu.md`)** — Chinese, normal Markdown article
- `#` title as H1; body with `##` / `###` subheads, lists, and code fences as needed
- Long-form, structured, credible; strong hook title + opening question/conflict
- Fill sections with explanation, comparisons, pitfalls, and material-grounded examples
- Light CTA at end (watch / discuss); avoid slang spam and emoji walls

**Reddit (`reddit.md`)** — English, normal Markdown post
- `#` title as H1; body as readable prose (not one giant fence)
- Discussion-first, authentic; title like a real post, not ad copy
- Same richness bar as Zhihu (translated tone): context → build/demo → code when available → ask the room something specific
- No hard sell, no keyword stuffing; optional `## Suggested subreddits` (2–5 as a normal list)

### Cover prompts

Google image generation prompts (Imagen / Gemini image). English prompts preferred (models follow them more reliably). Each prompt must be **self-contained**: subject, mood, composition, lighting, text-in-image rules, aspect.

**`covers-landscape.md`** — 3 variants, **16:9** thumbnail / banner
- Safe margins for platform UI crop; readable focal point left/center
- State: `aspect ratio 16:9`, no watermarks, no logos unless in materials

**`covers-portrait.md`** — 3 variants, **9:16** short-video cover
- Vertical hero, face/product large in upper two-thirds; room for caption overlay
- State: `aspect ratio 9:16`, no watermarks, no logos unless in materials

Each file format:

````markdown
# Covers — landscape (16:9)

## Variant 1 — [short label]

```
[full prompt — paste-ready]
```

## Variant 2 — [short label]

```
[full prompt — paste-ready]
```

## Variant 3 — [short label]

```
[full prompt — paste-ready]
```
````

(Same structure for portrait with `9:16`.)

Three variants should differ in composition/hook (e.g. curiosity gap / bold claim visual / emotional close-up) — not three near-duplicates.

### Video platforms (`platforms.md`)

Generate **all eight**. Each section: Title, Description, Tags — each in its own fence.

| Platform | Language | Style notes |
|----------|----------|-------------|
| Bilibili | 中文 | Searchable title; description with highlights / chapters if known; rich tags |
| Douyin | 中文 | Ultra-short hook title; first desc line = scroll-stopper; hot-topic tags |
| Xiaohongshu | 中文 | Title + emoji OK; lifestyle/note tone; `#话题` style tags |
| Weibo | 中文 | Short punchy; @/话题 friendly; desc can double as post body |
| YouTube | English | SEO title (~≤100 chars ideal); description with hook + value + CTA; comma tags |
| X | English | Punchy post-length energy; light hashtags; desc ≈ post text if needed |
| TikTok | English | Caption-first hook; trend-aware tags; keep title/caption tight |
| Instagram | English | Reels/caption tone; line breaks; 5–15 hashtags at end of tags/desc |

**`platforms.md` structure:**

````markdown
# Platform publish copy

## Bilibili

### Title

```
[title]
```

### Description

```
[description]
```

### Tags

```
[tag1, tag2, ...]
```

## Douyin
… (same Title / Description / Tags fences)

## Xiaohongshu
…

## Weibo
…

## YouTube
…

## X
…

## TikTok
…

## Instagram
…
````

Use exact section headings above (stable for copy-paste / tooling).

## Quality bar

- Hook in the first line/title every time
- Articles are rich and material-grounded; include the user’s own code when available
- Same factual core across files; wording adapted per platform
- Tags: relevant + discoverable; no irrelevant viral spam
- Covers: no unreadable tiny text; if on-image text is needed, keep to ≤5 words and say so in the prompt
- If materials are thin, still ship all files; mark uncertain lines with `(assumption: …)` once in chat, not inside every file

## Examples

**Input:** `res://…` storyboard + “发布这期视频”  
**Output dir:** storyboard file’s folder → write the 5 files there.

**Input:** paste brief only, no path  
**Output dir:** project root → write the 5 files there.