constraint-driven-development

Establishes and enforces a written project quality bar via CONSTRAINTS.md and diff-scoped checks.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/nntoan/ultra-omp --skill constraint-driven-development-nntoan
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: constraint-driven-development
Source: https://github.com/nntoan/ultra-omp/tree/main/packages/proflow/skills/constraint-driven-development
Command: npx skills add https://github.com/nntoan/ultra-omp --skill constraint-driven-development-nntoan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? AI agents produce more code than anyone reviews, and without a written quality bar they quietly lower standards — adding suppressions, skipping tests, or weakening thresholds to reach green. This Skill records the project's quality bar as a versioned CONSTRAINTS.md file with concrete numbers and tools, then guards it against silent erosion. ## Core Features & Use Cases - Guided constraint interview: Four questions with sane defaults capture which dimensions matter (coverage, security, performance, accessibility, architecture) and produce a working config even when the user has no numbers in mind. - CONSTRAINTS.md generation: Writes a canonical quality contract with enforced thresholds, measured-only ratchets, and tracked exceptions with owners and expiry dates. - Floor guard reference implementation: A diff-scoped Node script detects the five bar-lowering moves — new suppressions, skipped tests, removed assertions, stubs, and weakened thresholds — with exit codes 0/1/2. - Use Case: Before running an autonomous build loop on a TypeScript project, use this Skill to define an 80% changed-line coverage gate, wire gitleaks and Semgrep into CI, and ensure the agent cannot silence checks to make a failing change pass. ## Quick Start Ask the agent to set up project constraints and define our quality standards in CONSTRAINTS.md before the next autonomous build run.

Frequently Asked Questions about constraint-driven-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stop an AI coding agent from skipping tests or adding eslint-disable comments?▼

Define a floor of always-enforced rules in CONSTRAINTS.md and run the diff-scoped floor-guard script, which flags new suppressions like @ts-ignore, eslint-disable, and nosemgrep, plus skipped tests and removed assertions, exiting 1 to block the change.

How do I set a code coverage threshold for a project that is below target?▼

Use a ratchet instead of a fixed target: record today's measured coverage in a 'Measured, not yet enforced' table with a must-not-fall direction. Each check compares against the recorded value, so the bar holds without a permanently red build.

What tools should enforce security and performance quality gates?▼

The skill maps each dimension to a de facto tool: Semgrep for code security, gitleaks with --redact for secrets, osv-scanner for dependencies, Lighthouse for LCP and CLS budgets, axe-core for accessibility, and dependency-cruiser for architecture boundaries.

Can constraint checks run in CI or non-interactive agent loops?▼

Yes, but the setup interview requires a live user. In non-interactive contexts like CI or autonomous loops, apply only the floor rules, note that you did, and defer the full interview to a human. Slow checks belong in CI, not the edit loop.

When should I not use constraint-driven development?▼

Skip it for one-off scripts, spikes, throwaway prototypes, and short-lived pre-product-market-fit code where only the floor is worthwhile. If CONSTRAINTS.md already exists and is not changing, read and follow it instead of re-running the interview.