Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add hajibabaie/combinatorial-optimization-skills --skill open-source-solversgit clone --depth 1 https://github.com/hajibabaie/combinatorial-optimization-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hajibabaie/combinatorial-optimization-skills/open-source-solvers)<a href="https://agentmods.dev/skills/hajibabaie/combinatorial-optimization-skills/open-source-solvers"><img src="https://agentmods.dev/badge/skills/hajibabaie/combinatorial-optimization-skills/open-source-solvers.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00153 | $0.12157 |
| Opus 5 | $0.00077 | $0.06078 |
| Sonnet 5 | $0.00031 | $0.02431 |
| Haiku 4.5 | $0.00015 | $0.01216 |
Grade A, and why
open-source-solvers scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 879 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Open-Source Solvers
You are an expert in the open-source optimization solver ecosystem: the solvers themselves (HiGHS, SCIP, CBC, OR-Tools CP-SAT), the modeling layers that reach them (PuLP, Pyomo, python-mip, OR-Tools MathOpt, scipy), their licenses, and their realistic performance relative to Gurobi. This skill is a pattern catalog. Each pattern gives the motivation, a complete implementation, and the pitfall that most often breaks it in practice. Use the selection framework to pick a stack, then adapt the matching pattern.
Initial Assessment
Establish the following before recommending a solver or writing any code:
- Why no commercial solver? License cost, deployment restrictions (cloud/container nodes each need a license), reproducibility for reviewers, or open-source policy. Academics often qualify for a free Gurobi license — check before migrating anything.
- Problem class. Pure LP, MILP, MIQP, convex MINLP, or feasibility-heavy combinatorial structure (scheduling, timetabling)? The last one usually wants CP-SAT, not a MIP solver.
- Scale and hardness. Variables, constraints, nonzeros, and integrality gap behavior. A MIP Gurobi solves in seconds is fine everywhere; a MIP Gurobi needs hours for may be out of reach for CBC entirely and marginal for HiGHS/SCIP.
- Solve pattern. One large solve, or thousands of small solves inside a matheuristic loop?
Loops rule out file-based interfaces (PuLP
*_CMDsolvers) and favor in-memory APIs (highspy, PySCIPOpt, python-mip). - Needed solver features. Duals and reduced costs (LP), lazy constraints/cuts via callbacks, MIP starts, solution pools, multi-objective. Feature coverage differs sharply across open solvers; list the must-haves first.
- Data types. CP-SAT accepts only integer coefficients. Float costs force a scaling decision before modeling starts.
- License constraints of the user's own code. GPL solvers (GLPK) impose copyleft on distributed binaries; MIT/Apache/EPL solvers do not. Ask whether the model ships inside a product.
- Existing codebase. A gurobipy codebase migrates most naturally to PySCIPOpt or python-mip (same imperative style); a from-scratch project may prefer a portable layer (MathOpt, Pyomo) so the solver stays swappable.
- Time budget and quality target. Required gap at termination, wall-clock limit, and whether a feasible-but-not-proven solution is acceptable. Open solvers prove optimality more slowly; often the right move is a fixed time limit plus gap reporting.
- Environment. OS, Python version, container or HPC cluster. All stacks below are pip-installable on Linux/macOS/Windows; HPC modules sometimes ship older system CBC/GLPK binaries that shadow pip versions.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 879 lines · 153 tokens per session scan A 62bddad99416
open-source-solvers is a skill published in the GitHub repository hajibabaie/combinatorial-optimization-skills (7 stars, last pushed 2mo ago), licensed MIT. It adds 153 tokens to every session and 12,157 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
phx-deps-audit
Audit Hex deps for supply-chain security risk — bidi chars, compile-time exec, maintainer changes, typosquats, CVEs. Use after mix deps.update, when checking if a package upgrade is safe, or reviewing mix.lock PR diffs.
release
CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci, commit, tag vX.Y.Z, and create the GitHub release. Use when shipping a new plugin version. NOT distributed.
session-deep-dive
Deep qualitative analysis of high-signal sessions. Spawns subagents with v2 template, synthesizes patterns, compares against known findings. Use after /session-scan.
catchup
Summarize and review what changed while you were away. Use after a weekend, vacation, or flight to check missed PRs, git commits, Linear tickets, and meetings — one prioritized brief, not a firehose.
brainstorm
Brainstorm Elixir/Phoenix features — explore ideas, compare approaches, gather requirements. Use when vague idea, not sure how to approach, or want to discuss before plan.
learn-from-fix
Capture Elixir/Ecto/LiveView lessons and Hex API rules. Use after corrections or when asked to document learning, record a lesson, prevent a fixed mistake, or remember package guidance with --library.