skills/kephart-chess-2003-autonomic-computing/SKILL.md
IBM's autonomic computing vision for self-managing systems with self-configuration, healing, optimization, and protection
npx skillsauth add curiositech/windags-skills kephart-chess-2003-autonomic-computingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
license: Apache-2.0
Load this skill when encountering:
This skill reveals a systemic analysis of why bad design persists: not because designers lack knowledge, but because users lack the awareness to demand better. It shifts focus from designer education to public consciousness-raising.
Users have learned to attribute system failures to personal inadequacy rather than design flaws. This self-blame ("I'm not good with computers") creates a vicious cycle:
Key insight: The problem isn't that designers don't know better; it's that users don't expect better.
Manufacturers optimize for "a bit better" across multiple dimensions (features, coolness, novelty) rather than excellence in any single dimension, because that's what the market rewards.
Key insight: The market doesn't fail—it responds perfectly to user expectations. Change the expectations, change the market.
The target audience for HCI advocacy must expand beyond designers to include the general public. Users need to understand:
Key insight: Public education is infrastructure for better design. An educated, demanding public creates market conditions where excellence becomes profitable.
Change doesn't happen through top-down pronouncements but through cascading awareness in networks:
Key insight: Treat consciousness-raising like a network protocol, not a broadcast message.
True internalization of these ideas produces a fundamental perspective change:
Key insight: Education succeeds when people can't go back to their old way of thinking.
| File | Load When... |
|------|--------------|
| blame-attribution-and-system-accountability.md | User exhibits self-blame for system failures; need to understand the fundamental misattribution problem and why users say "Sorry, I'll only break it"; designing agent responses to user apologies |
| user-accommodation-as-failure-signal.md | Observing user workarounds, adaptations, or learned behaviors around system limitations; need to recognize invisible failure signals; evaluating what user feedback actually means |
| marginal-improvement-trap.md | Discussing why incremental updates don't solve core problems; product strategy debates about features vs. redesign; understanding market dynamics that reward "good enough"; analyzing competitive positioning strategies |
| rapid-obsolescence-and-persistent-problems.md | Problems persist across product generations; rapid replacement cycles prevent learning from failures; understanding why some issues never get fixed despite multiple versions |
| distributed-influence-and-consciousness-raising.md | Planning advocacy or educational campaigns; need strategies for changing public awareness; designing multi-channel influence approaches; understanding how cultural shifts happen |
| teaching-getting-it.md | Designing educational experiences about technology and design; assessing whether learning objectives aim at cognitive shift vs. skill transfer; evaluating if someone has truly internalized vs. superficially understood these ideas |
❌ Designer Saviorism
❌ Corporate Villain Narrative
❌ User Training as Solution
❌ Accepting User Self-Blame
❌ Top-Down Change Models
❌ Marginal Optimization Trap
❌ Expertise Gatekeeping
True internalization shows when someone cannot unsee the blame attribution problem. They become unable to hear "I'm not good with technology" without recognizing it as evidence of systemic failure. They've undergone the cognitive shift they now want to catalyze in others.
This skill provides the mental models to recognize and interrupt the cycle where poor design persists because users have learned to blame themselves. It shifts focus from designer education to public consciousness-raising, treating user expectations as the fundamental infrastructure for better technology.
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.