{"adoption": {"forks": 511, "observed_at": "2026-08-28T04:07:47.817174+00:00", "stars": 3182}, "canonical_url": "https://ross.abutalabs.com/products/wewrite", "card": {"archived": false, "artifact_type": "library", "description": "公众号内容全流程 Skill，从热点抓取到微信草稿箱，一句话跑完整条内容管道", "domain": ["large-language-models", "media", "social-media", "developer-tools"], "enriched": true, "function": ["agent-framework", "llm-inference", "web-scraping", "nlp", "templating", "workflow-automation", "image-processing"], "health_score": 100, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["imraywang/wewrite"], "name": "imraywang/wewrite", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-24T03:18:32+00:00", "repo": "imraywang/wewrite", "stars": 3182, "tags": ["wechat-official-account", "content-pipeline", "ai-writing", "claude-code-skill", "draft-publishing", "style-learning", "multi-platform-rewriting", "ai-agents", "natural-language-processing", "automation"], "topics": [], "urls": [], "use_cases": ["write a WeChat official account article from one prompt", "automate topic selection and research for公众号 posts", "format articles into WeChat-compatible HTML themes", "push finished articles to the WeChat draft box", "rewrite one article for Xiaohongshu or Douyin", "learn my writing style from my edits", "generate cover images for WeChat articles"], "what_it_is": "WeWrite is a Python-based AI agent skill that automates the full WeChat Official Account content pipeline: topic selection from trending news, research gathering, style-persona-driven drafting, editorial review, optional AI image generation, WeChat-compatible HTML formatting with 18 themes, and pushing to the WeChat draft box. It works with agents like Claude Code and Codex via a main entry skill plus nine modular sub-skills.", "when_to_avoid": ["you don't publish to WeChat Official Accounts or Chinese social platforms", "you need fully manual editorial control over every step", "you can't grant API access to WeChat draft publishing", "you want a general-purpose blog or CMS rather than a WeChat-focused pipeline"], "when_to_choose": ["you publish regularly on WeChat Official Accounts and want an end-to-end AI content pipeline", "you use an AI agent like Claude Code and want modular topic/writing/formatting/publishing skills", "you want consistent personal writing style that improves from your edits", "you need WeChat-compatible inline-styled HTML formatting with multiple themes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wewrite", "repo": "imraywang/wewrite", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:47.817174+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:03.219799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed6030240bfaebcf36f76d2643c2f50e10d7c36b9bbfe8042202c0721c3bb657", "fetched_at": "2026-08-28T04:07:47.817174+00:00", "kind": "readme", "missing": false, "url": "https://github.com/imraywang/wewrite"}, {"content_hash": "21c99ec9b282e4cc41d403a7c67737a18db6f0bf4baf6151e903a39cccfd9297", "fetched_at": "2026-08-29T09:39:05.774041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/wewrite/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 11, "rhythm": 93}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 160, "days_push": 9, "days_rel": 48, "gap_med": 1.0, "n_releases_24m": 3}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}