Releases: agtm1199/uber-polya
Release list
uber-polya v0.3.0 Release Notes
uber-polya v0.3.0 Release Notes
Release date: 2026-02-21
License: Apache 2.0
Don't guess. Solve. (Now with proof.)
168 automated tests, GitHub Actions CI, and a cleaner documentation experience.
Test Infrastructure
Every solver now runs under pytest with automated verification. Three test layers cover correctness, structure, and regression:
| Test Suite | Tests | What It Checks |
|---|---|---|
test_solvers.py — Smoke |
36 | Every solver exits cleanly (subprocess, 120s timeout) |
test_solvers.py — Verification |
13 | solution.json verification dict: all checks pass |
test_solvers.py — Feasibility |
3 | is_feasible and is_optimal flags in solution.json |
test_structure.py |
116 | Skill dirs, SKILL.md frontmatter, example READMEs, solver scripts, HTML nav bars, root files |
| Total | 168 |
Verification Patterns Handled
Solvers use different verification formats in solution.json. The test harness handles all of them:
True(bool)"True"(string){"passed": True, ...}(nested dict with metadata)- Numeric metric values (skipped — not pass/fail)
GitHub Actions CI
Continuous integration on every push and pull request to main:
Matrix: Python 3.11 + 3.12
Stages:
1. Structure tests (test_structure.py)
2. Solver smoke tests (test_solvers.py::test_solver_runs)
3. Solver verification tests (test_solvers.py::test_solver_verification_passes)Pip caching enabled for faster runs.
Dependency Management
New requirements.txt pins all 25 Python dependencies in one place:
networkx pulp z3-solver sympy scipy matplotlib numpy cvxpy
statsmodels shapely numpy-financial nashpy pymoo prophet arch
ruptures lifelines scikit-learn xgboost umap-learn pandas simpy
dowhy pytest pytest-timeout
Documentation Polish
- Footer nav removed from all 7 HTML pages — top nav bar is the single navigation point
- "Install Free" → "Start Now" on index.html hero and features sections
- Tutorial reframed around
/uber-polyaas the single entry point:- Phase headers: "Understand & Model", "Solve & Verify", "Interpret & Recommend"
- Separate
/uber-solveand/uber-interpretinvocation steps removed - Sub-skills mentioned only as "under the hood" detail
- Both
getting-started.mdandgetting-started.htmlupdated
Bug Fix
meal-planning solver (meal_solver.py): Fixed TypeError crash when PuLP returns infeasible. The report code attempted to format None objective value with f"${sol.objective:.2f}". Now wrapped in a feasibility guard with graceful fallback.
Files Added
| File | Purpose |
|---|---|
requirements.txt |
All Python dependencies + test tools |
pytest.ini |
Test configuration (120s timeout, slow marker) |
tests/__init__.py |
Package init |
tests/conftest.py |
Shared fixtures (root, examples_dir, skills_dir, docs_dir) |
tests/test_solvers.py |
52 parametrized solver tests |
tests/test_structure.py |
116 structural/convention tests |
.github/workflows/ci.yml |
GitHub Actions CI workflow |
By the Numbers
| Metric | v0.2.0 | v0.3.0 |
|---|---|---|
| Algorithms | 305 | 305 |
| Structures | 91 | 91 |
| Solver Libraries | 26 | 26 |
| Worked Examples | 36 | 36 |
| Domains | 25 | 25 |
| Automated Tests | 0 | 168 |
| CI Pipelines | 0 | 1 |
Installation
git clone https://github.com/agtm1199/uber-polya.git
cd uber-polya
bash install.shPython Dependencies
pip install -r requirements.txtRun Tests
pytest tests/ -vCross-Platform Compatibility
uber-polya uses the Agent Skills open standard and works on any platform that supports it:
- Claude Code (Anthropic)
- OpenAI Codex CLI
- Cursor
- GitHub Copilot
- Mistral Vibe
- And 25+ more
Documentation
- The Manifesto -- Why most of your problems are math problems
- Architecture -- Polya's method mapped to the skill trilogy
- Getting Started -- Step-by-step walkthrough with 36 examples
- Creating Skills -- Build new skills following the uber-polya patterns
- Contributing -- Add algorithms, domains, or examples
- Usage Guide -- Full HTML guide with problem gallery and knowledge base reference
Links
- Repository: github.com/agtm1199/uber-polya
- License: Apache 2.0
- Usage Guide: docs/guide.html
uber-polya v0.1.0 — Initial Release
uber-polya v0.1.0 — Initial Release
Release date: 2026-02-18
License: Apache 2.0
Don't guess. Solve.
uber-polya is a Claude Skill that solves any problem with the right math tool, using George Polya's generic problem-solving method from How to Solve It (1945). Describe a real-world problem — business or personal — and uber-polya finds the mathematical structure hiding inside it, solves it with the right algorithm, verifies the answer, and delivers an actionable result.
The first math problem-solver skill for Claude Code and 25+ compatible platforms. Free, open-source, Apache 2.0.
Four Skills, One Pipeline
| Skill | Role | What it does |
|---|---|---|
/uber-polya |
Orchestrator | Chains Model → Solve → Interpret as a single invocation with full-pipeline, fast-track, stop-after-model, and stop-after-solve modes |
/uber-model |
Phase A: Understand & Plan | Guides you from a vague real-world problem to a formal mathematical model through Socratic questioning |
/uber-solve |
Phase B: Execute | Selects the right algorithm, writes a verified Python solver, and produces a certified solution |
/uber-interpret |
Phase C: Look Back | Translates the mathematical solution into actionable, stakeholder-ready insights with visualizations |
/uber-polya (orchestrator)
/uber-model /uber-solve /uber-interpret
"What IS the "What is the "What does it
problem?" ANSWER?" MEAN?"
Real-world --> Formal Model --> Verified --> Actionable
problem (math) Solution Insight
Knowledge Base
139 algorithms, 43 structures, 17 heuristics, 15 solver libraries — curated, cross-referenced, and organized for rapid problem-solving.
| Catalog | Entries | Details |
|---|---|---|
| Polya's Heuristics | 17 | Socratic questions: draw a figure, introduce notation, work backwards, decompose, find analogies, and more |
| Structure Catalog | 43 across 10 domains | Graphs, trees, matchings, set systems, LPs, ILPs, sequences, recurrences, Boolean formulas, convex programs, QPs, random variables, hypothesis tests, regression models, Bayesian models, experimental designs |
| Problem Classification | Decision tree + pattern table | Rapid matching from problem description to mathematical structure |
| Common Mistakes | 16 anti-patterns | Modeling (M1–M10), solving (S1–S6), interpretation (I1–I6) |
| Algorithm Catalog (Discrete/Continuous) | 94 algorithms | Graph, combinatorial, ILP/LP, SAT/SMT, number theory, DP, BFGS, gradient descent, SQP, interior point, cvxpy DCP |
| Algorithm Catalog (Statistics) | 45 algorithms | Hypothesis tests, regression, Bayesian methods, estimation, resampling |
| Solver Ecosystem | 15 Python libraries | NetworkX, PuLP, Z3, SymPy, SciPy, OR-Tools, cvxpy, statsmodels, scikit-learn, PyMC, pingouin, lifelines, and more |
| Model Templates | 5 patterns | Fill-in-the-blank templates for assignment, scheduling, routing, selection, dependency ordering |
| Solving Protocols | 8 workflows | Domain-specific solving procedures for graph, ILP/LP, SAT/SMT, counting, proof, number theory, DP, continuous optimization |
| Optimization Hardening | Phase 4 guide | Performance tuning and production hardening for solvers |
| Interpretation Patterns | 11 pattern groups | Domain-specific math-to-reality translation for discrete, continuous, and statistical results |
| Visualization Guide | 20+ chart types | Gantt, network, heatmap, bar, sensitivity, Pareto, timeline, QQ, regression, residual, forest, posterior, and more |
Domains Covered
| Domain | Algorithms | Structures | Solver Libraries |
|---|---|---|---|
| Discrete Mathematics | 86 | 32 | 8 (NetworkX, PuLP, Z3, SymPy, SciPy, OR-Tools, and more) |
| Continuous Optimization | 8 | 5 | cvxpy, SciPy |
| Statistical Inference | 45 | 6 | 6 (scipy.stats, statsmodels, scikit-learn, PyMC, pingouin, lifelines) |
All reference files carry Scope tags for multi-domain awareness and include cross-reference indexes linking structures → algorithms → solvers → interpretation → visualization.
16 Worked Examples
Everyday Problems (10)
| Example | Problem | Algorithm |
|---|---|---|
| Shift Scheduling | Schedule 8 nurses across 3 shifts over 7 days | ILP (PuLP/CBC) |
| Budget Optimization | Select projects to maximize ROI under budget | 0/1 Knapsack ILP |
| Fair Rent | Split rent fairly among 3 roommates | Hungarian + envy-free adjustment |
| Route Planning | Shortest delivery route across 8 stops | Held-Karp DP (exact TSP) |
| Project Prioritization | Rank 8 features by weighted criteria | MCDA weighted scoring |
| Study Schedule | Conflict-free study timetable for 6 subjects | Graph coloring (NetworkX) |
| Meal Planning | Plan 7 dinners minimizing cost, meeting nutrition targets | ILP (PuLP/CBC) |
| Team Assignment | Assign 6 developers to 6 projects | Hungarian algorithm (SciPy) |
| Break-Even Analysis | Find break-even quantity for product launch | Symbolic algebra (SymPy) |
| Event Seating | Seat 12 wedding guests at 3 tables with constraints | ILP (PuLP/CBC) |
Technical Showcases (6)
| Example | Domain | Algorithm |
|---|---|---|
| Milking Cows | Interval merging | Sort + sweep, O(N log N) |
| Inspector Assignment | Bipartite ILP | PuLP/CBC solver |
| Portfolio Optimization | Convex QP | cvxpy (Markowitz efficient frontier) |
| Tournament Hamiltonian | Graph proof | Induction + Z3 verification |
| A/B Testing | Statistical inference | z-test + Bayesian + bootstrap + power analysis |
| Cafe Tips | Statistical inference | t-test + Mann-Whitney + permutation + bootstrap + Bayesian |
Every example includes a README, Python solver script, sample input/output, independent verify() function, and visualization.
Installation
git clone https://github.com/agtm1199/uber-polya.git
cd uber-polya
bash install.shThe installer asks whether to install globally (~/.claude/skills/) or locally (./.claude/skills/). Works on macOS and Linux.
Python Dependencies
pip install networkx pulp z3-solver sympy scipy matplotlib numpy cvxpy statsmodelsCross-Platform Compatibility
uber-polya uses the Agent Skills open standard and works on any platform that supports it:
- Claude Code (Anthropic)
- OpenAI Codex CLI
- Cursor
- GitHub Copilot
- Mistral Vibe
- And 25+ more
Documentation
- The Manifesto — Why every problem is a math problem
- Architecture — Polya's method mapped to the skill trilogy, knowledge base design, expansion architecture
- Getting Started — Step-by-step walkthrough with the exam scheduling problem
- Creating Skills — How to build new skills following the uber-polya patterns
- Contributing — Add algorithms, domains, or examples
- Usage Guide — Full HTML guide with problem gallery, knowledge base reference, and FAQ
Walkthrough Pages
- Milking Cows Walkthrough — USACO interval merging, full Polya pipeline
- Inspector Assignment Walkthrough — Bipartite ILP with sensitivity analysis
Design Principles
- Socratic, not didactic. Asks questions that could have occurred to you. Never lectures.
- Verify everything. Every solution includes independent verification.
- Right tool for the job. Algorithm selection based on problem class and instance size.
- Audience adaptation. Results adapted for technical, decision-maker, or general audiences.
- Knowledge transfer. Every problem teaches a reusable modeling pattern.
- Modular expansion. New domains plug in without changing the core workflow.
Technical Details
- Python 3.10+ required for solver scripts
dataclass(frozen=True)for immutable problem instancesdataclassfor mutable solution objectstime.perf_counter()timing on all solvers- Independent
verify()function on every solver (must not share logic withsolve()) #!/usr/bin/env python3shebang and module docstrings on all scripts- Type hints on all function signatures
from __future__ import annotationsat top of all modules- Structured artifact schemas: Formal Model, Solution Report, Interpretation Report
- Self-evaluation checklists after every phase gate
Expansion Roadmap
| Domain | Status |
|---|---|
| Discrete Mathematics | Shipped |
| Continuous Optimization | Shipped |
| Statistical Inference | Shipped |
| Game Theory | Planned |
| Machine Learning | Planned |
| Simulation | Planned |
| Time Series | Planned |
| Decision Analysis | Planned |
New domains plug in as reference files without changing the core Polya workflow. See CONTRIBUTING.md.
Links
- Repository: github.com/agtm1199/uber-polya
- License: Apache 2.0
- Usage Guide: site/guide.html