亲子公众号直接成稿
Turn a topic, parenting question, course note, draft, or authorized class record into a complete Chinese WeChat article that the user can copy directly from the conversation.
Use the skill when the user asks to:
- Plan or write a WeChat article about parenting, family education, children aged 5-12, concentration, attention training, homework habits, learning motivation, emotion regulation, time management, or parent-child communication.
- Rewrite courseware, classroom notes, or professional material into parent-friendly public-account content.
- Create knowledge cards, training cards, practice checklists, or a content plan for parenting content (text and layout only).
- Format or preview an article for WeChat mobile reading.
- Export article title, summary, Markdown, inline-CSS HTML, cover copy, and publishing checklist.
Do not use the skill for general parenting advice unless the requested output is a public-account article, a reusable content plan, a WeChat layout, or a training-card package.
This build is text-only. It does not generate illustrations, does not produce illustration prompts, and does not call any image model. See No Generated Illustrations.
Default Delivery Mode
- Deliver the complete copyable article in the conversation by default.
- Do not create or require a workbench, editor, or second chat input.
- Always finish a full article with an article-only HTML preview and open it in the right-side browser panel when available. The two fixed brand images must already be embedded and visible in that preview. Reuse the existing preview for revisions instead of opening duplicate tabs. Read
references/export-formats.mdandreferences/paste-compatibility.md; adaptassets/article-preview-template.html. FollowAuto Previewbelow. - If the user provides only a topic, infer reasonable defaults from
references/account-knowledge-base.mdand create a complete first draft. - Ask at most one concise question only when a missing fact would materially change safety or truthfulness. Otherwise state the assumption briefly and continue.
- Keep revision local: when the user asks to change a title, paragraph, tone, exercise, or conversion line, rewrite that part without regenerating unrelated content.
Required Workflow
For a full article request:
- Identify the input type and intended parent audience.
- Select one structure from
templates/article-templates.md. - Select one primary conversion goal only. If none is supplied, prefer a gentle interaction question. Use a material-claim goal only when a real claim method exists in the account knowledge.
- Write the finished body. There are no image placeholders: the body is pure copy from the title to the closing line.
- Wrap the body with the two fixed brand images:
article-header.pngdirectly below the H1 title andarticle-footer.jpgas the final element. FollowFixed Header and Footer Images. - Follow
templates/direct-copy-output.mdand return, in order:
- Three to five title options, marking one as recommended.
- A 60-120 Chinese-character WeChat summary.
- One uninterrupted可直接复制正文section containing only publishable copy and the two fixed brand image tags.
- Cover copy, interaction line, and the single conversion line.
- A concise publishing check with any facts or permissions still needing confirmation. - Build the preview file and open it. Follow
Auto Preview: embed the two fixed images, then present the file to the user. - Keep planning commentary outside the copyable body.
- Read
references/export-formats.mdwhen the user requests Markdown, HTML, or a publishing package. For HTML and rich-text copying, also readreferences/paste-compatibility.md. - If the user explicitly asks for pictures, do not start generating. Say this build is text-only and offer the two honest options in
No Generated Illustrations.
Fixed Header and Footer Images
Two fixed brand images appear in every full article, unchanged. They are never generated per article, never cost credits, and are never omitted, restyled, or cropped.
> Distributed build: the marketplace accepts only a narrow set of text file types, so both files ship as ASCII base64 inside plain .txt files under assets/_packed/ (mapped by its manifest.txt). Run python3 scripts/restore-assets.py once after installing to recreate them. The script writes a file only when it is missing or its bytes differ, and never overwrites a differing file unless --force is passed, so user-supplied replacements are safe.
assets/fixed/article-header.png— a follow-us banner ("点击上方蓝字 关注我们 / 陪孩子慢慢专注", 2172×724, about 3:1). It sits directly below the H1 title, as the first element of the article, above the opening story.assets/fixed/article-footer.jpg— a QR-code consultation card (placeholder 1200×400 — replace with your own). It sits as the final element at the bottom of the article, after the closing interaction question or conversion line, as the fixed brand footer.
Build steps:
- Copy both files from
assets/fixed/into<workspace>/images/fixed/(create the folder once) so the preview renders from the workspace root. - Insert them as real
<img>tags in both the deliverable body and the preview, full width, no rounding, no frame:
<img src="images/fixed/article-header.png" alt="心笔专注力 · 陪孩子慢慢专注,点击上方蓝字关注我们" style="width:100%;display:block;margin:0 0 24px;" />
<!-- ...H1 title above, article body below... -->
<img src="images/fixed/article-footer.jpg" alt="文末二维码图(占位示例图,请替换为你自己的品牌图)" style="width:100%;display:block;margin:28px 0 0;" />
- Keep the
alttext andwidth:100%. Both images are embedded by the base64 copy button like every other image, so they travel into the WeChat editor with the rest of the article. - Keep the order fixed: header below the H1 and above the opening story; footer last, below the interaction line. Never swap, crop, recolor, or re-generate them.
Store both files losslessly. When the user supplies a replacement, copy it byte-for-byte from the original file the user points to (a desktop/disk path or an explicitly attached file). Never source a fixed image from ~/.workbuddy/clipboard-images/ or any transient clipboard copy: those are re-encoded by the OS (a supplied PNG becomes a smaller JPEG at reduced resolution) and silently downgrade the asset. Keep the original format and extension — do not rename a .png to .jpg or re-encode to shrink it. Verify after copying that the stored file matches the source byte count (and dimensions), and tell the user the exact size if it differs.
This fixed pair is the only imagery in a delivered article. A full article therefore carries exactly two images, both reused unchanged.
No Generated Illustrations
This build delivers copy only. It never calls an image model, never produces 【配图N】 placeholders, never writes illustration prompts, and never charges image credits. An article's only images are the two fixed brand images from assets/fixed/ (Fixed Header and Footer Images).
Reasons this is a rule, not a preference:
- Generation cost and availability vary by environment; a text-only skill must not silently assume an image tool exists.
- A placeholder left in the body is a broken deliverable. Since nothing will be generated, no placeholder may ever be inserted.
- Illustration prompts are not a deliverable here. Do not emit a
配图清单section or "suggested image prompt" lines.
When the user asks for pictures
Do not improvise and do not generate. Offer exactly these two honest options and let the user choose:
- Leave marked slots in the copy — insert a short parenthetical marker such as
(此处配图:……)at the intended positions, so the user can drop in their own artwork. State clearly that the article is not image-complete until they add their own files. - Use their own images — if the user supplies image files or URLs, insert them as real
<img>tags withwidth:100%,display:block,border-radius:22px,margin:24px 0, plus a short Chinesealt. Store local files under<workspace>/images/<article-slug>/and reference them by workspace-relative path so the preview renders.
If the user wants AI-generated illustrations instead, say plainly that this distributed build does not include that capability.
Body rhythm without images
Because there are no in-body illustrations, carry the reading rhythm with typography and modules instead:
- Break long runs of text with the pale macaron cards, numbered steps, comparison rows, and dialogue blocks from
templates/layout-modules.html. - Keep one idea per screen and vary module types; do not stack three plain paragraphs where a card would carry the beat.
- Use section headings (23 px / weight 800) roughly every 250-400 characters of body copy.
Auto Preview
Every full article ends with a preview file. No separate request is needed, and the article is not considered delivered until the preview is open.
File
- Path:
<workspace>/<article-slug>.html, one file per article. - Reuse and overwrite the same file for revisions of that article; never create
v2,final, or duplicate tabs.
Build
- Copy
assets/article-preview-template.html; replace{{ARTICLE_TITLE}}and{{ARTICLE_HTML}}with the finished inline-styled body. - Keep
article-content,copy-toolbar,copy-article,copy-with-images, andcopy-statusIDs and the built-in copy script. Both copy buttons stay: the plain one copies images as references; the with-images one embeds compressed base64 data URIs (seereferences/paste-compatibility.md). - Keep planning notes and the publishing check outside
article-content.
Images inside the preview
- Both fixed brand images must appear as real
<img>tags in the preview, in the same positions as the deliverable body: header directly below the H1, footer as the final element. A missing or broken fixed image counts as a failed delivery. srcis the workspace-relative local pathimages/fixed/<file>so the preview renders from the workspace root. A public URL may be used instead only when the user supplies one.- Keep
alttext,width:100%,display:block, no rounding, and their own margins (0 0 24pxfor the header,28px 0 0for the footer). - Any user-supplied in-body image uses
width:100%,display:block,border-radius:22px,margin:24px 0, and a workspace-relative path underimages/<article-slug>/. - Never reference a path outside the workspace; the preview must render from the workspace root.
Deliver
- Present the preview file to the user as the final step of the response.
- In chat, state plainly that the two fixed images use workspace-local paths.
- Point the user to
一键复制(含配图)when they want images to travel with the copy; the plain button only carries references. - Point the user to
一键复制(含配图)as the normal publishing path. It is verified working at750 px/ quality0.72(seereferences/paste-compatibility.md): the two fixed brand images survive the paste into the WeChat editor. Still ask the user to confirm once in the editor rather than promising it in advance. - If the user reports missing images after pasting, first confirm which button was used; the reference-only button cannot carry images. If the base64 path genuinely failed, lower the inline image width, and only fall back to
scripts/export-docx.py(docx import) when that also fails — the import keeps text and images but drops card backgrounds and inline colors.
Content Standards
Apply references/content-safety.md for every draft.
- Give realistic and executable parent advice.
- Distinguish professional knowledge, practical experience, and unverified opinion.
- Do not equate attention difficulty with ADHD.
- Do not promise short-term training will definitely improve grades.
- Adjust practice difficulty by age group.
- Do not invent research, class outcomes, student cases, parent testimonials, or course data.
- Classroom photos, student examples, and case results require explicit user-provided authorization.
- Avoid copying any original illustration, copywriting, mascot, logo, proprietary page style, or signature visual element from other public accounts. It is acceptable to learn from general article rhythm and image-text organization.
Visual Language
Use references/style-guide.md.
Default direction: 70% parent-child warmth plus 30% educational professionalism.
- Saved brand direction: very pale macaron blue and yellow as the two dominant colors, with small mint accents and one very pale lilac parent-reminder module. Avoid pink/peach blocks or more auxiliary hues; keep text dark and readable.
- The white, unfilled header text block contains only the black article title. Omit account labels, preview navigation, subtitles, and colored title highlights from the title itself. The account follow-us banner is a separate fixed image placed directly below the title (
Fixed Header and Footer Images), not part of the title block. - Body text: near-black
#222831; secondary notes#424A54; blue/yellow/lilac module text#23415A/#574323/#403454. Target at least 7:1 contrast for all article text, including captions; keep the pastel fills light. - Layout: generous whitespace, prominent body headings, varied practical modules, and 22-28 px rounded content blocks. Do not nest cards.
- Article preview: 12 px left/right inset; preserve the existing vertical spacing and individual module padding.
- No generated illustrations in this build. Do not describe an illustration style, do not write image prompts, and do not reuse the page's pale macaron palette as if it were an artwork palette — the macaron palette applies to page modules only. See
No Generated Illustrations. - The two fixed brand images in
assets/fixed/are reused unchanged in every article and never generated — seeFixed Header and Footer Images. They are the article's only imagery. - Avoid heavy shadows, busy stickers, strong gradients, or excessive decorative borders.
All colors should be treated as brand settings and may be changed when the user provides brand preferences.
Article Structure
Default WeChat article rhythm:
- Black article title only, then the fixed follow-us header banner directly below it; account information lives in the fixed footer image and the closing line, not the header.
- Opening parent-child story or parent pain point.
- Part 1: phenomenon description.
- Part 2: reason explanation.
- Part 3: executable home training advice.
- Focus exercise card or professional classroom module.
- Warm closing.
- Interaction question, material claim, or course consultation.
- Fixed QR footer image as the final element.
Typography guidance:
- Body text: 15-16 px.
- Body line height: 28-32 px for 15-16 px text. HTML must use explicit pixel line heights on textual elements, not unitless or inherited values.
- Body section headings: 23 px, weight 800, line height 37 px; module titles use weight 700. Preserve these weights in copied inline styles.
- Prefer short sentences and short paragraphs.
- Put important sentences in their own paragraph.
- Emphasize key points with bold or brand color.
- Use one main emphasis per screen.
- Alternate text and pale macaron modules to carry the reading rhythm; there are no in-body illustrations to alternate with.
- Do not center every paragraph.
- Center story quotes and emotional lines only when it improves rhythm.
- Keep training steps and professional explanations left-aligned.
Direct-Copy Requirements
- Write the finished body in natural Simplified Chinese unless the user requests another language.
- Use short paragraphs, concrete family scenes, and parent-friendly explanations.
- Write the finished body as pure copy. Never insert
【配图N】or any image placeholder — nothing will be generated to fill it. SeeNo Generated Illustrations. - Wrap every article with the two fixed brand images:
article-header.pngdirectly below the title andarticle-footer.jpgas the final element. SeeFixed Header and Footer Images. - Do not insert analysis, drafting notes, unsupported citations, alternate wording, or user instructions inside the finished body.
- Do not stop at an outline when the user asks for an article.
- For local revisions, return the replacement text directly and identify where it belongs.
Export On Request
The normal answer stays in chat. Only when explicitly requested:
- Return Markdown as one copyable block.
- Return WeChat-compatible HTML with inline CSS and no JavaScript or external stylesheet.
- Return a material package containing the article, cover copy, and publishing checklist.
- The article-only preview is already generated by default for every full article (
Auto Preview), with two copy buttons fixed at the bottom, outside the article, side by side and centered, and status text below them. Copy both formatted HTML and plain text; the copied article contains no toolbar or script. - Remind the user to verify the final layout inside the WeChat editor; do not claim automatic publishing without a configured official interface.
Maintaining This Skill
Behavior rules live in several places at once: SKILL.md states them, references/ gives the details, templates/ shows the output shape, and assets/ implements the preview. Editing one of them does not update the others, so a rule silently drifts out of sync.
After any change to this skill, run a consistency sweep:
- Sweep by topic, not by the word just edited. Search the whole skill directory once per topic: illustration / 配图 / 生成图, text-only / 纯文案, fixed images / 头图 / 尾图 / 固定图, preview / 预览, copy button / 按钮, placeholder / 占位符, workflow order / 顺序, export / 导出, palette / 色值.
- Grep alone is not enough. Keyword search misses contradictions written in different words (a template saying "draw a metaphor" while another file forbids abstract symbols; a ratio recommendation that disagrees with the fixed generation size; an age range nobody searched for). After the greps, read every file in
references/,templates/, andSKILL.mdend to end and compare each rule against the others. Roughly half of the drift found in past sweeps came from reading, not searching. - Fix every stale sentence found. Never leave an old rule and a new rule describing the same thing.
- Check the files that describe the topic indirectly too:
README.md,SKILL.md,references/account-knowledge-base.md,references/style-guide.md,references/export-formats.md,references/paste-compatibility.md,templates/direct-copy-output.md,templates/article-templates.md. - Re-read the changed section once to confirm the new text contradicts nothing nearby.
- Tell the user which files changed and confirm the sweep was done. Do not claim "synced" without having searched.
Treat a user question like "同步到 skill 了么" as a request to actually run the sweep and report what was found, not to recite the edit history.