Zhihu Publisher
Prepare or publish a reviewed Zhihu article from the canonical repository
source. A request to publish or a queue item marked 排队 authorizes the final
action; do not ask again at the last button. Stop only for a draft or preview
task.
Inputs
- Source Markdown path or topic.
- Intended language and title, if the user specifies them.
- Optional target column, cover, tags, source URL, GitHub link, or paper link.
If the source path is missing, inspect .github/publisher/posts_queue.txt,
.github/publisher/media/not-published.md, and recent docs/blog/posts/
entries before asking the user.
Platform Entry Points
Use a browser surface with the logged-in session when UI work is required.
Never bypass authentication with search results or alternate sources.
References
Load references/platform-preferences.md when choosing Zhihu-native framing,
title, opening, "想法" format, or promotion/link balance. Load
references/ai-works.md for Zhihu AI Works fields, campaign notes, project
material, and reusable copy.
Browser-Only Platform Boundary
Do not directly access Zhihu APIs, internal endpoints, or background HTTP
interfaces under any circumstances. All verification, drafting, QA, screenshots,
and ledger evidence must come from normal browser interactions that a regular
logged-in user can perform: navigating pages, scrolling profile/article lists,
clicking visible controls, reading rendered page content, using the editor UI,
and capturing screenshots.
Draft Preparation
- Read the canonical Chinese source and extract title, summary, tags, images,
code blocks, source URL for the ledger, GitHub links, and paper links.
- Build a Zhihu copy in canonical syndication mode:
- remove YAML front matter
- preserve the article body by default
- preserve the source title and first paragraph exactly
- convert relative images to checked public URLs or prepare manual image
upload
- convert tables, formulas, Mermaid, footnotes, or complex HTML only when the
target editor cannot render them faithfully
- Preserve links already present in the source. A visible eunomia.dev
original/canonical note is optional and is not added by default.
- Keep the opening, section order, claims, examples, and conclusion unchanged.
If the source needs a content fix, update it first or skip syndication.
Rewrite, translate, shorten, expand, reorder, or split only when the user
explicitly asks for that specific publication.
Draft Archive
Before opening the Zhihu editor, write or update the Zhihu draft record under
draft/media/YYYY-MM-DD/<source-slug>/zhihu.md using the local date. For
unchanged Chinese canonical syndication, the file may reference the source body
instead of duplicating it, but it must record the exact title, source URL for
the ledger if known, GitHub/paper links, column/tags if known, source/project
note if useful, media choices, and QA state.
Editor Workflow
- Open https://zhuanlan.zhihu.com/write.
- Fill the title field, observed as
请输入标题(最多 100 个字).
- For long-form posts, prefer a local
.md or .docx artifact prepared before
opening the editor. Use Zhihu's visible document import path when available
(toolbar more/menu import); paste only for short text or when import is not
available.
- Avoid post-paste surgical repair in the Zhihu editor. If a long draft needs
structural fixes, regenerate the local artifact and re-import into a fresh
draft when practical.
- Verify visually:
- heading hierarchy is preserved
- code blocks are readable
- tables do not collapse
- images render
- links point to intended GitHub, docs, project, or paper sources
- Treat visible public-page DOM inspection as sufficient QA. If
Page.captureScreenshot times out, do not retry it; verify the title,
structure, code blocks, tables, image loading, and links through the
visible DOM/page instead.
- In the publish/settings flow, choose a relevant question when Zhihu offers a
question selector. Verify the selected question is topical before final
publish; do not leave an unrelated default question selected.
- Set cover and column inclusion only when the user requested them or the
choice is obvious from prior posts.
- Complete the visible
发布 action when the task requests publication or the
queue item is marked 排队; do not ask for duplicate confirmation. Stop at
preview only for a draft or preview task.
Content Strategy
Zhihu works best when the article reads like an explanatory essay rather than a
release note. For existing Chinese long-form eunomia.dev posts, preserve the
source title exactly and keep the body substantively unchanged. Platform work is
limited to rendering, cover, column, tags, question selection, and preview
quality. If the source is not already a usable Chinese essay, skip it or improve
the source before syndication.
Optimize for the maintainer's personal technical account brand: clear taste,
useful explanation, research and engineering credibility, and discussion from
readers who care about eBPF systems, AI agents, and runtime observability. Keep
GitHub, docs, project, or paper links as sources or extended reading. Use an
eunomia.dev link only when it helps the reader, not as a default canonical
requirement.
Safety Boundary
Do not automate:
- final
发布 when the task is limited to a draft or preview
- direct Zhihu API access, internal endpoint reads, or browser-hidden data fetches
- column submission unless the user names the exact column
- deleting drafts or changing account settings
- security, privacy, phone-verification, or CAPTCHA prompts
- likes, comments, follows, reposts, or private messages
Ledger Update
After a confirmed publish, update .github/publisher/media/published.md with
title, source path, Zhihu URL, date, tags or column, and formatting fixes. Remove
or update the matching row in .github/publisher/media/not-published.md.
Before closing the publishing task, run a platform-lessons pass. Add any new,
reproducible editor failure and its verified workaround to this skill or its
references so the next publish does not repeat it.
Keep screenshots and observed UI notes under .github/publisher/media/.
1---2name: zhihu-publisher3description: Prepare or publish eunomia.dev Markdown articles on Zhihu. Use when asked to create, import, paste, publish, QA, or record a Zhihu draft or article from repository Markdown. Preserves a syndicated long-form source title and body apart from mechanical rendering fixes, with browser-editor workflow, Zhihu formatting checks, publication authorization, and media ledger updates.4---56# Zhihu Publisher78Prepare or publish a reviewed Zhihu article from the canonical repository9source. A request to publish or a queue item marked `排队` authorizes the final10action; do not ask again at the last button. Stop only for a draft or preview11task.1213## Inputs1415- Source Markdown path or topic.16- Intended language and title, if the user specifies them.17- Optional target column, cover, tags, source URL, GitHub link, or paper link.1819If the source path is missing, inspect `.github/publisher/posts_queue.txt`,20`.github/publisher/media/not-published.md`, and recent `docs/blog/posts/`21entries before asking the user.2223## Platform Entry Points2425- Editor: <https://zhuanlan.zhihu.com/write>26- Creator center: <https://www.zhihu.com/creator>27- Observed profile: <https://www.zhihu.com/people/yun-wei-64-11>2829Use a browser surface with the logged-in session when UI work is required.30Never bypass authentication with search results or alternate sources.3132## References3334Load `references/platform-preferences.md` when choosing Zhihu-native framing,35title, opening, "想法" format, or promotion/link balance. Load36`references/ai-works.md` for Zhihu AI Works fields, campaign notes, project37material, and reusable copy.3839## Browser-Only Platform Boundary4041Do not directly access Zhihu APIs, internal endpoints, or background HTTP42interfaces under any circumstances. All verification, drafting, QA, screenshots,43and ledger evidence must come from normal browser interactions that a regular44logged-in user can perform: navigating pages, scrolling profile/article lists,45clicking visible controls, reading rendered page content, using the editor UI,46and capturing screenshots.4748## Draft Preparation49501. Read the canonical Chinese source and extract title, summary, tags, images,51 code blocks, source URL for the ledger, GitHub links, and paper links.522. Build a Zhihu copy in canonical syndication mode:53 - remove YAML front matter54 - preserve the article body by default55 - preserve the source title and first paragraph exactly56 - convert relative images to checked public URLs or prepare manual image57 upload58 - convert tables, formulas, Mermaid, footnotes, or complex HTML only when the59 target editor cannot render them faithfully603. Preserve links already present in the source. A visible eunomia.dev61 original/canonical note is optional and is not added by default.624. Keep the opening, section order, claims, examples, and conclusion unchanged.63 If the source needs a content fix, update it first or skip syndication.64 Rewrite, translate, shorten, expand, reorder, or split only when the user65 explicitly asks for that specific publication.6667## Draft Archive6869Before opening the Zhihu editor, write or update the Zhihu draft record under70`draft/media/YYYY-MM-DD/<source-slug>/zhihu.md` using the local date. For71unchanged Chinese canonical syndication, the file may reference the source body72instead of duplicating it, but it must record the exact title, source URL for73the ledger if known, GitHub/paper links, column/tags if known, source/project74note if useful, media choices, and QA state.7576## Editor Workflow77781. Open <https://zhuanlan.zhihu.com/write>.792. Fill the title field, observed as `请输入标题(最多 100 个字)`.803. For long-form posts, prefer a local `.md` or `.docx` artifact prepared before81 opening the editor. Use Zhihu's visible document import path when available82 (toolbar more/menu import); paste only for short text or when import is not83 available.844. Avoid post-paste surgical repair in the Zhihu editor. If a long draft needs85 structural fixes, regenerate the local artifact and re-import into a fresh86 draft when practical.875. Verify visually:88 - heading hierarchy is preserved89 - code blocks are readable90 - tables do not collapse91 - images render92 - links point to intended GitHub, docs, project, or paper sources93 - Treat visible public-page DOM inspection as sufficient QA. If94 `Page.captureScreenshot` times out, do not retry it; verify the title,95 structure, code blocks, tables, image loading, and links through the96 visible DOM/page instead.976. In the publish/settings flow, choose a relevant question when Zhihu offers a98 question selector. Verify the selected question is topical before final99 publish; do not leave an unrelated default question selected.1007. Set cover and column inclusion only when the user requested them or the101 choice is obvious from prior posts.1028. Complete the visible `发布` action when the task requests publication or the103 queue item is marked `排队`; do not ask for duplicate confirmation. Stop at104 preview only for a draft or preview task.105106## Content Strategy107108Zhihu works best when the article reads like an explanatory essay rather than a109release note. For existing Chinese long-form eunomia.dev posts, preserve the110source title exactly and keep the body substantively unchanged. Platform work is111limited to rendering, cover, column, tags, question selection, and preview112quality. If the source is not already a usable Chinese essay, skip it or improve113the source before syndication.114115Optimize for the maintainer's personal technical account brand: clear taste,116useful explanation, research and engineering credibility, and discussion from117readers who care about eBPF systems, AI agents, and runtime observability. Keep118GitHub, docs, project, or paper links as sources or extended reading. Use an119eunomia.dev link only when it helps the reader, not as a default canonical120requirement.121122## Safety Boundary123124Do not automate:125126- final `发布` when the task is limited to a draft or preview127- direct Zhihu API access, internal endpoint reads, or browser-hidden data fetches128- column submission unless the user names the exact column129- deleting drafts or changing account settings130- security, privacy, phone-verification, or CAPTCHA prompts131- likes, comments, follows, reposts, or private messages132133## Ledger Update134135After a confirmed publish, update `.github/publisher/media/published.md` with136title, source path, Zhihu URL, date, tags or column, and formatting fixes. Remove137or update the matching row in `.github/publisher/media/not-published.md`.138139Before closing the publishing task, run a platform-lessons pass. Add any new,140reproducible editor failure and its verified workaround to this skill or its141references so the next publish does not repeat it.142143Keep screenshots and observed UI notes under `.github/publisher/media/`.