Back to Skills

done-criteria

verified

Helps define testable acceptance criteria for development tasks. Use when establishing done criteria during interactive-dev planning.

View on GitHub

Marketplace

mathews-claude-plugins

newtro/claude-plugins

Plugin

interactive-dev

Repository

newtro/claude-plugins

interactive-dev/skills/done-criteria/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/newtro/claude-plugins/blob/main/interactive-dev/skills/done-criteria/SKILL.md -a claude-code --skill done-criteria

Installation paths:

Claude
.claude/skills/done-criteria/
Powered by add-skill CLI

Instructions

# Done Criteria Skill

This skill guides you in defining clear, testable acceptance criteria that can be verified by automated testing and browser-based verification.

## What Makes Good Done Criteria

Every criterion must be:

### 1. Observable
Can be seen in the browser or test output. Something a human or automated test can verify.

### 2. Specific
Not vague or subjective. Clear enough that two different testers would agree on pass/fail.

### 3. Testable
Can be verified programmatically or through browser interaction. No "feel" or "seem" language.

## Categories of Criteria

### Functional Criteria
The feature works as expected.

Examples:
- "Clicking 'Submit' button sends form data to the server"
- "User can navigate between pages using the sidebar menu"
- "Search results update as user types in the search box"

### Visual Criteria
The UI renders correctly.

Examples:
- "Profile page displays user name, email, and avatar image"
- "Error messages appear in red text below the input field"
- "Loading spinner is visible while data is fetching"

### Validation Criteria
Errors and edge cases are handled properly.

Examples:
- "Form shows 'Email is required' when submitted without email"
- "Empty state message appears when no results are found"
- "Network error displays 'Unable to connect' message"

### Build Criteria
Code quality standards are met.

Examples:
- "Build completes without errors"
- "No TypeScript type errors"
- "No ESLint warnings"
- "All existing tests pass"

## Examples: Good vs Bad Criteria

### Bad Criteria (Avoid These)

| Bad | Problem |
|-----|---------|
| "Profile page looks good" | Subjective - what is "good"? |
| "Form is user-friendly" | Vague - can't be tested |
| "Performance is acceptable" | No measurable threshold |
| "Errors are handled" | Doesn't specify which errors or how |
| "The code is clean" | Opinion-based, not testable |

### Good Criteria (Use These)

| Good | Why It Works |
|------|--------------|
| "Profile page displays user 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
4912 chars