Use when defining completion criteria for AI-DLC tasks. Covers writing verifiable, specific, and measurable criteria that enable autonomous operation and clear exit conditions.
View on GitHubTheBushidoCollective/han
jutsu-ai-dlc
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/patterns/ai-dlc/skills/ai-dlc-completion-criteria/SKILL.md -a claude-code --skill ai-dlc-completion-criteriaInstallation paths:
.claude/skills/ai-dlc-completion-criteria/# AI-DLC Completion Criteria Completion criteria are the foundation of effective AI-DLC workflows. Clear criteria enable autonomy, provide exit conditions, and ensure alignment between human intent and AI execution. ## Why Criteria Matter ### The Autonomy Equation ``` Autonomy = f(Criteria Clarity) ``` - **Vague criteria** → Constant human oversight required - **Clear criteria** → AI can self-verify and operate autonomously ### The Exit Condition Problem Without clear criteria: - When is the task "done"? - How do we know if it's working? - What constitutes success vs failure? With clear criteria: - Each criterion is a checkpoint - All criteria satisfied = task complete - Any criterion failed = more work needed ## Characteristics of Good Criteria ### 1. Specific Bad: "Make the login work" Good: "Users can log in with email and password" Bad: "Improve performance" Good: "API response time under 200ms for 95th percentile" Bad: "Fix the bug" Good: "Clicking 'Submit' no longer throws a TypeError" ### 2. Measurable Can you write a test for it? If not, it's not measurable. Bad: "The code should be clean" Good: "No ESLint errors or warnings" Bad: "The UI should be intuitive" Good: "User can complete checkout in under 3 clicks" Bad: "Should handle errors gracefully" Good: "Invalid email shows 'Please enter a valid email' message" ### 3. Atomic One criterion, one thing to check. Bad: "Users can log in and their session persists" Good: - "Users can log in with valid credentials" - "Session persists across page refreshes" Bad: "API handles all edge cases" Good: - "Returns 400 for missing required fields" - "Returns 404 for non-existent resources" - "Returns 429 when rate limit exceeded" ### 4. Automated (Ideally) Criteria that can be checked automatically are strongest. ```markdown ## Completion Criteria - [ ] All unit tests pass (`bun test`) - [ ] No TypeScript errors (`tsc --noEmit`) - [ ] No lint warnings (`biome check`) - [ ] API responds in < 200m