thinking-feedback-loops
Skill2 starsChanged 9 months agoMITView on GitHub
Analyze systems using Donella Meadows' feedback loop framework to identify reinforcing loops, balancing loops, delays, and leverage points. Use for organizational dynamics, product growth design, debugging runaway or oscillating systems, and finding high-impact interventions.
In this repository38 other files it gives its agents.
- thinking-archetypesSkill
- thinking-bayesianSkill
- thinking-bounded-rationalitySkill
- thinking-circle-of-competenceSkill
- thinking-cynefinSkill
- thinking-debiasingSkill
- thinking-dual-processSkill
- thinking-effectuationSkill
- thinking-fermi-estimationSkill
- thinking-first-principlesSkill
- thinking-five-whys-plusSkill
- thinking-inversionSkill
- thinking-jobs-to-be-doneSkill
- thinking-kepner-tregoeSkill
- thinking-leverage-pointsSkill
- thinking-lindy-effectSkill
- thinking-map-territorySkill
- thinking-margin-of-safetySkill
- thinking-model-combinationSkill
- thinking-model-routerSkill
- thinking-model-selectionSkill
- thinking-occams-razorSkill
- thinking-oodaSkill
- thinking-opportunity-costSkill
- thinking-pre-mortemSkill
- thinking-probabilisticSkill
- thinking-red-teamSkill
- thinking-regret-minimizationSkill
- thinking-reversibilitySkill
- thinking-scientific-methodSkill
- thinking-second-orderSkill
- thinking-socraticSkill
- thinking-steel-manningSkill
- thinking-systemsSkill
- thinking-theory-of-constraintsSkill
- thinking-thought-experimentSkill
- thinking-trizSkill
- thinking-via-negativaSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 369
Follow the arrows back to starting point.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Feedback Loop Analysis
Overview
Feedback loop analysis, developed by Donella Meadows in "Thinking in Systems," provides a rigorous framework for understanding how systems behave over time. All dynamic systems—software, organizations, markets, products—are driven by feedback loops that either amplify change (reinforcing) or stabilize toward goals (balancing). Understanding these loops reveals why systems grow, collapse, oscillate, or resist change.
Core Principle: System behavior emerges from feedback structure. To change behavior, change the loops.
When to Use
- Analyzing organizational dynamics (growth, stagnation, dysfunction)
- Designing product growth loops and retention mechanisms
- Debugging systems exhibiting runaway growth or collapse
- Understanding why a system oscillates instead of stabilizing
- Finding high-leverage intervention points
- Predicting unintended consequences of changes
- Understanding why "obvious" fixes fail or backfire
Decision flow:
System behavior is puzzling or problematic?
→ Is it growing/shrinking unexpectedly? → Look for REINFORCING LOOPS
→ Is it oscillating around a target? → Look for DELAYS in BALANCING LOOPS
→ Is it stuck/resistant to change? → Look for dominant BALANCING LOOPS
→ Need to intervene effectively? → Find LEVERAGE POINTSCore Concepts
1. Reinforcing Loops (Positive Feedback)
Reinforcing loops amplify change in the same direction—growth or decline. They create exponential behavior: the more you have, the more you get (or lose).
Structure: A → increases B → increases A (or: A → decreases B → decreases A)
┌─────────────────────────────────────────────────────────┐
│ REINFORCING LOOP (R) │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ Users │───(+)──▶│ Content │ │
│ └──────────┘ └────┬─────┘ │
│ ▲ │ │
│ │ (+) │
│ │ │ │
│ └────────────────────┘ │
│ │
│ More users → More content → More users (Growth) │
│ OR: Fewer users → Less content → Fewer users (Death) │
└─────────────────────────────────────────────────────────┘Characteristics:
- Exponential growth or collapse
- Self-fulfilling prophecies
- "Rich get richer" dynamics
- Virtuous cycles (when beneficial)
- Vicious cycles (when harmful)
Software/Product Examples:
Network Effect Loop:
Users → Value to other users → More users → More value
(Slack, social networks, marketplaces)
Technical Debt Loop:
Shortcuts → Bugs → Firefighting → Less time → More shortcuts
(Vicious cycle toward collapse)
Learning Loop:
Practice → Skill → Confidence → More practice → More skill
(Virtuous cycle of improvement)
Viral Growth Loop:
Users → Invitations → New users → More invitations
(Product-led growth)2. Balancing Loops (Negative Feedback)
Balancing loops counteract change, pushing the system toward a goal or equilibrium. They create goal-seeking behavior.
Structure: Gap between actual and goal → corrective action → reduces gap
┌─────────────────────────────────────────────────────────┐
│ BALANCING LOOP (B) │
│ │
│ ┌──────────┐ ┌──────────┐ │
│ │ Goal │ │ Actual │ │
│ │ State │ │ State │ │
│ └────┬─────┘ └────┬─────┘ │
│ │ │ │
│ └──────────┬────────────────────┘ │
│ ▼ │
│ ┌──────────┐ │
│ │ Gap │ │
│ └────┬─────┘ │
│ │ │
│ (-) │
│ ▼ │
│ ┌────────────┐ │
│ │ Corrective │ │
│ │ Action │────────▶ Closes gap │
│ └────────────┘ │
└─────────────────────────────────────────────────────────┘Characteristics:
- Goal-seeking behavior
- Resistance to change
- Stability (when working well)
- Oscillation (when delays exist)
Software/Product Examples:
Auto-scaling Loop:
Load increases → Gap from target → Scale up → Load per instance decreases
(Goal: maintain target response time)
Thermostat Pattern:
Temperature differs from setpoint → HVAC adjusts → Temperature approaches setpoint
(Goal-seeking to maintain state)
Hiring Loop:
Work exceeds capacity → Hire → Capacity increases → Work/person normalizes
(Goal: sustainable workload)
Quality Gate Loop:
Defects detected → Review/fix required → Quality improves → Fewer defects
(Goal: maintain quality standards)3. Delays
Delays are the time between cause and effect. They are the primary source of oscillation and instability in systems.
┌─────────────────────────────────────────────────────────┐
│ DELAY EFFECTS │
│ │
│ Action ───────[DELAY]─────────▶ Effect │
│ │
│ Short delay: System responds smoothly │
│ Long delay: Overshoot and oscillation │
│ │
│ Examples: │
│ • Code deploy → [Cache TTL] → Users see change │
│ • New hire → [Ramp-up time] → Productivity impact │
│ • Feature ship → [Adoption] → Metric movement │
│ • Training → [Skill development] → Performance gain │
└─────────────────────────────────────────────────────────┘Why Delays Cause Oscillation:
Without delay:
Gap detected → Correction → Gap closes → Done
With delay:
Gap detected → Correction → [DELAY] → Gap persists →
More correction → [DELAY] → Original correction arrives →
Overshoot → Gap in opposite direction → OscillationClassic Example: Shower Temperature
Too cold → Turn hot → [Delay: water travels through pipes] →
Still cold → Turn hotter → Hot water arrives → Too hot! →
Turn cold → [Delay] → Still hot → Turn colder →
Cold water arrives → Too cold! → Oscillation continuesCommon System Patterns
Pattern 1: Exponential Growth
Structure: Single dominant reinforcing loop
┌─────────┐ ┌─────────┐
│ Revenue │─(+)─▶│ Invest- │
│ │ │ ment │
└────▲────┘ └────┬────┘
│ │
(+) (+)
│ │
└────────────────┘
GrowthBehavior: J-curve growth (or collapse if running in reverse)
Examples:
- Startup hypergrowth phase
- Viral spread
- Compounding interest
- Technical debt accumulation
Intervention: Find or create balancing loops before runaway
Pattern 2: Goal-Seeking (with Oscillation)
Structure: Balancing loop with significant delay
┌────────┐ ┌────────┐
│ Goal │ │ Actual │
└───┬────┘ └───┬────┘
│ │
└───────┬───────┘
▼
[Gap]
│
(-)
│
▼
┌────────────┐
│ Correction │───[DELAY]───▶ Effect
└────────────┘Behavior: Oscillation around goal, amplitude depends on delay length
Examples:
- Inventory management (bullwhip effect)
- Hiring cycles (overhire → layoffs → understaffed → overhire)
- Feature prioritization swings
- Performance optimization iterations
Intervention: Shorten delays, reduce correction magnitude, accept longer settling time
Pattern 3: Limits to Growth
Structure: Reinforcing loop eventually hits a balancing constraint
┌─────────────────────────────────────┐
│ │
▼ │
┌────────┐ ┌─────┴────┐
│ Growth │──(+)──▶ Success ──(-)──▶│ Resource │
│ Effort │ │ Limit │
└────────┘ └──────────┘
│
└──(+)──▶ Results (initially)Behavior: S-curve—growth, plateau, then stagnation or decline
Examples:
- Market saturation
- Team scaling limits
- System capacity constraints
- Feature exhaustion
Intervention: Identify and address the constraint before hitting it
Pattern 4: Shifting the Burden
Structure: Symptomatic solution undermines fundamental solution
┌──────────────┐
│ Problem │
│ Symptom │
└──────┬───────┘
│
┌────────────┼────────────┐
▼ │ ▼
┌───────────┐ │ ┌───────────────┐
│ Quick │ │ │ Fundamental │
│ Fix │ │ │ Solution │
└─────┬─────┘ │ └───────┬───────┘
│ │ │
(+) │ (+)
│ │ │
▼ │ ▼
Symptom relief ────────┘ Root cause fixed
│ ▲
(-) │
▼ │
Motivation to ─────────────────────┘
fix root causeBehavior: Addiction to quick fixes; fundamental capability atrophies
Examples:
- Heroic firefighting vs. systemic reliability
- Overtime vs. hiring/process improvement
- Manual workarounds vs. automation
- External consultants vs. internal capability
Intervention: Deliberately invest in fundamental solution while managing symptoms
Pattern 5: Escalation (Arms Race)
Structure: Two competing reinforcing loops
┌─────────┐ ┌─────────┐
│ Party A │──▶ │ Party B │
│ Action │ ▲ │ Action │
└────┬────┘ │ └────┬────┘
│ │ │
(+) │ (+)
│ │ │
└───────┴────────┘
ThreatBehavior: Mutual escalation until resource exhaustion or intervention
Examples:
- Feature wars between competitors
- Meeting proliferation
- Process/bureaucracy accumulation
- Alert fatigue spirals
Intervention: Break the loop through agreement, constraint, or reframing
Identifying Loops in Systems
Step 1: Map the Variables
List all relevant quantities that change over time:
Team productivity system:
- Team size
- Individual workload
- Code quality
- Technical debt
- Bug rate
- Firefighting time
- Feature velocity
- MoraleStep 2: Draw Causal Connections
For each pair, ask: "Does A affect B? In which direction?"
(+) Same direction: A increases → B increases, A decreases → B decreases
(-) Opposite direction: A increases → B decreasesStep 3: Trace the Loops
Follow the arrows back to starting point. Count the negative signs:
Even number of (-) = Reinforcing loop
Odd number of (-) = Balancing loopStep 4: Identify Dominant Loops
The system behavior is driven by currently dominant loops:
- Growing exponentially? Reinforcing loop dominates
- Oscillating? Balancing loop with delay
- Stable? Balancing loop working well
- Declining? Reinforcing loop in reverse
Leverage Points
Donella Meadows' hierarchy of intervention effectiveness (increasing power):
| Level | Intervention | Example | Impact |
| 12 | Constants/parameters | Adjust timeout values | Lowest |
| 11 | Buffer sizes | Increase queue limits | Low |
| 10 | Stock-flow structure | Add caching layer | Low |
| 9 | Delays | Shorten feedback cycles | Medium |
| 8 | Balancing loop strength | Improve monitoring | Medium |
| 7 | Reinforcing loop gain | Amplify growth drivers | Medium-High |
| 6 | Information flows | Make metrics visible | High |
| 5 | System rules | Change deployment policy | High |
| 4 | Self-organization | Enable team autonomy | Very High |
| 3 | System goals | Redefine success metrics | Very High |
| 2 | Paradigm/mindset | Shift from output to outcomes | Transformational |
| 1 | Transcend paradigms | Question the frame itself | Highest |
Key insight: Most interventions happen at levels 10-12 (parameters). The highest leverage is in goals, rules, and mental models.
Application Framework
Analyzing a Problematic System
## Feedback Loop Analysis: [System Name]
### Current Behavior
[Describe: growing, declining, oscillating, stuck]
### Key Variables
- [List stocks and flows]
### Loop Diagram
[Draw or describe the loops]
### Identified Loops
| Loop Name | Type | Variables | Currently Dominant? |
|-----------|------|-----------|---------------------|
| | | | |
### Delays Present
| Delay | Duration | Effect |
|-------|----------|--------|
| | | |
### Leverage Points
| Level | Intervention | Expected Effect |
|-------|-------------|-----------------|
| | | |
### Recommended Intervention
[Highest-leverage, lowest-risk option]Designing a Growth System
## Growth Loop Design: [Product/System]
### Core Reinforcing Loop
[User action] → [Value created] → [Trigger for more users] → [More user action]
### Supporting Loops
[Additional loops that feed the core]
### Balancing Constraints
[What limits growth and when it kicks in]
### Delays to Minimize
[Where feedback needs to be faster]
### Metrics to Monitor
[Leading indicators of loop health]Integration with Systems Thinking
This skill extends the thinking-systems skill by providing:
- Specific loop identification techniques (vs. general systems mapping)
- Meadows' leverage point hierarchy (vs. general intervention ideas)
- Pattern library (exponential, oscillating, limits to growth, etc.)
- Delay analysis methodology (root cause of oscillation)
Use together:
thinking-systems: Map the overall system structurethinking-feedback-loops: Identify and analyze specific loopsthinking-second-order: Trace consequences of interventionsthinking-pre-mortem: Identify loops that could cause failure
Verification Checklist
- Identified key variables that change over time
- Mapped causal connections with direction (+/-)
- Traced at least one reinforcing loop
- Traced at least one balancing loop
- Identified significant delays
- Determined currently dominant loop
- Identified leverage points at multiple levels
- Selected intervention with appropriate leverage
- Considered unintended effects of intervention
Key Questions
- "What feeds back into itself here?"
- "Is this self-reinforcing or self-correcting?"
- "What's the goal this system is seeking?"
- "Where are the delays, and how long are they?"
- "Which loop is currently dominant?"
- "What would shift dominance to a different loop?"
- "What's the highest-leverage intervention available?"
- "If I change X, what loops are affected?"
Meadows' Wisdom
"We can't control systems or figure them out. But we can dance with them."
"The least obvious part of the system, its function or purpose, is often the most crucial determinant of the system's behavior."
"Pay attention to what is important, not just what is quantifiable."
Systems are not puzzles to be solved but patterns to be understood and influenced. Effective intervention requires humility about control and attention to feedback.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

