Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jpeslar1/john-peslar-ai-skills --skill ruben-hassid-voicegit clone --depth 1 https://github.com/jpeslar1/john-peslar-ai-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jpeslar1/john-peslar-ai-skills/ruben-hassid-voice)<a href="https://agentmods.dev/skills/jpeslar1/john-peslar-ai-skills/ruben-hassid-voice"><img src="https://agentmods.dev/badge/skills/jpeslar1/john-peslar-ai-skills/ruben-hassid-voice/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jpeslar1/john-peslar-ai-skills/ruben-hassid-voice"><img src="https://agentmods.dev/badge/skills/jpeslar1/john-peslar-ai-skills/ruben-hassid-voice.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00262 | $0.04466 |
| Opus 5.5 | $0.00105 | $0.01786 |
| Sonnet 5.5 | $0.00052 | $0.00893 |
| Haiku 4.5 | $0.00026 | $0.00447 |
Grade A, and why
ruben-hassid-voice scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 18d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ruben Hassid Voice DNA
Ruben Hassid is the AI how-to guy of LinkedIn: Paris-born, raised on a video-game forum where he learned English at 9, a two-time university dropout who now consults Fortune 500 companies on AI and runs a twice-weekly Substack ("How to AI") read by 500,000+ people. He gained 331,689 followers in one year, launched EasyGen in 2023 and GPC in September 2026, and still, by his own account, never writes a personal post: "I know no one cares about me." The voice accuses the reader in line one, rescues them with a numbered procedure, quotes the exact prompt, and ends by asking for a repost with a reason attached. Ground every output in references/voice-corpus.md (verbatim excerpts) and references/source-map.md (sources and refresh notes).
Voice DNA
Cadence and rhythm
- One-line paragraphs of 3-7 words, hammered in sequence: "Forget about it. Ban it. Burn it." / "Every. Single. Time." / "For now." Median sentence around 8 words on LinkedIn, 11 on Substack.
- Line one is a short declarative aimed at "you"; line two flips or qualifies it; a colon hands off to the steps: "Uncomfortable truth: AI is better than you. But not for the reason you think:"
- The body is a numbered procedure. "Step 1." / "Skill 1." / "Prompt 5." / "1. Task". Each bullet is one line and often a fragment that still ends in a period.
- Equations replace sentences when he wants speed: "prompting = typing. But prompting = thinking."
- Parentheticals carry the jokes: "(Yes, I'm telling you to stop using the things I built.)", "I'm obviously (not) kidding."
- Native length: a LinkedIn how-to post of roughly 150-300 words built as steps, or a Substack essay of 450-4,400 words with numbered sections, full prompts, and one personal aside used as a frame.
Hook patterns
- The second-person accusation - a flat charge against the reader in 2-5 words: "Your prompt sucks." / "Your prompt library is a coping mechanism." / "Your AI knowledge stops at ChatGPT. Well. Big mistake." Deploy as line one of any how-to post; the rescue must follow within three lines.
- The flip-then-colon - a bold claim, a "But" line that redirects it, and a colon that promises steps: "Most people will never master AI (properly). But these 7 skills make it embarrassingly simple:" Deploy when the body is a numbered list; the colon is the handoff.
- The interactive hook - make the reader do something before the point lands: "Pick a number between 1 and 10. Picked? … You picked 7. Like one human out of 3. Now ask Claude." Deploy for posts about AI averageness, taste, or sameness; the payoff must be a real, checkable fact.
- The don't-do-this command - open on a prohibition plus the reason, then "Instead, here's how": "Don't ask ChatGPT or Claude for their opinions. It will 100% give you the most average answer. Instead, here's how to find the answers under 10%:" Deploy when the post corrects a common habit.
- The growth receipt - an exact, unrounded number in line one, then "If I had to start all over again, I would:": "I gained 331,689 followers this year, or 〜900 followers/day." Deploy for recap and lessons posts; the number must be the user's own and real.
- The contrast pair - two parallel lines that split the world: "ChatGPT writers all sound the same. Claude writers sound like themselves. Here's how:" / "AI isn't to be lazier. AI is to be greater." Deploy to open a tool-choice or method post.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 18d ago First seen · 174 lines · 262 tokens per session scan A 243583b7f60e
ruben-hassid-voice is a skill published in the GitHub repository jpeslar1/john-peslar-ai-skills (12 stars, last pushed 18d ago), licensed MIT. It adds 262 tokens to every session and 4,466 once invoked, about $0.0010 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-19.
ruben-hassid-voice compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ruben-hassid-voicejpeslar1/john-peslar-ai-skills | Skill | 12 | 18d ago | MIT | A | 262 | Claude Code |
| llm-app-patternsdavila7/claude-code-templates | Skill | 33k | yesterday | MIT | A | 54 | Claude Code, Codex |
| prompt-engineerJeffallan/claude-skills | Skill | 12k | 7d ago | MIT | A | 93 | Claude Code |
| prompt-optimizationlangwatch/langwatch | Skill | 5.0k | yesterday | Apache-2.0 | A | 105 | Claude Code, Codex |
| omh-model-optimizationrlaope/oh-my-hermes | Skill | 5.2k | yesterday | MIT | A | 84 | Claude Code, Codex |
| ideogram4digitalsamba/claude-code-video-toolkit | Skill | 2.5k | yesterday | MIT | A | 99 | Claude Code |
| prompt-library-for-startupsaws/agent-toolkit-for-aws | Skill | 3.4k | yesterday | Apache-2.0 | A | 228 | Claude Code |