skills/simon-and-newell-human-problem-solving-theory-1971/SKILL.md
Foundational cognitive science theory of human problem-solving through heuristic search in problem spaces
npx skillsauth add curiositech/windags-skills simon-and-newell-human-problem-solving-theory-1971Install 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.
Intelligence = examining the right 50 nodes out of 10^100, not searching faster through millions. This skill provides L3 decision frameworks for when and how to apply selective search principles to agent systems.
IF agent examines >1000 nodes for problems with <10^6 states
├── THEN selectivity problem
├── Fix: Extract structural information for heuristics
└── NOT: Add more compute power
IF same problem solved easily with different representation
├── THEN problem space construction issue
├── Fix: Test alternative state representations
└── NOT: Optimize search within current representation
IF agent succeeds on similar problems but fails here
├── Check: Does current problem space expose task structure?
├── If NO: Reconstruct problem space
└── If YES: Refine heuristics for this structure
IF resource usage grows unbounded
├── THEN strategy exceeds architectural constraints
├── Fix: Switch to constraint-compatible strategy
└── Example: Progressive deepening for limited memory
Working Memory: LIMITED + Backtracking: CHEAP
└── Use progressive deepening (depth-first with backtrack)
Working Memory: ABUNDANT + State comparison: NEEDED
└── Use scan-and-search (breadth-first)
Task Structure Assessment:
├── Clear goal state + Measurable progress → Means-ends analysis
├── Hard constraints + Dependencies → Most-constrained-first
├── Recognizable patterns + Action opportunities → Opportunistic planning
└── Multiple valid paths + Resource limits → Constraint satisfaction
Task has well-defined goal state?
├── YES: Extract differences between current and goal
│ ├── Differences are measurable? → Means-ends analysis
│ └── Differences are qualitative? → Pattern-based selection
└── NO: Use structural constraints
├── Hard constraints exist? → Most-constrained-first
├── Known patterns exist? → Production rules (condition→action)
└── Multiple operators available? → Extract structural ranking info
Detection Rule: If solution involves "faster hardware" or "more parallelism" for search problems Symptoms: Agent examines thousands of nodes, performance scales with compute Diagnosis: Missing selectivity through structural information extraction Fix: Analyze task structure for exploitable patterns, constraints, or goal-distance measures
Detection Rule: If same search approach (usually means-ends) applied to all problems
Symptoms: Works on clear-goal problems, fails on constraint satisfaction or opportunistic tasks
Diagnosis: Strategy-task structure mismatch
Fix: Match search pattern to task structure—means-ends for goal reduction, constraint propagation for CSPs, pattern recognition for opportunistic planning
Detection Rule: If optimization effort goes to search algorithms before testing representations Symptoms: Extensive tuning yields marginal gains, "obviously easy" problems remain hard Diagnosis: Wrong problem space for task structure Fix: Test 2-3 alternative state representations before optimizing search within any one
Detection Rule: If strategy requires more working memory than system provides Symptoms: Thrashing, exponential memory growth, inability to backtrack effectively Diagnosis: Importing unlimited-memory strategies to constrained systems Fix: Use progressive deepening for memory-limited, scan-and-search only when memory permits full state tracking
Detection Rule: If problem space treated as "given" without explicit construction phase Symptoms: Agent can't initialize on new tasks, representation seems arbitrary Diagnosis: No systematic problem space construction from task environment Fix: Allocate design effort to representation selection proportional to search difficulty
Novice Approach:
Expert Application:
Key Insight: Same task, different problem space. Constraint-based representation exposes structure that assignment-enumeration hides.
Representation Comparison:
Poor representation: States as disk positions [(disk1_peg, disk2_peg, ...)]
Good representation: States as peg configurations with implicit size ordering
Decision Logic Applied:
Search Performance: Expert finds solution in 31 moves (optimal) by examining ~50 nodes. Poor representation might examine 1000+ nodes and find suboptimal 100-move solution.
Task Environment: Patient symptoms → disease identification → treatment
Problem Space Construction Decision:
Expert Choice: Hybrid approach
Decision Framework Applied:
Do NOT use this skill for:
Delegation Rules:
convex-optimization or metaheuristicsmachine-learning-fundamentalsdistributed-systems-coordinationdecision-theory-under-uncertaintyreal-time-systems-designBoundary Markers:
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.