constraint-driven-development

Defines and enforces project quality constraints via a written CONSTRAINTS.md contract.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/sasidhar4444/ai-receptionist --skill constraint-driven-development-sasidhar4444
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: constraint-driven-development
Source: https://github.com/sasidhar4444/ai-receptionist/tree/main/agent-skills/skills/constraint-driven-development
Command: npx skills add https://github.com/sasidhar4444/ai-receptionist --skill constraint-driven-development-sasidhar4444

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? AI coding 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 get checks passing. This skill turns your project's quality bar into an explicit, versioned contract that outlives any single session. ## Core Features & Use Cases - Constraint Interview & Defaults: Runs a four-question intake with sane defaults for coverage, security, performance, and accessibility dimensions, then records decisions in a CONSTRAINTS.md file at the repo root. - Tool-Backed Enforcement: Maps each quality dimension to a de facto tool (tsc, Semgrep, gitleaks, osv-scanner, Lighthouse, axe-core, Stryker) with lifecycle placement so fast checks run per-edit and slow ones run in CI. - Floor Guard Reference: Ships a diff-scoped reference implementation that detects the five bar-lowering moves — weakened thresholds, skipped tests, new suppressions, unimplemented stubs, and untracked exceptions. - Use Case: Before running an autonomous build loop on a TypeScript project, use this skill to establish an 80% changed-line coverage gate, secret scanning, and a ratchet that holds today's project coverage, so the agent cannot ship code that silently degrades quality. ## Quick Start Ask the agent to set up quality constraints for this project and write them into a CONSTRAINTS.md file with enforced thresholds.

Frequently Asked Questions about constraint-driven-development

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

FAQPage Schema
How do I set up quality gates for an AI coding agent?▼

Run a short interview covering which dimensions to enforce (coverage, security, performance, accessibility), whether failures block or warn, and target numbers. Record the decisions in a CONSTRAINTS.md file at the repo root and point AGENTS.md or CLAUDE.md at it.

What coverage threshold should I set for a project?▼

Default to 80% coverage on changed lines, which forces a test without blocking config changes. For whole-project coverage, record today's measured value and ratchet it so the number can improve but never fall.

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

Use the diff-scoped floor guard that flags new suppression comments like @ts-ignore or eslint-disable, skipped or deleted tests, removed assertions, unimplemented stubs, and lowered thresholds in CONSTRAINTS.md. It exits 1 on violations so the change is blocked.

Which tools enforce security and accessibility constraints?▼

Semgrep scans code for high-severity findings, gitleaks detects secrets with --redact, and osv-scanner checks dependencies. For accessibility, axe-core runs against a preview URL gating on zero critical or serious WCAG violations.

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 basic floor is worthwhile. Also avoid it when a CONSTRAINTS.md already exists and is not being changed — just read and follow it.