Install
openclaw skills install @harrylabsj/juejin-article-optimizerOptimize Juejin technical articles by improving title, structure, code/text ratio, readability, SEO, and engagement for better rankings and reader interaction.
openclaw skills install @harrylabsj/juejin-article-optimizerTake your technical draft from "just another post" to a high-ranking, high-engagement Juejin article. Analyze structure, readability, and SEO against platform best practices — then get a fully optimized version ready to publish.
Input: User provides:
optimize-new (optimize before first publish) | rescue-existing (improve a low-performing published article) | translate-adapt (adapt English tech blog for Juejin)Output: Parsed article with structural metadata (word count, heading count, code block count, image count, reading time).
Input: Parsed article. Action: Score on 6 dimensions (1-10 scale):
| Dimension | What We Measure | Weight |
|---|---|---|
| Title Power | CTR potential. Does it use Juejin-proven patterns (numbered lists, practical value, curiosity gap)? | 20% |
| Structure | Heading hierarchy, paragraph length, first-screen content value, section balance | 15% |
| Code/Text Ratio | Is there enough explanation around code? Standard: 60% text, 40% code. Too much code → low readability. | 15% |
| Readability | Sentence length, terminology explanation, Chinese readability score, mobile readability | 20% |
| SEO & Discoverability | Keyword density, tag relevance, title keyword placement, internal linking | 15% |
| Engagement Design | Discussion hooks, practical takeaways, call-to-action, comment-bait questions | 15% |
Output: Radar chart (text/Mermaid) + overall score + breakdown. Comparison to Juejin's top-article benchmarks.
Input: Article topic + Juejin category. Action: Scrape Juejin's relevant category/channel for top-performing articles (last 30 days, >500 likes):
Output: Category benchmark report with actionable patterns.
Input: Article diagnostic score + category benchmarks. Action: Compare article metrics against category benchmarks:
| Dimension | Your Article | Category Average | Top 10% | Gap |
|---|---|---|---|---|
| Title Power | 5/10 | 6.5 | 8.2 | 🔴 -3.2 |
| Structure | 7/10 | 6.8 | 8.5 | ≈ |
| Code/Text Ratio | 55% code | 35% | 28% | 🔴 Too much code |
| Readability | 6/10 | 7.2 | 8.8 | 🟡 -2.8 |
| SEO | 4/10 | 6.0 | 8.0 | 🔴 -4.0 |
| Engagement | 3/10 | 5.5 | 7.5 | 🔴 -4.5 |
Output: Prioritized improvement list: "Top 3 fixes: 1. Add engagement hooks (gain +2.5) 2. Improve SEO (gain +2.5) 3. Optimize title (gain +2.0)."
Input: Original title + category patterns. Action: Generate 3 optimized title variants using Juejin-proven patterns:
Output: 3 title variants with CTR potential scores and rationale. User selects or combines.
Input: Original article + gap analysis + selected title. Action: Apply optimizations:
[💡 建议配图: XXX架构图] at 3-5 strategic locations.Output: Optimized markdown article. Diff available on request.
Input: Optimized article. Action:
Output: SEO optimization report + applied changes.
Input: Optimized article + category benchmarks. Action: Generate publishing recommendations:
Output: Publishing playbook with timeline + promotional copy.
User: "我写了一篇关于Go并发编程的文章,帮我在发布前优化一下 [paste article]" Expected Output: Diagnostic score → title variants ×3 → optimized article with improved structure, annotated code blocks, visual suggestions, SEO enhancements, and publishing strategy.
User: "这篇文章在掘金只有200阅读,帮我诊断为什么,然后优化 [URL: juejin.cn/post/...]" Expected Output: Diagnostic report identifying specific issues (e.g., "标题缺少搜索关键词,首屏信息密度太低,代码块无注释") → optimized version with before/after comparison table → re-publishing strategy.
User: "这篇英文技术博客写的不错,帮我改写成适合掘金发布的中文版 [paste or URL]" Expected Output: Localized article: not direct translation but culturally adapted — Chinese dev community references, relevant Chinese tech stack context, Juejin-appropriate humor/examples, SEO keywords in Chinese.
User: "我想写一个'微服务入门到实战'的系列,帮我规划前5篇的选题和结构" Expected Output: 5-article series plan: title per article, key takeaways, progression logic (foundation → practice → optimization → pitfalls → advanced), cross-linking strategy, estimated publishing cadence.
User: "这几个标题哪个在掘金最可能火?1) Go并发编程入门 2) 用了3年Go,才知道goroutine可以这样用 3) Go并发:从理论到实战的5个关键技巧" Expected Output: Per-title CTR potential analysis: pattern match, keyword power, emotion trigger, curiosity gap. Ranked recommendation with reasoning. "Title 2 has highest potential: curiosity gap + experience authority + practical value."
User: "把我最近的5篇文章都审计一遍,按优化优先级排序,然后从最差的那篇开始重写" Expected Output: Audit report ranking all 5 by optimization potential (estimated score gain) → full rewrite of the weakest article with all optimizations applied.
Scenario: Senior developer writing first Juejin article, unfamiliar with platform norms. Input: "写了篇微服务监控的文章,帮我看看在掘金能不能火 [paste draft: ~3000 chars, heavy code, light explanation]" Steps:
Scenario: Company DevRel team needs to publish 4 articles/month on Juejin to build employer brand. Input: "这是我们团队本月要发的4篇草稿,帮我统一优化,风格要专业但不枯燥 [upload: 4 drafts]" Steps:
Scenario: User wants to understand why a competitor's article went viral and apply lessons. Input: "这篇文章在掘金有5000赞,帮我分析它为什么火 [URL], 然后按同样的套路优化我的文章 [paste my draft]" Steps:
| Path | Description |
|---|---|
scripts/optimizer.sh | Main CLI script — diagnose, title optimization, tags, publishing strategy |
schemas/input.schema.json | JSON Schema for workflow input (title, task, tags) |
schemas/output.schema.json | JSON Schema for workflow output (scores, variants, publishing) |
references/category_benchmarks.json | Juejin category benchmarks for article patterns |
# Diagnose article title
bash scripts/optimizer.sh --title "Go并发编程入门" --task diagnose
# Generate optimized title variants
bash scripts/optimizer.sh --title "微服务监控实战" --task title
# Tag and SEO recommendations
bash scripts/optimizer.sh --title "Kubernetes教程" --task tags --tags "后端,Kubernetes"
# Publishing strategy
bash scripts/optimizer.sh --title "React性能优化指南" --task publish
# Full pipeline
bash scripts/optimizer.sh --title "Go并发编程入门" --task full --tags "后端,Go语言"
bash scripts/optimizer.sh --title "你的文章标题" --task diagnosebash scripts/optimizer.sh --title "你的文章标题" --task title for title variantsbash scripts/optimizer.sh --title "你的文章标题" --task full --tags "标签" to receive the complete optimization report within 30 seconds# Quick start
bash scripts/optimizer.sh --title "Go并发编程入门" --task diagnose
| Condition | Behavior |
|---|---|
| Article <500 characters | Flag as too short for Juejin (min 1000 chars recommended); suggest expanding |
| Article >15,000 characters | Warn: "Very long — consider splitting into 2-part series for better engagement" |
| Pure code dump (>80% code) | Flag: "This reads like a gist, not an article. Add explanations and context." |
| Non-technical content | Warn: "Juejin is a technical community. Entertainment/general content performs poorly." |
| Article already published | Offer "rescue" mode — analyze existing performance + suggest improvements for re-publish or next article |
| URL unreachable (Juejin blocks scrape) | Request user to paste article text manually |
| Category has <10 reference articles | Broaden to adjacent categories for pattern analysis |
| User requests guaranteed viral result | Redirect: "Optimization improves probability, not guarantees. Even top authors have articles that underperform." |
| Error Code | Scenario | Handling |
|---|---|---|
| E-SCRAPE-BLOCKED | Juejin anti-scraping triggered | Use cached benchmark data; flag staleness; suggest manual category input |
| E-CATEGORY-UNKNOWN | Article topic doesn't match any Juejin category | Ask user to specify closest category; use general tech benchmark |
| E-LOW-DATA | Insufficient reference articles for pattern analysis | Broaden time range or adjacent categories; flag lower confidence |
| E-ARTICLE-UNREADABLE | Can't parse article format (corrupted markdown, special chars) | Offer plain text mode; warn formatting may be simplified |
| E-TITLE-REJECTED | All 3 title variants rejected by user | Generate 3 more with different patterns (try: controversy, question, how-to) |
| E-OVER-OPTIMIZATION | Too many optimization suggestions overwhelm user | Offer priority-ranked top-5 mode; defer others to "advanced optimization" |