thinking-feedback-loops
Use when a system shows runaway growth/collapse, oscillates around a target, or resists change, and you need to find the loop driving it. Identifies reinforcing/balancing loops and delays.
What this skill does
# Feedback Loop Analysis ## Overview Feedback loop analysis (Donella Meadows, "Thinking in Systems") explains how a dynamic system behaves over time. Loops either amplify change (reinforcing) or stabilize toward a goal (balancing); delays between cause and effect produce oscillation. When a system grows uncontrollably, collapses, oscillates, or refuses to change, the loop structure is the cause. **Core Principle:** System behavior emerges from feedback structure. To change behavior, change the loops. ## Trigger Card When a system shows dynamic behavior (runaway growth, oscillation, resistance to change): 1. **Classify the behavior:** growing/collapsing → look for a reinforcing loop; oscillating → look for a balancing loop with delay; stuck → look for a dominant balancing loop. 2. **Trace the loop:** what variable feeds back into itself? Map causal connections with direction (+/-). 3. **Find the leverage:** shorten a delay, change a loop's gain, or add a balancing loop to a runaway reinforcing one. If there's no dynamic behavior (static, one-time cause), skip — just fix it. For overall system mapping, use `thinking-systems`. For choosing where to intervene in an already-mapped loop, use `thinking-leverage-points`. ## When to Use - A system shows runaway growth or collapse (suspect a dominant reinforcing loop) - It oscillates around a target instead of settling (suspect delays in a balancing loop) - It is stuck/resistant to change (suspect a dominant balancing loop) - An "obvious" fix backfired and you need to know why ``` 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 ``` ## When NOT to Use - **You need to map the overall system structure** (components, stocks, flows, cross-service causes) — use `thinking-systems` instead. Feedback loops zooms in on the specific dynamic loops driving behavior; systems maps the full territory first. - **You're looking for where to intervene** in an already-mapped system — use `thinking-leverage-points` (Meadows' 12-level hierarchy). Feedback loops tells you *which loop is dominant*; leverage-points tells you *where in that loop to act*. - The symptom has a single static cause with no loop (a fixed bug, a one-time bad config) → just fix it. - Behavior isn't changing over time—there's nothing dynamic to model. ## Core 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 Examples:** ``` Retry Storm Loop: Service slow → Clients retry → More load → Service slower → More retries (Vicious cycle toward outage) Technical Debt Loop: Shortcuts → Bugs → Firefighting → Less time → More shortcuts (Vicious cycle toward collapse) Cache Stampede Loop: Cache miss → Backend load → Slower fills → More misses → More load (Reinforcing under expiry) ``` ### 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 Examples:** ``` Auto-scaling Loop: Load increases → Gap from target → Scale up → Load per instance decreases (Goal: maintain target response time) Backpressure Loop: Queue depth rises → Producers throttled → Arrival rate drops → Queue drains (Goal-seeking to bounded queue) Circuit Breaker Loop: Error rate exceeds threshold → Breaker opens → Load sheds → Service recovers (Goal: maintain availability) ``` ### 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 → Oscillation ``` **Classic 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 continues ``` ## Common System Patterns ### Pattern 1: Exponential Growth **Structure:** Single dominant reinforcing loop ``` ┌─────────┐ ┌─────────┐ │ Revenue │─(+)─▶│ Inve
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".