Forced Analogy / Structural Transplant — map the problem onto a structurally similar system from a distant domain (immune system, air-traffic control, restaurant kitchen, jazz ensemble) and transfer its mechanisms back. Use when a solution works but feels derivative, when the industry playbook is exhausted, or when a system in nature or another trade already solves this shape of problem. Triggers include "analogy", "forced analogy", "how would a hospital/kitchen/airport handle this", "transplant from another industry", "structurally similar system". Do NOT use for analytical work like debugging, code review, or implementation tasks.
npx skills add https://github.com/danium/lateral-thinking --skill analogy
Take the problem, strip it down to its bare structure — who the actors are, what flows between them, where it jams — and find a system in a distant domain that has the same shape. An immune system, an air-traffic control tower, a restaurant kitchen at dinner rush. Then ask what that system *does* about the jam that you don't, and carry the mechanism back as a concrete idea. The point is distance: the further the source domain sits from your problem, the more its solutions will look nothing like the ones already on your whiteboard.
Source: Synectics (William J.J. Gordon, *Synectics: The Development of Creative Capacity*, 1961), specifically the "direct analogy" operation; widely used in biomimicry and TRIZ-adjacent practice.
A valid target is a concrete creative or design problem: how to grow something, how to route something, how to redesign a process or a system. If it is unclear, ask one focused question — "What's the system you're trying to reshape, and where does it jam?"
Refuse requests to *perform* analytical work — debugging, reviewing code, implementing a change — and suggest an analytical approach instead. Redesigning or ideating about such a process is a valid creative target: "reinvent our code-review ritual" is in scope; "review this PR" is not.
Reduce the target to actors, flows, and the bottleneck. No domain vocabulary, no solution language — just the shape. For example: "many independent producers, one congested channel, quality varies." This sentence is the load-bearing part of the whole technique; if it still names your industry, it is not abstract enough yet.
Pull from references/domain-pool.md. Choose domains whose structural property matches the sentence from Step 2, not domains that sound related to your problem. Mix at least one biological, one operational, and one social/cultural so the transplants come from genuinely different logics. Never run more than five in a batch.
For each domain, do two things in order:
After the batch, look across the mechanisms that transferred well and name the structural insight they share — "every domain that helped treated the bottleneck as a *routing* problem, not a *volume* problem." State it explicitly. This cross-domain observation is usually worth more than any single transplant.
Pick the sharpest transplants. Say which are weak and why. Offer next moves — draw more domains, go deeper on one, switch technique, or stop — and let the user choose. Never push the user to commit.
One-forced-role rule. A clean mapping costs you one metaphorical leap. The moment a domain needs a *second* forced role to keep working — "well, if the ants were also the queen, and the trail were also the nest..." — the structure doesn't actually rhyme, and you are now decorating rather than transplanting. Abandon it visibly and say why.
Surface analogies are named and dropped. A domain that shares *vocabulary* with your target but not *structure* is the most seductive trap and the most useless. Call it out as surface-level and drop it. A batch where every domain transfers cleanly is a tell that the output is being retrofitted; expect at least one honest abandonment.
When no domain rhymes. If every domain needs a second forced role, the fault is usually the Step 2 sentence, not the domains. Rewrite it once. If the rewrite still names no bottleneck, stop drawing domains — name the diagnosis, suggest the technique that fits it as the user's next move, and stop there rather than running it yourself:
concept-fan, which climbs until the real problem appears.random-stimulus, which needs no structural rhyme to make a jump.references/domain-pool.md — structurally rich source domains to draw from, with the transferable property of eachreferences/worked-example.md — a real session showing the full shape, one genuine abandonment includedTake danium/analogy from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.