{
  "current_as_of": "September 2026",
  "valid_until": "2026-12-15",
  "canonical_url": "https://helpmeblake.com/rules",
  "items": [
    {
      "id": "opus5-verification-nag",
      "class": "law",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "\"Double-check your work before answering.\"",
      "models": "Claude Opus 5",
      "why": "Opus 5 verifies its own work and iterates until it succeeds, unprompted. Telling it to verify stacks on top of that and produces over-verification — slower, more expensive, no better. This inverts a standard prompting best practice, so a prompt library that applies \"ask it to self-check\" uniformly needs a carve-out.",
      "instead": "Delete the instruction. It's a delete, not a rewrite — removing it reduces over-verification with no loss of quality."
    },
    {
      "id": "effort-is-not-length",
      "class": "api-fact",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "Lowering effort to get shorter answers.",
      "models": "Claude Opus 5",
      "why": "Effort moves how much the model thinks, not how much it writes. Dropping it may cut reasoning depth while leaving the visible response just as long — you pay in quality and get nothing back.",
      "instead": "Ask for concision explicitly. A short instruction — \"keep responses focused and brief; most of the response on the main answer\" — cut user-facing length by about 20% in testing."
    },
    {
      "id": "severity-filter-binds",
      "class": "law",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "\"Only report high-severity issues.\" / \"Be conservative.\" / \"Don't nitpick.\"",
      "models": "Claude Opus 5, Claude Fable 5, GPT-5.6, Claude Sonnet 5",
      "why": "Current models follow severity filters literally. They investigate just as thoroughly, find the bugs, then decline to report anything they judge below your stated bar. Precision goes up and your measured recall goes down — it looks like a capability regression and it's a prompting one.",
      "instead": "Ask for coverage, filter later: \"Report every issue, including low-confidence and low-severity ones. Tag each with confidence and severity so I can rank them.\""
    },
    {
      "id": "delegate-more",
      "class": "law",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "\"Use subagents liberally.\" / \"Delegate whenever possible.\"",
      "models": "Claude Opus 5",
      "why": "This was correct advice for Opus 4.8, which under-reached for delegation. Opus 5 reaches for subagents freely on its own. Each one re-establishes context, re-explores, reports back, and then the coordinator re-reads the report — so encouragement multiplies cost and latency.",
      "instead": "Cap it. \"Don't spawn a subagent for work you could finish in a handful of tool calls. Verification belongs in your main loop.\""
    },
    {
      "id": "critical-you-must",
      "class": "law",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "\"CRITICAL: YOU MUST use this tool.\" / \"If in doubt, use [tool].\"",
      "models": "All current frontier models",
      "why": "That language exists to overcome the reluctance of older models. Current models follow the system prompt much more closely, so the same wording now overtriggers — the tool fires when it shouldn't.",
      "instead": "State the condition plainly: \"Use [tool] when the answer depends on information not already in the conversation.\""
    },
    {
      "id": "sampling-params-removed",
      "class": "api-fact",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "Setting temperature for creative variety.",
      "models": "Claude Opus 5, Fable 5, Opus 4.7+, Sonnet 5",
      "why": "The sampling parameters were removed. temperature, top_p and top_k return a 400 on the Claude 4.7+ line, and non-default values are rejected on Sonnet 5. Code carrying them forward simply breaks.",
      "instead": "Get variety from the prompt. For design work, the reliable move is: \"Propose 4 distinct directions first, ask me to pick one, then build only that.\""
    },
    {
      "id": "dont-think-instruction",
      "class": "api-fact",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "\"Don't overthink this.\" / \"Don't reason, just answer.\"",
      "models": "Claude Opus 5 with thinking disabled",
      "why": "Genuinely counterintuitive: a rule telling the model not to think increases the chance it leaks <thinking> tags into the visible response rather than suppressing them.",
      "instead": "Delete the rule and leave adaptive thinking on at low or medium effort. If you must run thinking off, use the generic form — \"do not include internal or system XML tags in your response\" — and don't name the tags."
    },
    {
      "id": "forced-progress-updates",
      "class": "law",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "\"After every 3 tool calls, summarise your progress.\"",
      "models": "Claude Opus 5, Claude Sonnet 5",
      "why": "Progress-update scaffolding written for older models is now redundant. Current models narrate well on their own, so the instruction stacks and produces excessive interim text.",
      "instead": "Remove it. If the narration is too chatty for a coding agent, invert it: \"Default to silence between tool calls. Write only when you find something, change direction, or hit a blocker.\""
    },
    {
      "id": "assistant-prefill",
      "class": "api-fact",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "Prefilling the assistant turn to force JSON.",
      "models": "All Claude 4.6+ models",
      "why": "Ending your messages array with an assistant turn returns a 400 on every current Claude model. The old trick of seeding '{\"name\": \"' is gone.",
      "instead": "Use structured outputs — pass a JSON schema in output_config.format — or just say \"respond with JSON only, no preamble.\""
    },
    {
      "id": "default-to-flagship",
      "class": "market",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "Defaulting every call to the flagship tier.",
      "models": "GPT-5.6",
      "why": "Sol, Terra and Luna score 64.6% / 63.4% / 62.7% on SWE-bench Pro. That's a 2-point spread across a 20x price difference. Routing everything to Sol is the easy mistake and an expensive one.",
      "instead": "Start on Luna, move up only where your evals show the quality difference actually reaches the output. Since Sol's August price cut, Terra is the more interesting default."
    },
    {
      "id": "version-bump-regression",
      "class": "market",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "Assuming a higher version number is strictly better.",
      "models": "Grok 4.5 and 4.6",
      "why": "Grok 4.5 halved the context window from 4.3's 1M to 500K and dropped native video input entirely; 4.6 kept both of those trades. It's a line optimised for coding, not a straight upgrade — if you built on either capability, 4.3 is still the model you want.",
      "instead": "Check the spec sheet on every bump. Stay on the older model when it does the thing you actually need."
    },
    {
      "id": "waiting-for-gemini-35",
      "class": "market",
      "verified_on": "2026-08-30",
      "retracted_on": null,
      "retraction_note": null,
      "stop": "Waiting for Gemini 3.5 Pro before committing to a Gemini workflow.",
      "models": "Gemini",
      "why": "It was announced at I/O in May, promised for June, then July 17, and as of the end of August it is still absent from Google's model catalogue, pricing page and changelog. Meanwhile Flash has shipped twice.",
      "instead": "Build on 3.7 Flash for volume and 3.1 Pro for depth. Treat 3.5 Pro as an upgrade you'll take when it arrives, not a plan."
    }
  ],
  "expired": false,
  "days_remaining": 101
}