agentsclimarketplace

Case 00938

Skill knownasnaffy/prompthound/dataset/case_00938

A fast, offline static risk analysis CLI for AI agent skill files. Detects malicious instructions, steganographic payloads, and dangerous capability chains.

Install
npx -y skills add knownasnaffy/prompthound --skill case_00938

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Social media pre-flight checker. Scans any draft post against 30+ platform-specific invisible rules and outputs PASS/WARN/FAIL per rule with exact fix suggestions. Like a linter for content. Covers Reddit (90/10 self-promo ratio, shadowban triggers, link-to-comment tracking), LinkedIn (360Brew AI detection, 60% external link penalty, engagement bait NLP filter, engagement pod detection), Twitter/X (150x author-reply multiplier, 30-min velocity window, link depression since March 2026, bookmark 10x signal), and HackerNews (Show HN format rules, tutorial downrank, clickbait title editing by dang). Research-backed with specific algorithm data. Zero external dependencies.

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.1 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

phy-platform-rules-engine — Social Media Pre-Flight Checker

Each social platform has invisible rules. Break them and you get shadowbanned, de-ranked, or ignored — without knowing why. This tool scans your draft post against 30+ platform-specific rules before you publish.

Like a linter, but for social media posts.

Quick Start

# Check a Reddit post
echo "Your post text" | python3 ~/.claude/skills/phy-platform-rules-engine/scripts/platform_rules.py --platform reddit

# Check a LinkedIn post from file
python3 ~/.claude/skills/phy-platform-rules-engine/scripts/platform_rules.py --file draft.txt --platform linkedin

# Check a Twitter/X thread
python3 ~/.claude/skills/phy-platform-rules-engine/scripts/platform_rules.py --text "My tweet..." --platform twitter

# Check a HackerNews submission
python3 ~/.claude/skills/phy-platform-rules-engine/scripts/platform_rules.py --text "Show HN: ..." --platform hackernews

# JSON output
python3 ~/.claude/skills/phy-platform-rules-engine/scripts/platform_rules.py --file draft.txt --platform linkedin --format json

Rules by Platform

Reddit (7 rules)

IDRuleWhat It CatchesSeverity
R001Self-promo in openingProduct mention in first paragraph → instant downvotesHIGH
R002Self-promotion ratio>10% promotional content violates 90/10 ruleHIGH
R003External link in bodyReddit tracks link-to-comment ratio; >10% → spam flagMEDIUM
R004Post length<50 words = low effort; >500 = TL;DR neededLOW
R005No discussion promptNo question = no comments = no algorithm boostMEDIUM
R006Clickbait languageCommunity actively downvotes hype/clickbaitMEDIUM
R007Cross-posting signal"Also posted on LinkedIn" → mass-distribution flagHIGH

LinkedIn (8 rules)

IDRuleWhat It CatchesSeverity
L001External link penaltyLinks in body → 60% less reach (LinkedIn 2026)HIGH
L002Engagement bait"Comment YES", "Tag a friend" → NLP filter penalizesHIGH
L003AI content signals37 AI-flagged words → 360Brew 30% less reachHIGH
L004Hashtag count>5 hashtags looks spammy; 0 = no categorizationMEDIUM
L005Hook strengthFirst 150 chars determine "See more" clicks → dwell timeHIGH
L006Post length<30 words = low dwell timeMEDIUM
L007Long paragraphs>40 words/paragraph = poor mobile readabilityMEDIUM
L008Engagement pod signalsPod references → aggressive detection in 2026HIGH

Twitter/X (6 rules)

IDRuleWhat It CatchesSeverity
X001External link depressionLinks → near-zero engagement for non-Premium (since March 2026)HIGH
X002Thread hook strengthWeak thread hook = rest of thread never distributedHIGH
X003Character count>280 chars = truncated (non-Premium)HIGH
X004Link placement strategyTip: author reply with link = 150x multiplierHIGH
X005Bookmark potentialNo save-worthy content = misses 10x bookmark boostMEDIUM
X006No engagement promptNo question = no replies = misses 27x reply multiplierMEDIUM

HackerNews (7 rules)

IDRuleWhat It CatchesSeverity
HN001Clickbait titleModerator (dang) will edit your titleHIGH
HN002ALL CAPSExcessive capitalization → title editMEDIUM
HN003Show HN missing URLShow HN requires a URLHIGH
HN004Show HN content typeShow HN is for runnable things, not blog postsHIGH
HN005Tutorial contentTutorials explicitly downranked by moderatorsMEDIUM
HN006Self-promotionSelf-promo outside Show HN → flaggedHIGH
HN007Technical depthLow technical depth → poor reception on HNMEDIUM

Algorithm Data Behind the Rules

Platform SignalSourceData
LinkedIn external link penaltyLinkedIn 360Brew 2026~60% less reach
LinkedIn AI content penaltyLinkedIn 360Brew 202630% less reach, 55% less engagement
Twitter/X reply multiplierX algorithm source codeReply = 27x, Author reply = 150x, Bookmark = 10x, Like = 1x
Twitter/X link penaltyX algorithm March 2026Non-Premium: near-zero engagement with links
Twitter/X half-lifeX algorithm analysisTweet loses 50% visibility every 6 hours
Reddit timing impactUpvote.net 1000-post study730% difference based on posting time alone
Reddit self-promoReddit sitewide rules90/10 ratio across total account history
HN tutorial downrankHN moderator policyTutorials "gratify intellectual curiosity less"

Example Output

Bad Reddit post (HIGH RISK)

  Score    : 20/100 🔴 HIGH RISK
  Rules    : 2 PASS, 3 WARN, 2 FAIL

  🔴 [R001] Self-promo in opening — FAIL
     → Move product mention to a reply comment. Lead with value first.
  🔴 [R007] Cross-posting signal — FAIL
     → Remove cross-posting references. Each platform should feel native.

Bad LinkedIn post (HIGH RISK)

  Score    : 5/100 🔴 HIGH RISK
  Rules    : 3 PASS, 2 WARN, 3 FAIL

  🔴 [L001] External link penalty — FAIL (60% less reach)
  🔴 [L002] Engagement bait detection — FAIL (NLP filter)
  🔴 [L003] AI content signals — FAIL (8 AI words found)

Clean LinkedIn post (CLEAR)

  Score    : 100/100 ✅ CLEAR
  Rules    : 8 PASS, 0 WARN, 0 FAIL

Technical Notes

  • Zero external dependencies — pure Python 3.7+ stdlib
  • Exit codes: 0 (CLEAR), 1 (warnings only), 2 (has failures)
  • JSON output: --format json for pipeline integration
  • 37 AI-flagged words: same database as phy-content-humanizer-audit
  • 10 engagement bait patterns: regex-based, matches LinkedIn's NLP filter targets

Companion Skills

SkillRelationship
phy-content-humanizer-auditDeep 8-dimension AI signature analysis (this tool = quick rule check)
phy-post-forensicsPost-publish analysis (this tool = pre-publish prevention)
phy-content-compoundContent atom library (use rules engine before publishing atom combinations)

What ships with it: 1 file

30.4 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.