gzh-design-skill — WeChat Article Typesetting Agent
Turn Markdown into paste-ready WeChat article HTML with 6 curated themes, a theme generator, and two-stage quality checks.
Evidence shows: the skill processes local Markdown files and outputs HTML, with no network requests or external data access, indicating low privilege requirements. The workflow requires user confirmation for theme selection, runs validation scripts before output, and provides a preview page for user review. Data flow is transparent: input and output are local files with no hidden data processing. No sensitive data is involved, but this is not explicitly stated. Dependencies are limited to Python standard library, but no dependency list or security audit is provided. External effects are limited to generating HTML files, with no system-level changes. Rollback mechanism is not explicitly documented, but version control could be used. Source attribution is clear: README and LICENSE credit the authors. Deductions: dependency security lacks specific dependency list or audit; rollback mechanism is not explicitly documented.
Evidence shows: the workflow described in README is consistent with SKILL.md and other files; scripts and documentation corroborate each other. Dependencies are Python standard library, ensuring high availability. Validation scripts provide clear error messages guiding users to fix issues. Deductions: no actual runtime testing, but static review found no inconsistencies.
Evidence shows: README details suitable and unsuitable scenarios, clearly defining capability boundaries. Trigger is clear: user provides Markdown file and specifies theme. Environment fit: supports Claude Code, Codex, Cursor, etc., but specific environment configuration requirements are not provided. Deductions: trigger precision lacks specific command examples; environment fit is not detailed.
Evidence shows: README has clear structure, including installation instructions, usage examples, FAQ, known limitations (platform limits), license (AGPL-3.0), and maintenance responsibility (authors). However, no version history or changelog is provided. Deductions: versioning information is missing.
Evidence shows: output is paste-ready HTML with preview and copy button, high usability. Marginal value: provides 6 themes and generator, saving layout time. Cost-benefit: simple installation, free to use, but requires some technical ability. Deductions: cost-benefit not quantified, but overall good.
Evidence shows: feature descriptions in README align with scripts and documentation, but no independent verification. Fact and inference separation: README clearly distinguishes functional descriptions from design philosophy. Deductions: cross-source corroboration is insufficient, relying solely on single source.
- Dependency security lacks a specific dependency list or security audit; users should verify dependencies themselves.
- Rollback mechanism is not explicitly documented; users are advised to use version control.
- Version history or changelog is missing; users should monitor updates.
What does this agent do, and when should you use it?
gzh-design-skill is a skill for AI agents (Claude Code, Codex, Cursor, etc.) that converts Markdown into polished, fully-inline HTML ready to paste into the WeChat Official Account editor. It ships with 6 hand-crafted themes (Moyu Green default, Red-White, Graphite Minimal, Zen Whitespace, Moyu Ticket, Olive Notes), each a complete component library, plus a theme generator that creates new themes from a one-line description or a reference image. The workflow is defined in SKILL.md and relies on references/theme-*.md component libraries and two validation scripts (scripts/component_lint.py and scripts/validate_gzh_html.py) to enforce platform constraints and prevent formatting loss. Output includes clean HTML and a preview page with a one-click copy button. The skill is model-agnostic, producing consistent results across Claude, GPT, Gemini, and Chinese models.
The skill reads a Markdown file, recommends a theme based on article type, reads the corresponding theme component library (references/theme-*.md) and shared components (references/common-components.md), then parses headings, sections, bold, highlights, quotes, images, code blocks, and lists. It assembles HTML using real components from the library, applying features like automatic section numbering, keyword underlining, full-width punctuation normalization, and deduplicated author signatures. It then runs scripts/validate_gzh_html.py to verify compliance (zero ERRORs required) and outputs clean HTML plus a preview page with a copy button. The theme generator workflow (references/theme-generator.md) collects user preferences, generates 45-75 block component libraries, converts them to standard theme library format, registers in theme index, and runs component_lint.py until clean. It also includes format normalization for docx/pdf/plain text (references/format-normalize.md).
- A blogger finishes a long-form opinion piece in Markdown and wants a classic editorial look; they use the 'Red-White' theme to auto-generate keyword underlines and highlighted quotes.
- A tech writer producing tutorials or tool roundups uses the default 'Moyu Green' theme for automatic chapter numbering, code blocks, and card layouts.
- A product manager has a Word/PDF document; they normalize it to Markdown with format-normalize, then select an appropriate theme for WeChat publishing.
- A design-focused public account wants a minimal aesthetic; they choose 'Graphite Minimal' or 'Zen Whitespace' for generous whitespace and serif quotes.
- A user wants a unique style; they ask the agent to generate a new theme from a description like 'monochrome magazine, Klein blue accents, serif font' and reuse it later.
- An internal newsletter team uses 'Olive Notes' to produce editorial-style pieces with editor's notes and dark summary boxes.
What are this agent's strengths and limitations?
- Two-stage validation scripts (component_lint.py + validate_gzh_html.py) deterministically check platform restrictions, not relying on model compliance.
- All styles are inline and text is wrapped in <span leaf> to avoid WeChat's content filters, ensuring paste fidelity.
- Includes 6 curated themes plus a theme generator for custom styles, covering most content types.
- Model-agnostic: works consistently across Claude, GPT, Gemini, and Chinese LLMs because logic is embedded in components and scripts.
- Tailored exclusively for WeChat Official Account; not suitable for other platforms or web pages.
- Requires command-line experience (Python validation scripts), which may be a barrier for non-technical users.
- Generated themes must pass component_lint.py with zero errors to be usable; otherwise they may violate platform rules.
- Licensed under AGPL-3.0, requiring derivative works to be open-sourced; commercial or closed-source use is restricted.
How do you install or deploy this agent?
Install via one of three methods:
- One-liner (recommended):
npx skills add https://github.com/isjiamu/gzh-design-skill - Let the agent install it: tell any agent 'Please find and auto-install the skill at https://github.com/isjiamu/gzh-design-skill' — it will clone it to the skills directory.
- Manual clone:
git clone https://github.com/isjiamu/gzh-design-skill.git ~/.claude/skills/gzh-design
How do you use this agent?
After installation, tell the agent: 'Use Moyu Green to format this article as WeChat HTML: article.md'. The agent will recommend a theme for confirmation, read the component library, parse the Markdown, assemble the HTML, run validation, and output a preview page. Open the preview in a browser, click 'Copy to WeChat' in the top-right, and paste into the editor. To manually verify, run python3 scripts/validate_gzh_html.py out.html.