Skip to main content
skill CX Codex

hate — Claude Code skill: what it does, how to install

Tears down a design, plan, or argument before you spend real effort on it. Pinpoints the single fatal flaw and the cheapest check to verify it.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add LilMGenius/paperthin --skill hate -a claude-code
Open on GitHub

What hate does

This skill attacks an entire proposal rather than picking at isolated lines. It isolates the one load-bearing assumption. The whole structure fails without it. The configuration sets disable-model-invocation: true, so you must trigger it deliberately. A permanent demolition reflex would ruin routine coding.

The critique tests several specific failure modes. It targets ungrounded facts or implementations that contradict their stated principles. For research designs, it flags statistical power issues and data leakage. Instead of a bloated checklist, hate returns { root, first_nail } — the fatal objection plus the cheapest test to kill the plan early.

What it helps with

  • locate the single fatal flaw in an architectural plan before building it
  • devise the cheapest test to falsify a load-bearing assumption
  • catch cases where an implementation contradicts its stated principle
  • spot invalid domain analogies and ungrounded assumptions in proposals

Example prompts for the agent

  • Run hate on this database migration proposal
  • /hate attack this microservice architecture before we start building
  • Find the single load-bearing failure in this technical specification

How to install hate

1Skills CLI (Vercel)

npx skills add LilMGenius/paperthin --skill hate -a claude-code

2Manually: put the files in place

~/.claude/skills/hate/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/hate/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about hate

How to install hate in Claude Code?

Run npx skills add LilMGenius/paperthin --skill hate -a claude-code in your terminal.

What does the hate skill do?

It evaluates a plan or design to pinpoint the single fatal flaw and the cheapest experiment that can test it. It deliberately returns one root issue instead of an endless checklist.

Why does hate disable automatic invocation?

The skill sets disable-model-invocation: true in its frontmatter. An autonomous demolition reflex would bias the assistant toward destructive criticism during regular work, so it requires explicit user calls.

Source text

SKILL.md · MIT
---
name: hate
disable-model-invocation: true
description: "Attack a plan, design, or argument like you want it to fail before you commit real effort — return the single load-bearing objection and the cheapest experiment that would prove it matters, not a checklist. User-invoked on purpose: a hate-it reflex always in the agent's reach would bias it toward demolition. Weighs many failure axes but owns the synthesis to one root."
---

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.

© LilMGenius · MIT · LilMGenius/paperthin

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set28

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor