Agent skill · Audited from source

post-scorer

skill · charlie947/social-media-skillsMIT licenceAudited 28 Oct 2026 · source 7179b9176eab

★ 4,397pushed 9 days ago
✓SAFEGrade B · 89/100 · 28 Oct 2026 · 7179b91
4,397repo stars · whole charlie947/social-media-skills

Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 7179b9176eab and found no filesystem, network or shell access and no hard-coded secrets. What it does: Score a LinkedIn post using real performance data. Pulls the user's own post history via Apify (or uses cached data) to identify what actually performs, then scores the draft against those patterns. Use this skill…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “post-scorer (charlie947/social-media-skills)”. Retrieved 28 Oct 2026. https://modelsatlas.com/skills/charlie947/post-scorer

Trust audit

Audit 0.4.1 · source read 28 Oct 2026

Trust score89/100✓SAFE B
0 critical0 high0 medium0 low0 info

SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (0)

No findings at any severity. We re-audit when the source changes.

Audit 0.4.1 · source sha 7179b9176eab · 28 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishercharlie947 GitHub userOwner of the repository this skill is read from
  • Source foldercharlie947/social-media-skills/skills/post-scorerThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict7179b9176eabA new audit runs when the source changes
  • Repository statusNot archivedLast push 9 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Score a LinkedIn post using real performance data. Pulls the user's own post history via Apify (or uses cached data) to identify what actually performs, then scores the draft against those patterns. Use this skill…

---
name: post-scorer
description: >
  Score a LinkedIn post using real performance data. Pulls the user's own post history via Apify (or uses cached data) to identify what actually performs, then scores the draft against those patterns. Use this skill whenever the user says "score my post", "review my post", "rate this post", "give me feedback", "how good is this post", or pastes a LinkedIn post and asks for critique. Separates historical comparisons from an explicitly labelled editorial-only fallback. Designed for live scoring at events and everyday post review.
---

# Post Scorer

## Codex and Claude runtime

- Use this skill in Codex or Claude with the tools actually available in the current task. `AskUserQuestion` examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.
- Work in the user-selected project. Read its `about-me.md`, `voice.md` and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run `voice-builder`; never inherit the maintainer's identity, accounts or private files.
- Resolve bundled `references/` relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical `about-me.md`, `voice.md` or `newsletter-voice.md` in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.
- Use supplied evidence first. Verify external claims through available search/source tools when needed. If a source or integration is unavailable, name the missing capability and offer supplied text/export input. Never invent facts, first-person experience, metrics or a successful tool run.
- Connect only services needed for the chosen route through the user's existing account. Never print credentials or overwrite connections. Drafting, saving and reviewing do not authorise publishing, sending messages or changing accounts.

## 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.

## Step 1. Get the post

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.

## Step 2. Load scoring data

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.

### Performance data

Check for user-supplied exports or cached post data in the selected project. Verify the author, collection date and coverage before using it. Never search another user's folders or fall back to the maintainer's benchmarks.

If data is missing, offer:

1. Use an uploaded export of the user's posts and aggregate engagement counts.
2. Fetch the user's post bodies and aggregate counts with their authorised Apify connection. Confirm the account, scope and current cost before a paid run. Verify the actor's current documented input schema before calling it; do not guess fallback actor inputs.
3. Give an editorial review now, with performance comparison marked unavailable.

For an Apify run, `apimaestro/linkedin-profile-posts` is the existing provider route. Use a small requested batch (up to 100 posts). Request **post bodies and aggregate counts only**. Never scrape comments or replies, including through `deepScrape` or `numComments`. If the actor cannot exclude comment bodies, use a different verified post-only route or request an export. Do not run a comments scrape then discard it afterwards.

Save the resulting permitted post data under `outputs/post-scorer/` in the project with the author and collection date. If Apify is unavailable, preserve the draft and offer the export/editorial routes. Do not claim the history was fetched.

## Step 3. Analyse the top performers

When performance data is available, run this analysis before scoring:

1. Calculate engagement score for every post: total_reactions + (aggregate_comment_count x 3), an editorial weighting rather than private reach analytics
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

Record the source, date, sample size and patterns in this review. Do not write persistent memory unless requested. Unknown counts are missing, not zero; say when the sample is too small or selected to support a performance comparison.

## Step 4. Score the post

Score across 5 criteria, each 1 to 10. Separate editorial judgement from measured historical comparisons. If neither a voice profile nor confirmed author samples exist, mark Voice match unavailable and report the total over 40; otherwise use 50. No numerical total implies predicted performance.

### Hook strength (1 to 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?
- With history, cite the relevant pattern; without it, label the hook score editorial and leave historical fit unavailable

### Voice m

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 7179b91

Download folder ↗
git clone https://github.com/charlie947/social-media-skills
git -C social-media-skills checkout 7179b9176eab

The author documents no install command, so this uses the repository directly. Our verdict covers commit 7179b9176eab only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
CodexMentioned in its text, not testedSkills for Codex · About Codex
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source 7179b9176eab

README badge

For maintainers · shows the latest audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/charlie947/post-scorer/badge.svg)](https://modelsatlas.com/skills/charlie947/post-scorer/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/charlie947/post-scorer/badge.svg)](https://modelsatlas.com/skills/charlie947/post-scorer/)

Questions about post-scorer

Is post-scorer safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can post-scorer access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does post-scorer work with?
Its documentation mentions codex. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (7179b9176eab), read on 2026-10-28. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.