hate

A deliberately hostile review of a plan, design, or argument that looks for the single assumption most likely to make it fail.

In plain words
What is it for?
Use it to identify one load-bearing objection and the cheapest experiment that could show whether that objection matters.
Why use it?
It focuses attention on the main threat instead of producing a long checklist of minor concerns.

Skill for Claude CodeCodex

Part of the paperthin plugin — 28 skills shipped together

Install

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.

agentmods
npx agentmods add skills/lilmgenius/paperthin/hate
Any agent
npx skills add LilMGenius/paperthin --skill hate
Clone the repo
git clone --depth 1 https://github.com/LilMGenius/paperthin

Made for: Claude Code, Codex.

Or install paperthin, the plugin that ships this one along with the rest of its 28 skills.

Per session 79 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 540 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00079 $0.00540
Opus 5 $0.00039 $0.00270
Sonnet 5 $0.00016 $0.00108
Haiku 4.5 $0.00008 $0.00054

Measured 3d ago against content hash 57252bb878e7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

hate 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 3d 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.

skills/depth/hate/SKILL.md · 32 lines

What it actually says

Refuse to be nice to the plan — return the one objection that could kill it and the cheapest shot that proves it matters.

Goal

hate asks "what would someone who wants this to fail attack first?" (validity). It attacks the whole plan — not one fact or one line, but the load-bearing structure — and collapses the attack to a single root. The highest-value output is never a checklist — it's one objection plus the cheaper experiment hiding inside the elaborate plan.

Workflow

  1. Pin the load-bearing assumption(s) — what must hold for the whole thing to stand.
  2. Attack on whatever axes apply — the general ones first: a load-bearing fact that may be false, confabulation (a post-hoc story treated as ground truth), analogy-mistaken-for-isomorphism (structure assumed to transfer across domains where it doesn't), future-tense suture (the argument leans on a result that doesn't exist yet), and the sharpest — cites a principle but implements its opposite; and for empirical / research plans, leakage (no external ground-truth enters the validation independently) and statistical power / family-wise α (a true hypothesis auto-failing from uncorrected tests; a near-zero-power condition that rubber-stamps regardless of truth).
  3. Collapse the findings to the single root objection — the one whose failure makes the others moot.
  4. Find the first nail — the cheapest falsification of the load-bearing assumption: the check (in time / cost / sample) that could kill it before the expensive program runs.
  5. Return { root, first_nail } — not a list.

Rules

  • Attack, don't improve — improving is a different reflex.
  • Own the synthesis — many axes may fire, but collapse them to the single load-bearing root; return that, never a list.

Verification

Before finishing:

  1. The root is genuinely load-bearing — the plan falls without it.
  2. The first nail is genuinely cheaper than the plan it would pre-empt.
Changes

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.

  1. 3d ago First seen · 32 lines · 79 tokens per session scan A 57252bb878e7

Subscribe to this mod's changes

hate is a skill published in the GitHub repository LilMGenius/paperthin (999 stars, last pushed 15d ago), licensed MIT. It adds 79 tokens to every session and 540 once invoked, about $0.0004 per session on Opus 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-08-30.

Related

Other skills, from other repositories

foblex-flow

Authoritative guide for working with Foblex Flow (@foblex/flow) in the skill-map UI. Use whenever editing Angular code in ui/ that touches graph rendering — templates with f-flow / f-canvas / f-connection / fNode / fConnector / fDraggable / fZoom / fMarker directives; TypeScript importing from @foblex/flow…

crystian/skill-map · 203 tokens

mm-web-bridge

Партнёр louise в claude.ai — обсуждает идеи, ставит их под сомнение, проверяет актуальность в интернете перед решениями на внешних API/библиотеках, и оформляет self-contained промпты для её Claude Code в PowerShell. Use whenever louise обсуждает идею или фичу, просит собрать промпт/задание для PowerShell-Клода…

mworldorg/markdown-memory · 154 tokens

mm-init-project

Инициализирует или обновляет проект для mm-системы — создаёт passport.md в корне, копию в Obsidian, dashboard.md, handoff.md (скелет), project-instructions.md для claude.ai. Use when user says "оформи проект", "сделай паспорт", "init project", "/mm-init", "/mm-init-project", "обнови паспорт", "регистрирую проект".…

mworldorg/markdown-memory · 200 tokens

mm-save-session

Закрывает текущую Claude Code сессию — сохраняет лог в Obsidian/Claude/Sessions/, обновляет project note, обновляет INDEX.md, перегенерирует handoff.md (для Project Knowledge claude.ai) через /mm-handoff. Если в проекте есть GSD (.planning/ или .gsd/) — также вызывает /gsd-pause-work для technical state в…

mworldorg/markdown-memory · 129 tokens

mm-resume

Восстановить контекст в начале сессии или после /clear. Читает passport.md + dashboard + последнюю сессию + git status + (если есть GSD) полный контекст планирования (.planning/ для v1 или .gsd/ для v2 — STATE, ROADMAP, текущий phase CONTEXT/PLAN, HANDOFF.json). Выдаёт компактную сводку «где мы». Use when user says…

mworldorg/markdown-memory · 161 tokens

mm-clear-gate

Гейт перед /clear — read-only проверка «всё ли записано», вердикт из exit code скрипта, а не из реплики модели. Проверяет свежесть GSD-handoff в репозитории проекта, свежесть vault-файлов для Project Knowledge, состояние vault-репо, дерево проекта, запушенность, лог сессии, плюс validate.health как предупреждение. Два…

mworldorg/markdown-memory · 167 tokens