From thinking-frameworks-skills
Produces explicit component-by-component mappings from analogy source domains to target technical concepts, rejecting vague ones by flagging unmapped elements and checking relational systematicity.
npx claudepluginhub lyndonkl/claude --plugin thinking-frameworks-skillsThis skill uses the workspace's default tool permissions.
- [Workflow](#workflow)
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Related skills: Called by the Intuition Builder per framing, after generate-analogy-set and before stress-test-analogy. Gentner's structure-mapping theory is the theoretical spine: good analogies map relations, not just objects.
For one framing (source → target):
- [ ] Step 1: Enumerate the source domain's key components (entities + relations)
- [ ] Step 2: For each source component, propose the target component it maps to
- [ ] Step 3: Check systematicity — do the relations carry across, or only objects?
- [ ] Step 4: Flag any source component that maps to nothing concrete (vague mapping = reject)
- [ ] Step 5: Return the mapping table
A strong analogy preserves the pattern of relations, not just object-level similarity. Example:
If the framing only matches on objects (nouns), reject or downgrade.
Every source component must map somewhere. "It's like a brain" fails because "brain" is unmapped to anything specific in the target (neuron? cortex? entire NS?). Flag and reject.
source_domain: "library card catalog"
target_concept: "KV cache"
mapping:
- source: "library"
target: "the KV cache data structure"
relation: "contains"
- source: "drawer"
target: "cache slot"
relation: "capacity-bounded container"
- source: "card"
target: "(key, value) projection pair"
relation: "indexed entry"
- source: "lookup by drawer then card"
target: "retrieval by position in key tensor"
relation: "indexed retrieval"
- source: "eviction when drawers fill"
target: "LRU / FIFO eviction under context-length pressure"
relation: "replacement under capacity constraint"
systematicity_score: 4/5 # how well relations carry over
unmapped_source: none
unmapped_target: "the attention operation that reads this cache" # flagged — see stress-test
Framing: "Dropout is antibody diversity for weights."
Source components:
Target components:
Mapping:
| Source | Target | Relation |
|---|---|---|
| immune system | the trained neural network | generates patterns from a small genome/parameter set |
| antibody population | ensemble of thinned sub-networks | many variants tested in parallel |
| pathogen recognition | generalization on test data | performance on unseen inputs |
| V/D/J combinatorial generation | random dropout masks produce sub-network diversity | small seed → many variants |
Systematicity: 4/5 — the relation "small number of building blocks → large functional diversity" carries across. The one break: actual biological V/D/J has selection (negative selection in thymus), which dropout doesn't do. Flag.
generate-analogy-set. This skill only maps.