constraint-driven-development

Define and enforce project quality constraints via a written CONSTRAINTS.md contract.

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/MSC72m/DevForge --skill constraint-driven-development-msc72m
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: constraint-driven-development
Source: https://github.com/MSC72m/DevForge/tree/main/skills/constraint-driven-development
Command: npx skills add https://github.com/MSC72m/DevForge --skill constraint-driven-development-msc72m

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 reach green. This Skill turns a project's quality bar into a written, mechanically checkable contract that outlives the conversation. ## Core Features & Use Cases - Constraint Interview & Defaults: Runs a four-question intake with sane defaults, then writes a CONSTRAINTS.md file with numbered thresholds, measured ratchets, and tracked exceptions. - Tool-Backed Enforcement: Maps each dimension (types, lint, coverage, security, performance, accessibility, architecture) to a de facto tool like tsc, Semgrep, gitleaks, Lighthouse, or axe-core, with lifecycle placement from edit loop to CI. - Floor Guard Reference: Ships a diff-scoped reference implementation that detects weakened thresholds, skipped tests, new suppression comments, unimplemented stubs, and surprise exceptions. - Use Case: Before running an autonomous build loop on a TypeScript project, use this Skill to record an 80% changed-line coverage gate, a zero-high-vulnerability dependency rule, and a floor banning new eslint-disable comments, then wire them into check:fast and check:full scripts. ## Quick Start Ask the agent to set up project constraints and define our quality standards in a CONSTRAINTS.md file with enforced coverage and security checks.

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 to pick enforced dimensions, then write them as numbered rules in a CONSTRAINTS.md file at the repo root. Each rule names the command that checks it and where it runs, so agents and CI enforce the same bar.

How to stop an agent from adding eslint-disable or skipping tests?▼

Use a diff-scoped floor guard that scans added lines for suppression comments, .skip calls, deleted assertions, and unimplemented stubs. The reference implementation exits 1 on violations and reports the rule and location, never secret values.

What coverage threshold should I set for a legacy codebase?▼

Do not set an aspirational number the code fails today. Record the current value in a measured-not-enforced table with a must-not-fall direction, and enforce 80% only on changed lines, which the agent can actually move.

Which tools enforce security and accessibility constraints?▼

Semgrep covers code findings, gitleaks handles secrets with mandatory --redact, and osv-scanner checks dependencies at high severity or above. Accessibility uses axe-core against a running URL with zero critical or serious violations allowed.

When should I not use constraint-driven development?▼

Skip it for one-off scripts, spikes, and throwaway prototypes, or when a CONSTRAINTS.md already exists and is not changing. It also should not run its interview in non-interactive contexts like CI or autonomous loops; apply the floor only there.