CO

convex-optimization

A framework for identifying, formulating, and solving convex optimization problems mathematically.

Install

mkdir -p .claude/skills/convex-optimization && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1555" && unzip -o skill.zip -d .claude/skills/convex-optimization && rm skill.zip

Installs to .claude/skills/convex-optimization

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Problem-solving strategies for convex optimization in optimization
66 charsno explicit “when” trigger
Advanced

Key capabilities

  • Verify objective function convexity
  • Classify optimization problems
  • Convert problems to standard form
  • Verify KKT conditions
  • Execute Scipy and CVXPY solvers

How it works

The skill uses mathematical verification of Hessian matrices and KKT conditions to classify and solve optimization problems using standard libraries.

Inputs & outputs

You give it
Optimization problem definition
You get back
Optimal solution and verification status

When to use convex-optimization

  • Linear programming tasks
  • Quadratic programming models
  • Verifying KKT conditions
  • Solving general convex optimization

About this skill

Convex Optimization

When to Use

Use this skill when working on convex-optimization problems in optimization.

Decision Tree

  1. Verify Convexity

    • Objective function: Hessian positive semidefinite?
    • Constraint set: intersection of convex sets?
    • z3_solve.py prove "hessian_psd"
  2. Problem Classification

    TypeSolver
    Linear Programmingscipy.optimize.linprog
    Quadratic Programmingscipy.optimize.minimize(method='SLSQP')
    General ConvexInterior point methods
    SemidefiniteCVXPY with SDP solver
  3. Standard Form

    • minimize f(x) subject to g_i(x) <= 0, h_j(x) = 0
    • Convert max to min by negating
    • Convert >= to <= by negating
  4. KKT Conditions (Necessary & Sufficient)

    • Stationarity: grad L = 0
    • Primal feasibility: g_i(x) <= 0, h_j(x) = 0
    • Dual feasibility: lambda_i >= 0
    • Complementary slackness: lambda_i * g_i(x) = 0
    • z3_solve.py prove "kkt_conditions"
  5. Solve and Verify

    • scipy.optimize.minimize(f, x0, constraints=cons)
    • Check constraint satisfaction
    • Verify solution is global minimum (convex guarantees this)

Tool Commands

Scipy_Linprog

uv run python -c "from scipy.optimize import linprog; res = linprog([-1, -2], A_ub=[[1, 1], [2, 1]], b_ub=[4, 5]); print('Optimal:', -res.fun, 'at x=', res.x)"

Scipy_Minimize

uv run python -c "from scipy.optimize import minimize; res = minimize(lambda x: (x[0]-1)**2 + (x[1]-2)**2, [0, 0]); print('Minimum at', res.x)"

Z3_Kkt

uv run python -m runtime.harness scripts/z3_solve.py prove "kkt_conditions"

Key Techniques

From indexed textbooks:

  • [Additional Exercises for Convex Optimization (with] Finally, there are lots of methods that will do better than this, usually by taking this as a starting point and ‘polishing’ the result after that. Several of these have been shown to give fairly reliable, if modest, improvements. You were not required to implement any of these methods.
  • [Additional Exercises for Convex Optimization (with] K { X = x Ax yi } where e is the p-dimensional vector of ones. This is a polyhedron and thus a convex set. Rm has the form − The residual Aˆx − Describe a heuristic method for approximately solving this problem, using convex optimization.
  • [Additional Exercises for Convex Optimization (with] We then pick a small positive number , and a vector c cT x minimize subject to fi(x) 0, hi(x) = 0, f0(x) ≤ p + . There are dierent strategies for choosing c in these experiments. The simplest is to choose the c’s randomly; another method is to choose c to have the form ei, for i = 1, .
  • [Additional Exercises for Convex Optimization (with] We formulate the solution as the following bi-criterion optimization problem: (J ch, T ther) cmax, cmin, 0, minimize subject to c(t) c(t) a(k) ≤ ≥ t = 1, . T The key to this problem is to recognize that the objective T ther is quasiconvex. The problem as stated is convex for xed values of T ther.
  • [nonlinear programming_tif] Optimization Over a Convex Set** - Focuses on optimization problems constrained within a convex set. Optimality Conditions:** Similar to unconstrained optimization, but within the context of convex sets. Feasible Directions and Conditional Gradient** - Explores methods that ensure feasibility within constraints.

Cognitive Tools Reference

See .claude/skills/math-mode/SKILL.md for full tool documentation.

When not to use it

  • When the problem is non-convex
  • When the objective function is not differentiable

Prerequisites

Python environmentScipyCVXPYZ3

Limitations

  • Requires problem to be convex for global minimum guarantees
  • Limited to solvers supported by the environment

How it compares

It provides a structured decision tree for problem classification and solver selection rather than manual trial-and-error.

Compared to similar skills

convex-optimization side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
convex-optimization (this skill)47moReviewAdvanced
quant-analyst1032moNo flagsAdvanced
umap-learn62moReviewIntermediate
embedding-strategies82moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

quant-analyst

zenobi-us

Expert quantitative analyst specializing in financial modeling, algorithmic trading, and risk analytics. Masters statistical methods, derivatives pricing, and high-frequency trading with focus on mathematical rigor, performance optimization, and profitable strategy development.

103355

umap-learn

K-Dense-AI

UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.

6100

embedding-strategies

wshobson

Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.

890

building-automl-pipelines

jeremylongshore

Build automated machine learning pipelines, including feature engineering, model selection, and performance evaluation.

688

model-compare

rawwerks

Compare 3D CAD models using boolean operations (IoU, Dice, precision/recall). Use when evaluating generated models against gold references, diffing CAD revisions, or computing similarity metrics for ML training. Triggers on: model diff, compare models, IoU, intersection over union, model similarity, CAD comparison, STEP diff, 3D evaluation, gold reference, generated model, precision recall 3D.

783

matchms

davila7

Mass spectrometry analysis. Process mzML/MGF/MSP, spectral similarity (cosine, modified cosine), metadata harmonization, compound ID, for metabolomics and MS data processing.

674

Search skills

Search the agent skills registry