Agent skill

constraint-programming

When the user wants to solve complex scheduling, allocation, or combinatorial problems using constraint programming (CP). Also use when the user mentions "constraint programming," "CP-SAT," "constraint satisfaction," "all-different constraint," "global constraints," "propagation," "search strategies," or when the problem has complex logical constraints, scheduling with disjunctive resources, or allocation problems. For MIP, see optimization-modeling. For metaheuristics, see metaheuristic-optimization.

majiayu000github.com/majiayu000GitHub ↗
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill constraint-programming-kishorkukreja-awesome-supply-chain --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 25 KB
Bundled scripts: none
Path: skills/analysis/constraint-programming-kishorkukreja-awesome-supply-chain/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Instructs the agent to solve complex combinatorial problems (scheduling, allocation, sequencing, assignment) using constraint programming, leveraging propagation, global constraints, and intelligent search strategies. It focuses on problems where MIP struggles or where logical constraints are prominent, and it provides two example domains: Job Shop Scheduling and Nurse Scheduling with CP.

How it works

The skill begins with an initial assessment rubric for understanding the problem characteristics, purpose of constraint programming, problem size, and the technical environment. It then outlines core CP concepts: Variables with discrete domains, Constraints, Propagation, and Search. It provides an explicit implementation example for Job Shop Scheduling using OR-Tools CP-SAT, including model construction (variables for starts, ends, and intervals; precedence and disjunctive constraints; makespan objective), solving (CpSolver with time limit and workers), and optional Gantt plotting. It then presents a second CP example for Nurse Scheduling with global constraints, defining boolean decision variables per nurse/day/shift, and constraints for coverage, single shift per day, rest periods, fair distribution, and weekend/off constraints. The skill shows how to encode the problem and obtain a solution, including feasible/optimal statuses and extracted schedules.

When to use it

Use when the user describes scheduling or allocation problems with complex or logical constraints, disjunctive resources, or all-different/global constraints, or when CP-SAT is appropriate and MIP is insufficient. Trigger keywords include constraint programming, CP-SAT, constraint satisfaction, all-different constraint, global constraints, propagation, search strategies, or complex logical constraints.

What it can touch

The skill relies on explicit code blocks and uses theOR-Tools CP-SAT solver (imported as from ortools.sat.python import cp_model). It creates and manipulates variables, constraints, and objective functions, and can generate a schedule (list of job/operation/machine/start/end/duration) and a Gantt plot. It references plotting utilities (matplotlib) for visualization in the Job Shop example and uses standard Python data structures for schedules.

Caveats

License: MIT. The skill demonstrates example usage and may require adapting to specific problem instances and environment constraints (solver availability, time limits, and performance considerations). It uses a heuristic with a fixed number of search workers and a time limit, which may affect optimality depending on instance hardness. It includes domain-specific assumptions (e.g., horizon computation, machine indexing) that must align with user data.

From the SKILL.md

# Constraint Programming You are an expert in constraint programming for supply chain optimization. Your goal is to help solve complex combinatorial problems using constraint propagation, global constraints, and intelligent search strategies that excel where traditional MIP struggles. ## Initial Assessment Before applying constraint programming, understand: 1. **Problem Characteristics** - Type? (scheduling, allocation, sequencing, assignment) - Constraints complex or logical? (if-then, all-different, etc.) - Variables: discrete domains? - Many feasibility constraints vs. optimization? 2. **Why Constraint Programming** - MIP formulation too weak? - Scheduling with disjunctive resources? - Complex logical constraints? - Need to find feasible solution quickly? 3. **Problem Size** - Number of variables? - Domain sizes? - Number of constraints? - Time limit for solving? 4. **Technical Environment** - CP solver available? (OR-Tools, Gecode, MiniZinc) - Need integrated with other systems? - Optimization or just feasibility? --- ## Constraint Programming Fundamentals ### Core Concepts **Variables**: Decision variables with discrete domains ```python # Example: Variable x can take values 1

What's inside
Steps it walks through
  1. Initial Assessment
  2. Constraint Programming Fundamentals
  3. Core Concepts
  4. Job Shop Scheduling with CP
  5. Implementation with OR-Tools CP-SAT
  6. Nurse Scheduling with Global Constraints
  7. Global Constraints
  8. AllDifferent Constraint
  9. Cumulative Constraint
  10. Circuit Constraint
  11. Table Constraint
  12. Reservoir Constraint
  13. Search Strategies
  14. Variable Selection
Ships with 1 file
  • metadata.json
More from claude-skill-registry
All skills →
About this skill
What does the constraint-programming skill do?

When the user wants to solve complex scheduling, allocation, or combinatorial problems using constraint programming (CP). Also use when the user mentions "constraint programming," "CP-SAT," "constraint satisfaction," "all-different constraint," "global constraints," "propagation," "search strategies," or when the problem has complex logical constraints, scheduling with disjunctive resources, or allocation problems. For MIP, see optimization-modeling. For metaheuristics, see metaheuristic-optimization.

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill constraint-programming-kishorkukreja-awesome-supply-chain --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going