thinking-lindy-effect — Claude Code skill: pick tech that lasts
A skill that turns a technology's age into an argument for the proven option. Useful when choosing a language, framework or database for the long run.
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a claude-codeWhat thinking-lindy-effect does
The skill applies the Lindy effect: for non-perishable things, expected remaining life scales with how long they have already survived. The agent records the survival age, forms a prior from it, and only then checks whether the domain has drifted.
It runs as a procedure. First it confirms the target is non-perishable — a concept, technology or practice. Vendors and devices fall outside; for those it scores fit and risk only. Then it records the first significant production use and current age, forms the prior, runs the drift checks, and assigns a burden of proof to the newer option.
The output is a block listing options with ages and priors, a drift note, the decision, and one line per rejected option. It also states the impact if the prior is wrong and any fallback. Throwaway prototypes and bets on specific SaaS vendors are out of scope, because fit and exit cost dominate there. And age predicts further survival, not best fit for a new requirement — worth checking before you let an old habit answer a fresh question.
What it helps with
- pick a language or framework you won't have to replace next year
- separate a long-lived technology from a vendor product
- justify the proven option to your team
- spot a paradigm shift that weakens old evidence
- name a fallback in case the bet does not pay off
Example prompts for the agent
- Help me choose a database for a service that will run for years — apply the Lindy effect
- Compare these two frameworks by expected remaining life and check for domain drift
- New tool versus the proven one: assign the burden of proof and decide
How to install thinking-lindy-effect
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a claude-code2Manually: put the files in place
~/.claude/skills/thinking-lindy-effect/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/thinking-lindy-effect/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a codex2Manually: put the files in place
.agents/skills/thinking-lindy-effect/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a cursor2Manually: put the files in place
.cursor/skills/thinking-lindy-effect/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tjboudreaux/cc-thinking-skills thinking-lindy-effect2Manually: put the files in place
.github/skills/thinking-lindy-effect/SKILL.md1Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a gemini-cli2Platform CLI
gemini skills install https://github.com/tjboudreaux/cc-thinking-skills --path skills/thinking-lindy-effectManually: put the files in place
.devin/skills/thinking-lindy-effect/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about thinking-lindy-effect
How do I install thinking-lindy-effect in Claude?
Run npx skills add tjboudreaux/cc-thinking-skills --skill thinking-lindy-effect -a claude-code. The skill lands at ~/.claude/skills/thinking-lindy-effect/SKILL.md.
What does thinking-lindy-effect do?
It derives expected remaining life from a technology's current age and checks whether the problem domain has shifted. The agent then favors the proven option or accepts the newer one with a stated reason.
When should I not use this skill?
For perishable targets: specific SaaS vendors, hardware, or products that can shut down regardless of how old the idea is. Also for throwaway prototypes, where fit and speed matter more.
Source text
SKILL.md · MIT
--- name: thinking-lindy-effect description: Use when longevity of a non-perishable option matters. Treat survival duration as a remaining-life prior, then check domain drift before favoring the proven. disable-model-invocation: true --- # Lindy Effect For non-perishable ideas, technologies, and practices, expected remaining life scales with current survival age. Prefer proven survivors unless the new option clears a burden of proof or the domain has drifted. ## When to Use - Choosing languages, frameworks, databases, protocols, patterns, or dependencies where long-term survival matters. - Skill or architecture bets whose value depends on lasting relevance. - Ranking options when ages differ materially and the choice outlives a short experiment. ## When NOT to Use - Perishable targets: specific SaaS vendors, hardware, fashion, or products that can shut down regardless of concept age. - Active paradigm discontinuity where age in the old regime is weak evidence. - Throwaway work where longevity is irrelevant — optimize for fit and speed. - Treating "older" as "optimal for a new requirement"; survival predicts further survival, not best fit. ## Procedure 1. **Confirm non-perishable scope.** Concept/tech/practice continues; vendor/device → score fit/risk only and stop. 2. **Record survival age.** First significant production use and current age (ecosystem-relative if the ecosystem is young). 3. **Form the Lindy prior.** Expected remaining life ≈ current age; mark confidence from age and continued active use. 4. **Run domain-drift checks.** Problem class changed? Paradigm shift invalidating old assumptions? New option uniquely closes a real present gap? 5. **Assign burden of proof.** Default to the older adequate option. Accept newer only for a stated necessary advantage the Lindy option cannot meet at acceptable cost. 6. **Decide with residual risk.** Pick primary; note impact if the prior is wrong and any fallback. **Stop condition:** Primary chosen with age prior, drift check, and why new did or did not meet burden of proof. ## Output ```text Options: <name, age, Lindy prior> Drift: stable | discontinuous — <note> Burden: on new | waived because <gap> Decision: <primary> Rejected: <one line each> If Lindy wrong: <impact + fallback> ``` ## Verification - Falsify if age was used without non-perishable scope, or a paradigm shift was ignored. - Falsify if a new option was rejected solely for youth despite a documented necessary gap. - Over-application guard: skip throwaway prototypes and perishable vendor bets where fit and exit cost dominate.
© tjboudreaux · MIT · tjboudreaux/cc-thinking-skills