# BitterLessonEngineering

Audits any AI instruction set for over-prompting by asking whether a smarter model...

- Repository: https://github.com/danielmiessler/LifeOS (19669 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add danielmiessler/LifeOS --skill BitterLessonEngineering -g -a claude-code -y`
Codex: `npx skills add danielmiessler/LifeOS --skill BitterLessonEngineering -g -a codex -y`
Cursor: `npx skills add danielmiessler/LifeOS --skill BitterLessonEngineering -g -a cursor -y`
Gemini CLI: `npx skills add danielmiessler/LifeOS --skill BitterLessonEngineering -g -a gemini-cli -y`

## Description

Audits any AI instruction set for over-prompting by asking whether a smarter model would make each rule unnecessary, then classifies every rule from CUT to KEEP. USE WHEN BLE, bitter lesson, audit setup, over-prompting, trim instructions, dead weight, simplify setup, clean up CLAUDE.md. NOT FOR attacking logical flaws in ideas (RedTeam).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# BitterLessonEngineering

Audits any AI instruction set for over-prompting: every rule goes through the Six Questions below and gets one classification from CUT to KEEP, with an estimate of the tokens saved. Two intents: Audit (full system) and QuickCheck (a single file or rule set). The core test for every rule: *"Would a smarter model make this unnecessary?"* If yes, it is scaffolding, not architecture, and a candidate to cut. Unnecessary rules compete for attention with the ones that matter, so a bloated setup produces worse output than a lean one.

## Ideal State

- Every audited rule is first sorted by kind under The First Sort below, and the report counts each kind. A preference is never cut, by judgment, score or ablation; a prescriptive step that is not a keep-class leaves as CUT or as REWRITE to the outcome it protects.
- Every audited rule carries one classification from the table below with a one-line reason, and no keep-class rule (safety gate, verified gotcha, tool contract, output-format contract) is ever marked CUT.
- No declarative content a model cannot derive (environment facts, domain invariants, API shapes, worked examples) is ever marked CUT; question 6 cuts imperative reasoning steps only.
- No rule is cut as default behavior unless it is still default on the current model and the failure it was added for is truly gone.
- Every report states its scope, the rule count and the verdict counts; a full audit also states estimated savings in lines and tokens.
- The audited files change only after the user approves the trimmed versions.

## Intent Routing

| Intent | Trigger | File |
|--------|---------|------|
| **Audit** | "audit setup", "full audit", "check all rules" | `Intents/Audit.md` |
| **QuickCheck** | "quick check", "check this file", "check these rules" | `Intents/QuickCheck.md` |

## The First Sort

The rest: https://github.com/danielmiessler/LifeOS/blob/HEAD/LifeOS/install/skills/BitterLessonEngineering/SKILL.md
