Wechat theme extractor
Skill YangsonHung/awesome-agent-skills/skills/en/wechat-theme-extractor
Use when extracting visual styles from a WeChat article and generating a markdown-wechat-converter theme.From its SKILL.md
npx -y skills add YangsonHung/awesome-agent-skills --skill wechat-theme-extractorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `Run `scripts/extract.py` to fetch the article HTML and extract the title and `js_content`.` and 1 more.
SKILL.md
4.9 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
WeChat Theme Extractor
Overview
Extract layout and style signals from a WeChat Official Account article, then generate a reusable theme for markdown-wechat-converter. The workflow derives typography, colors, spacing, and block styles from the article, writes the generated theme into markdown-to-wechat.html, and supports previewing the result.
When to Use
Use this skill when the user:
- Provides a
mp.weixin.qq.comarticle URL - Wants to extract typography, color, spacing, and block styles from a WeChat article
- Wants a new theme generated for
markdown-wechat-converter - Wants the theme written into
markdown-to-wechat.htmland previewed
Do not use
Do not use this skill when:
- The URL is not a WeChat Official Account article
- The user only wants article text extraction without theme analysis
- The target project does not contain
markdown-wechat-converterormarkdown-to-wechat.html
Instructions
- Run
scripts/extract.pyto fetch the article HTML and extract the title andjs_content. - Read
.extracted_content.htmland analyze style traits directly from the HTML. - Generate a theme object compatible with
markdown-wechat-converter. - Locate
markdown-to-wechat.htmlin the current workspace and inject the new theme without breaking existing theme definitions. - Re-open the file and verify the theme entry was actually written.
- If verification succeeds, open
markdown-to-wechat.htmlin the browser for preview.
Workflow
User provides URL
-> run extractor script
-> produce .extracted_content.html
-> analyze styles
-> generate theme config
-> write into markdown-to-wechat.html
-> verify write result
-> open preview
Run the script
python3 scripts/extract.py "https://mp.weixin.qq.com/s/xxxxx"
Script responsibilities
The Python script only:
- Fetches article HTML
- Extracts the article title
- Extracts the
js_contentbody fragment - Saves the result to
.extracted_content.html
The AI handles:
- Style analysis
- Theme generation
- Config injection
- Post-write verification
- Preview opening
Injection rules for markdown-to-wechat.html
When updating markdown-to-wechat.html, follow these rules:
-
Find the real theme source first.
- Search for theme-related objects, arrays, maps, or
constassignments before editing. - Do not assume a fixed variable name unless it exists in the file.
- Search for theme-related objects, arrays, maps, or
-
Preserve the existing structure.
- Match the file's current object style, quote style, indentation, and trailing comma convention.
- Do not reformat unrelated sections.
-
Add, do not overwrite blindly.
- If the new theme name does not exist, append a new entry in the existing theme collection.
- If the same theme name already exists, update only that entry instead of duplicating it.
-
Keep the change scoped.
- Only touch the theme definition block and any minimal registration hook required to make the theme selectable.
- Do not modify renderer logic, event handlers, or unrelated UI code unless the file structure requires a minimal wiring change.
-
Verify after writing.
- Re-read the edited section and confirm the theme key, title, and core style properties are present.
- If the theme block cannot be located safely, stop and report that the target file structure needs manual confirmation.
Example theme snippet
Generate a theme object that matches the target file's existing structure. Use this as a minimal reference shape:
{
id: "wechat-clean-blue",
name: "WeChat Clean Blue",
styles: {
body: {
fontFamily: "\"PingFang SC\", \"Helvetica Neue\", sans-serif",
fontSize: "16px",
color: "#2b2b2b",
lineHeight: "1.75",
backgroundColor: "#ffffff"
},
h1: {
fontSize: "24px",
fontWeight: "700",
textAlign: "center",
color: "#1f3a5f"
},
h2: {
fontSize: "20px",
fontWeight: "700",
color: "#1f3a5f",
borderBottom: "2px solid #9ec1ff"
},
blockquote: {
color: "#4a5568",
backgroundColor: "#f7fbff",
borderLeft: "4px solid #7fb3ff",
padding: "12px 16px"
}
}
}
When writing:
- Match the real field names used in
markdown-to-wechat.html - Convert this shape if the target file uses arrays, maps, or nested registration
- Include at minimum the theme key, display name, and core typography styles
Output file
scripts/.extracted_content.html: extracted article body HTML with title and source URL comments at the top
Validation checklist
- The article HTML was fetched successfully
.extracted_content.htmlexists and is not empty- The title and
js_contentwere extracted - The new theme entry exists in
markdown-to-wechat.html - The preview page opens successfully
What ships with it: 2 files
2.3 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml310 B
scripts/
- extract.pyruns2.0 KB