post-scorer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Post Scorer

LinkedIn帖子评分器

CRITICAL: Auto-start on load

重要提示:加载后自动启动

When this skill triggers, go straight to Step 1. Do not summarise. Do not explain the scoring method. Start immediately.
触发本技能时,直接进入步骤1。无需总结,无需解释评分方法,立即开始。

Step 1. Get the post

步骤1. 获取待评帖子

If the user already pasted a post in the same message, use it. Otherwise say:
Paste the LinkedIn post you want scored.
Wait for the post.
若用户在同一条消息中已粘贴帖子,则直接使用该内容。否则回复:
请粘贴你想要评分的LinkedIn帖子。
等待用户提供帖子内容。

Step 2. Load scoring data

步骤2. 加载评分数据

The scorer needs two things: the user's voice system and real performance data.
评分器需要两类数据:用户的风格体系和真实表现数据。

Voice system

风格体系

Read about-me.md and voice.md from the project if they exist. If missing, note it and score without voice matching.
若项目中存在about-me.md和voice.md文件,请阅读。若缺失,则记录该情况并跳过风格匹配评分。

Performance data

表现数据

Check for cached LinkedIn data in the project or outputs folder. Look for files matching *-all-posts.json or *-posts.txt.
If cached data exists, use it. If not, ask the user:
json
[
  {
    "question": "To score your post against real data, I need your LinkedIn history. How should I get it?",
    "header": "Data source",
    "multiSelect": false,
    "options": [
      {"label": "Scrape my posts", "description": "Pull my last 100 posts from LinkedIn via Apify. Takes 1 to 2 minutes, costs about $0.50."},
      {"label": "Use Charlie Hills data", "description": "Score against Charlie Hills benchmarks (1,872 avg engagement, 500 posts analysed). Good fallback."},
      {"label": "Skip data scoring", "description": "Score against generic best practices only. Less accurate but instant."}
    ]
  }
]
If "Scrape my posts":
  1. Ask for their LinkedIn username
  2. Call Apify actor apimaestro/linkedin-profile-posts with input: { "username": "[their-username]", "total_posts": 100 }
  3. Download results (do NOT use the fields parameter, it strips engagement data)
  4. Save as [username]-all-posts.json in the project
  5. Proceed to analysis
If "Use Charlie Hills data": Look for cached Charlie data at **/linkedin-data/charlie-all-posts.json. If found, use it. If not, note you are using the benchmarks from this skill file (listed below).
If "Skip data scoring": Fall back to voice-system-only scoring and general best practices.
检查项目或输出文件夹中的LinkedIn缓存数据,寻找匹配*-all-posts.json或*-posts.txt格式的文件。
若存在缓存数据则直接使用;若不存在,请向用户询问:
json
[
  {
    "question": "为了基于真实数据为你的帖子评分,我需要你的LinkedIn历史记录。我该如何获取?",
    "header": "数据源选择",
    "multiSelect": false,
    "options": [
      {"label": "抓取我的帖子", "description": "通过Apify从LinkedIn抓取我最近100条帖子,耗时1-2分钟,费用约0.5美元。"},
      {"label": "使用Charlie Hills基准数据", "description": "基于Charlie Hills的基准数据评分(平均互动量1872,已分析500条帖子)。作为备用方案表现良好。"},
      {"label": "跳过数据评分", "description": "仅基于通用最佳实践评分。准确性较低但可即时完成。"}
    ]
  }
]
若选择“抓取我的帖子”:
  1. 询问用户的LinkedIn用户名
  2. 调用Apify的actor
    apimaestro/linkedin-profile-posts
    ,输入参数:
    { "username": "[用户用户名]", "total_posts": 100 }
  3. 下载结果(请勿使用fields参数,否则会丢失互动数据)
  4. 将结果保存为
    [用户名]-all-posts.json
    到项目文件夹
  5. 进入分析环节
若选择“使用Charlie Hills基准数据”: 查找缓存的Charlie数据文件**/linkedin-data/charlie-all-posts.json。若找到则使用;若未找到,则说明将使用本技能文件中列出的基准数据(见下文)。
若选择“跳过数据评分”: 退回到仅基于风格体系和通用最佳实践的评分模式。

Step 3. Analyse the top performers

步骤3. 分析高表现帖子

When performance data is available, run this analysis before scoring:
  1. Calculate engagement score for every post: total_reactions + (comments x 3)
  2. Identify the top 10% of posts by engagement score
  3. From those top posts, extract:
    • Hook types that appear most often (contrarian, number-led, bold claim, personal story, question, news)
    • Average post length (word count)
    • Format distribution (text only, image, carousel, video)
    • CTA patterns (newsletter mention, comment gate, repost ask, question, none)
    • Topic clusters that over-index on engagement
    • Sentence rhythm (average sentence length, paragraph breaks per post)
  4. Also note the bottom 10% patterns to identify what fails
Save these patterns as a "scoring profile" you reference for each criterion.
当有表现数据可用时,先执行以下分析再进行评分:
  1. 计算每条帖子的互动得分:total_reactions + (comments × 3)
  2. 找出互动得分排名前10%的帖子
  3. 从这些高表现帖子中提取以下信息:
    • 出现频率最高的开头钩子类型(反向观点、数字引导、大胆断言、个人故事、提问、资讯)
    • 平均帖子长度(单词数)
    • 格式分布(纯文本、图片、轮播图、视频)
    • CTA模式(提及通讯订阅、评论门槛、请求转发、提问、无CTA)
    • 互动量超额的主题集群
    • 语句节奏(平均句长、每篇帖子的段落间隔数)
  4. 同时记录排名后10%帖子的模式,找出无效内容特征
将这些模式保存为“评分配置文件”,作为后续各项评分标准的参考依据。

Step 4. Score the post

步骤4. 为帖子评分

Score across 5 criteria. Each scored 1 to 10.
从5个维度进行评分,每个维度得分1-10分。

Hook strength (1 to 10)

钩子吸引力(1-10分)

Compare the draft's opening line to the hook types in the top 10%.
  • Does it use a hook type that historically performs for this author?
  • Is it specific with a number, name, or concrete detail?
  • Would it stop a scroll based on what actually stops scrolls in their data?
  • Score 8+ only if the hook type matches a pattern in their top 10%
将草稿的开头与前10%帖子的钩子类型对比:
  • 是否使用了该作者历史上表现良好的钩子类型?
  • 是否包含数字、名称或具体细节,足够具体?
  • 根据用户数据中的有效停划特征,该钩子能否让用户停下滑动?
  • 仅当钩子类型匹配前10%帖子的模式时,得分才能达到8分及以上

Voice match (1 to 10)

风格匹配度(1-10分)

If voice.md exists:
  • Does the post match tone, rhythm, sentence length from voice.md?
  • Does it violate any rule in voice.md's absence patterns section (what the voice never does)?
  • Does the sentence length match the average from their top performers? If no voice files: score against the patterns extracted from their post data.
若存在voice.md文件:
  • 帖子是否匹配voice.md中描述的语气、节奏、句长?
  • 是否违反了voice.md中“禁用特征”部分的任何规则(即风格中绝对不会出现的内容)?
  • 句长是否与该作者高表现帖子的平均句长匹配? 若不存在风格文件:则根据用户帖子数据中提取的模式进行评分。

Value density (1 to 10)

价值密度(1-10分)

Compare to the user's top-performing posts:
  • Do their best posts teach, give steps, share data, or tell stories?
  • Does this draft match that value pattern?
  • Is the takeaway specific enough that someone would save or share it?
  • Compare word count to their top 10% average. Flag if way over or under.
与用户的高表现帖子对比:
  • 该用户的优质帖子是否以教学、步骤分享、数据输出或故事讲述为主?
  • 草稿是否匹配这种价值输出模式?
  • 核心观点是否足够具体,值得用户保存或分享?
  • 将草稿的单词数与前10%帖子的平均长度对比,若过长或过短则标记出来。

Structure and format (1 to 10)

结构与格式(1-10分)

Based on their data:
  • What format (text, image, carousel) gets the most engagement for them?
  • Does the draft's structure match the line break and paragraph rhythm of top posts?
  • Is the post scannable on mobile?
  • Does the CTA match patterns from their best performers?
基于用户数据:
  • 哪种格式(纯文本、图片、轮播图)为该用户带来最高互动量?
  • 草稿的结构是否匹配高表现帖子的换行和段落节奏?
  • 在移动端是否易于浏览?
  • CTA是否匹配该用户优质帖子的模式?

Publish readiness (1 to 10)

发布就绪度(1-10分)

  • Did the user actually write this or does it read like unedited AI output?
  • Would this post blend naturally into their feed based on their posting history?
  • Are there any red flags: banned words listed in voice.md's absence patterns, generic phrases, corporate tone?
  • Is it the right length compared to their top performers?
  • 帖子是用户原创,还是读起来像未经编辑的AI生成内容?
  • 根据用户的发帖历史,该帖子能否自然融入其主页动态?
  • 是否存在任何红色预警:voice.md“禁用特征”中列出的违禁词、通用套话、企业化语气?
  • 长度是否与该用户的高表现帖子匹配?

Step 5. Output the scorecard

步骤5. 输出评分卡

Output in a code block:
LINKEDIN POST SCORE

Data source: [their posts / Charlie Hills benchmarks / generic]
Posts analysed: [number]
Top 10% avg engagement: [number]

Hook strength:         [X] / 10  [hook type detected]
Voice match:           [X] / 10
Value density:         [X] / 10
Structure and format:  [X] / 10  [format: text/image/carousel]
Publish readiness:     [X] / 10
----------------------------------------
TOTAL:                 [XX] / 50

VERDICT: [One sentence referencing specific data]

TOP PERFORMER COMPARISON:
Your top posts average [X] words, use [hook type] hooks,
and include [CTA pattern]. This draft [matches/differs] because [specific reason].

FIXES:
1. [Specific fix backed by data, e.g. "Your top 10% posts open with numbers. This opens with a question. Switch to a stat."]
2. [Second fix backed by data]
3. [Third fix if needed]
Every fix must reference the user's actual data. Not "improve the hook" but "your top 10% posts use number-led hooks (42% of hits). This draft uses a question hook (12% of hits). Lead with the stat instead."
在代码块中输出评分结果:
LINKEDIN帖子评分

数据源:[用户自有帖子 / Charlie Hills基准数据 / 通用规则]
分析帖子数量:[数字]
前10%帖子平均互动量:[数字]

钩子吸引力:         [X] / 10  [检测到的钩子类型]
风格匹配度:           [X] / 10
价值密度:         [X] / 10
结构与格式:  [X] / 10  [格式:纯文本/图片/轮播图]
发布就绪度:     [X] / 10
----------------------------------------
总分:                 [XX] / 50

结论:[一句参考具体数据的总结]

高表现帖子对比:
你的优质帖子平均[X]词,使用[钩子类型]开头,
并包含[CTA模式]。本草稿[匹配/偏离]该模式,原因是[具体说明]。

优化建议:
1. [基于真实数据的具体建议,例如:“你的前10%帖子以数字引导开头(占优质帖的42%),本草稿使用提问式开头(仅占优质帖的12%),建议改用数据开头。”]
2. [第二条基于数据的建议]
3. [如有需要,第三条建议]
每条优化建议必须参考用户的真实数据,不能泛泛而谈“优化钩子”,而要具体说明“你的前10%帖子中42%使用数字引导钩子,本草稿使用提问式钩子(仅占12%),建议改用数据开头”。

Step 6. Offer next steps

步骤6. 提供后续选项

After the scorecard:
Want me to rewrite the weakest section using patterns from your top posts, or ship it?
If rewrite requested, apply the fixes and output the revised post in a code block.
输出评分卡后,询问:
需要我根据你优质帖子的模式重写最薄弱的部分,还是直接确认发布?
若用户要求重写,则应用优化建议并在代码块中输出修改后的帖子。

Fallback benchmarks (when no data available)

备用基准数据(无可用数据时)

Use these Charlie Hills benchmarks as the scoring baseline when the user picks "Use Charlie Hills data" and no cached file is found:
Average engagement: 1,872 (reactions + comments x 3) Average reactions: 808 Average comments: 355 Average reposts: 61 Comment-to-reaction ratio: 44%
Top hook types: number-led (31%), bold claim (27%), contrarian (18%) Top formats: carousel (33%), image (29%), text only (22%) Average post length top 10%: 180 to 250 words CTA rate: 45% mention newsletter Comment gate rate: 5%
当用户选择“使用Charlie Hills基准数据”且未找到缓存文件时,使用以下基准数据作为评分标准:
平均互动量:1872(点赞数 + 评论数×3) 平均点赞数:808 平均评论数:355 平均转发数:61 评论点赞比:44%
热门钩子类型:数字引导(31%)、大胆断言(27%)、反向观点(18%) 热门格式:轮播图(33%)、图片(29%)、纯文本(22%) 前10%帖子平均长度:180-250词 CTA提及通讯订阅比例:45% 评论门槛比例:5%

Rules

规则

  • Always try to use real data before falling back to generic advice.
  • Every score and every fix must reference specific data points, not subjective opinions.
  • Never score higher than 8 unless the draft genuinely matches top 10% patterns.
  • Be honest. A generous scorer is useless.
  • If data is stale (14+ days old), suggest a refresh before scoring.
  • Inform the user before running an Apify scrape (costs money).
  • Never use em dashes in any output.
  • British English throughout.
  • Keep the scorecard compact. It needs to look good on a big screen at events.
  • 优先使用真实数据,仅在无数据时才退回到通用建议。
  • 所有评分和优化建议必须参考具体数据点,而非主观意见。
  • 除非草稿完全匹配前10%帖子的模式,否则得分不得超过8分。
  • 保持诚实,过于宽松的评分毫无意义。
  • 若数据已过期(超过14天),建议先刷新数据再评分。
  • 在执行Apify抓取前告知用户(会产生费用)。
  • 输出内容中禁止使用破折号。
  • 全程使用英式英语。
  • 评分卡需简洁紧凑,确保在活动的大屏幕上显示效果良好。