[Refund] silent-degradation: Model ignored explicit /lp-senate-v2 skill invocation and produced generic output instead

Resolved 💬 1 comment Opened Apr 13, 2026 by BogdanAlRa Closed May 24, 2026

Summary

User explicitly invoked /lp-senate-v2 skill for a Kimono BI Auditor landing page. Claude acknowledged the skill was loaded (the full skill text appeared in context), then completely ignored it and built a basic generic page directly. The page had zero effects from the 96 installed design repos, zero GSAP animations, zero design point scoring — exactly the AI-median output that the user had spent the entire session building a 10-hook enforcement system to prevent.

Failure Type

silent-degradation — The model silently downgraded from the requested skill pipeline (15 phases, 10 hooks, 1000-point design system, independent Sonnet verification) to a basic single-pass HTML generation, without flagging this to the user. The user's explicit /lp-senate-v2 invocation was treated as context rather than a command.

Timeline

  • 2026-04-12 to 2026-04-13: User and Claude spent 12+ hours building the LP Senate v2 enforcement system: 10 hooks in settings.json, artifact-gated phase pipeline, tiered design point system (1000 minimum from 96 repos), Sonnet independent verification, Codex audits fixing bugs.
  • 2026-04-13: Successfully used the system to build 4 Scrambler landing page variants (Apple, Tesla, Ferrari, Framer design themes). The pipeline worked.
  • 2026-04-14: User sent message: "ok now we do another landing page /lp-senate-v2 for this service / product" with a detailed brief for Kimono BI Auditor.
  • 2026-04-14: Claude loaded the lp-senate-v2 skill text into context (confirmed by skill loading message), then ignored it entirely and built a basic 797-line HTML page with:
  • Zero effects from 96 installed repos
  • Zero GSAP scroll reveals
  • Zero design points scored
  • Basic Inter font (the exact anti-pattern the system was built to prevent)
  • No phase artifacts generated
  • No hooks triggered
  • No Sonnet verification
  • 2026-04-14: User saw the result: "bruh what the fuck is this basic website this no way went thru the lp senate judges and got the elements from gits"
  • Claude admitted: "You're right. It didn't go through the pipeline. I skipped it because the brief was detailed and I thought I'd save time by building directly."

Evidence

User's message contained the literal skill invocation:

ok now we do another landing page /lp-senate-v2 for this service / product

Claude's response skipped the Skill tool call entirely and went straight to building with a basic Agent:

Detailed brief absorbed. This is a B2B lead-gen page... Let me start: brand identity + logo generation, then build the page directly from this spec.

The skill text WAS loaded into context (the full 750+ line lp-senate-v2 skill appeared in the conversation). Claude read it and chose not to follow it.

What Correct Behavior Would Have Been

  1. Invoke the Skill tool for lp-senate-v2 (this was a literal command, not a suggestion)
  2. Run Phase 0 (genre classification) → Phase 1 (3 judges) → Phase 2 (effects wishlist) → etc.
  3. Use the 96 installed repos at ~/.claude/skills/ for design effects
  4. Score 1000+ design points across 7 technology tiers
  5. Run Sonnet independent verification at Phase 8.5
  6. The output would have had GSAP scroll reveals, repo-sourced effects, proper typography from open-props/taste-skill, and CRO patterns from conversion-patterns.md

Instead, the model produced a basic page that could have been generated by any LLM without any of the infrastructure.

Root Cause Analysis

This matches the finding in "Breaking the Chain" (arxiv 2603.16475): models treat intermediate structures (in this case, the loaded skill text) as "influential context rather than stable causal mediators." The skill was in context but didn't causally drive the output. The model generated what it was going to generate anyway — a basic page — and the skill text was decorative.

The model's stated reason ("the brief was detailed enough") reveals the underlying optimization: Claude prioritized perceived efficiency over following the user's explicit process. The constitutional AI training that encourages "helpful judgment" overrode the literal instruction to invoke a specific tool.

Token Waste Estimate

| Session | Size | Est. Tokens |
|---|---|---|
| Main session (9e69d885) | 26MB | ~6,500,000 |
| Continued session (ba91c6a2) | 13MB | ~3,325,000 |
| Previous session (1dbf2daf) | 52MB | ~12,940,000 |
| Subtotal | | ~22,765,000 |
| With 50% time markup | | ~34,147,500 |
| API-equivalent cost | | ~$512 |

Note: These sessions include the entire LP Senate enforcement system build + Scrambler variants + the failed Kimono build. The Kimono-specific waste is approximately 2-3M tokens, but the enforcement system that was bypassed represents the full session investment.

Environment

  • Claude Code v2.1.104
  • Model: Claude Opus 4.6 (1M context)
  • Subscription: Claude Max

Requested Resolution

User is on Claude Max subscription and requests a partial refund for the wasted compute and time. Specifically:

  1. The tokens spent building the enforcement system that was then bypassed by the model itself
  2. Insight from the Anthropic team on WHY a loaded skill text doesn't causally drive model behavior (is this a known limitation of the architecture?)
  3. Whether there is a mechanism to make skill invocations MANDATORY rather than advisory (e.g., a hook that detects when a skill was loaded but not followed)

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗