skills/stress-test-analogy/SKILL.md
--- name: stress-test-analogy description: Stress-tests a proposed analogy by finding the edge where the mapping breaks, then frames that break as a teaching opportunity the writer can fold into the post. Every analogy has a boundary; the writer's style treats that boundary as a feature. Use after generate-analogy-set and map-analogy-to-concept, for each framing. Trigger keywords: where does it break, stress-test, boundary, edge case, fold the break, analogy limits. --- # Stress Test Analogy #
npx skillsauth add lyndonkl/claude skills/stress-test-analogyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Related skills: Called by the Intuition Builder per framing. Input is one framing (source + target + mapping from map-analogy-to-concept). Output feeds the final artifact's "Where it breaks" section for each framing and the Technical Reviewer's flag-boundary-break on drafts.
For one framing (source → target + mapping):
- [ ] Step 1: Identify the mapping's weakest link — which source-component-to-target-component pairs are forced?
- [ ] Step 2: Generate 2-3 edge cases where the forced pair fails
- [ ] Step 3: Write the boundary as one or two sentences — specific and named
- [ ] Step 4: Propose a "fold" — how the writer turns this break into content in the draft
- [ ] Step 5: Rate fold value: high | medium | low (high = the break is its own paragraph or sub-section)
The boundary sentence should be specific enough that the reader could verify it. Good: "The drawer metaphor implies physical contiguity in memory, but a KV cache is logically indexed, not physically contiguous." Bad: "The analogy doesn't quite work at scale."
The writer's voice turns boundary-breaks into features, not hidden flaws. A good fold says: "This is where the analogy stops working — and here's what's interesting about why." Propose one sentence for the writer to edit.
Analogies break in predictable ways:
Use these tags to classify the break type in the output.
Framing: "KV cache is a library card catalog with a fixed drawer count."
Mapping (from map-analogy-to-concept):
Stress test:
Boundary sentence: "The drawer metaphor captures capacity and lookup, but it hides two things: eviction dynamics under streaming decode (real drawers don't lose cards every turn) and the role of the cache as input to attention (a card catalog doesn't compute anything — a KV cache does)."
Proposed fold (for the writer): "Say upfront that the library image is for the shape of the thing, not the motion. Then let eviction be the paragraph that breaks the image — 'real drawers don't evict a card every time you add a new one; a KV cache does, which is where the analogy starts needing a second image.' That becomes the pivot."
Fold value: high. This break is a whole paragraph in the draft.
{boundary: str, break_type: str, fold: str, fold_value: high|medium|low}.development
--- name: zettel-note description: The note-writing discipline for this vault's evergreen knowledge graph, modeled on a Zettelkasten reading companion and governed by the vault conventions. Enforces declarative-claim titles, one claim per note (atomicity), own-words prose with no block quotes, the piped [[slug|Title]] link form, the labeled link-relationship vocabulary (Confirms/Contradicts/Extends/Context/Prerequisite/Builds-on/Applies/Example-of/Contrasts-with), 3-6 links per note, and search-
development
Plans between-round FIFA World Cup Fantasy transfers — budgets the round's free transfer(s), forces out players whose nation has been eliminated, chases fixture-swing drops, upgrades on value, and decides when a rebuild is large enough to fire the Wildcard instead of spending free transfers one at a time. Ranks candidate in/out pairs by EV gain over each player's remaining survival horizon (delta xEV weighted by progression_carry) MINUS transfer cost (a free transfer is cheap, a points hit is real, churning the squad for marginal swings is a critic flag), and tags forced/fixture/upgrade priority. Emits a `transfer-plan` signal. Use when called by wc-squad-architect (whose transfer work this skill is the engine for) and by the strategists in the populate stage when their candidate is transfer-adjacent rather than a full rebuild.
testing
Reads and updates the FIFA World Cup Fantasy tournament state machine (footballfantasy/context/tournament-state.md) — the temporal backbone tracking phase (pre-tournament → group MD1-3 → R32 → R16 → QF → SF → final), budget ($100m group / $105m knockouts), nation cap (3 group, loosening in knockouts), chips remaining, surviving nations, each owned player's elimination-risk horizon, and deadlines. Validates state on load (count/feasibility checks), applies phase transitions, and appends to the append-only state log (never silent overwrite). Use to load state at the start of a run and to commit state changes after the manager makes a move.
development
Validates and persists FIFA World Cup Fantasy signal files to signals/YYYY-MM-DD-<type>.md. Checks the required frontmatter (type, round, date, emitted_by, confidence, source_urls), range-checks declared numeric signals, confirms every factual claim carries a source URL or "manager-provided", rejects unknown signal types, and refuses to persist a signal that fails validation (logging the failure instead). Keeps the inter-agent signal layer auditable so downstream agents can trust what they read and never re-derive it. Use whenever an agent or skill writes a signal.