skills/acceptance-criteria-define/SKILL.md
Use when an agent is asked to define, review, or write acceptance criteria for a request or plan. Derives acceptance criteria from the current request context, confirms them with the user, and writes them into the plan file or a standalone acceptance_criteria.md file.
npx skillsauth add giladresisi/ai-dev-env acceptance-criteria-defineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If no request or task description was provided as context (the skill was invoked with no arguments and nothing in the conversation describes a feature, task, or plan to evaluate):
Check whether the context references an implementation plan file:
.md mentioned in the request or conversation (e.g., .agents/plans/feature-name.md).agents/plans/*.md file that matches the feature being discussedIf a plan file is identified:
## ACCEPTANCE CRITERIA or ## Acceptance Criteria section## TESTING STRATEGY, ## VALIDATION COMMANDS, and ## Feature Description sections to understand the full scopeIf no plan file:
Based on the context (plan file, feature description, or request in conversation), derive the acceptance criteria.
Think through each of these dimensions and produce criteria for whichever apply:
Format each criterion as a concrete, testable statement, not a vague goal.
Good: "The /mcp/mcp endpoint returns HTTP 200 with a valid MCP tools list when the server is running"
Bad: "The server should work correctly"
Output your derived criteria in a clear, readable list. Use this format:
## Proposed Acceptance Criteria
### Functional
- [ ] <criterion>
- [ ] <criterion>
### Error Handling
- [ ] <criterion>
### Integration / E2E
- [ ] <criterion>
### Validation
- [ ] <criterion> — verified by: `<command or test>`
### Out of Scope
- <item> — not required for this task
Before asking the user anything, decide whether a user is actually present to confirm. The
AskUserQuestion below only makes sense when this skill was invoked directly by the user. When
it was invoked indirectly — by another skill, agent, or orchestrator running an automated flow
(e.g. plan-feature inside an automated planning/experiment harness, or a planning subagent) —
there is no one waiting to answer, and a blocking question would stall the whole flow.
Treat the invocation as non-interactive if ANY of these hold:
auto_approve: true,
[non-interactive], or "auto-approve acceptance criteria"; orIf non-interactive: skip the AskUserQuestion below entirely and proceed with the proposed criteria as-is (identical to option 1). Output one line noting it — "Acceptance criteria auto-approved (non-interactive invocation)." — then continue to Step 4.
If interactive (a user invoked this directly): use AskUserQuestion to ask the user:
Question: "Do these acceptance criteria look right, or would you like to define them yourself?" Options:
If user selected option 1 (use as-is):
If user selected option 2 (add/change):
If user selected option 3 (define themselves):
Rewrite the ## ACCEPTANCE CRITERIA section at the bottom of the plan file.
## COMPLETION CHECKLIST if that section exists, otherwise at the very end of the file## ACCEPTANCE CRITERIA- [ ] checkbox item### Out of Scope subsectionUse the Edit tool to make this change — read the file first if you have not already.
After writing, output: "Acceptance criteria written to <plan-file-path>."
acceptance_criteria.mdCheck if acceptance_criteria.md exists in .agents/ (preferred) or the project root.
Create .agents/acceptance_criteria.md with this structure:
# Acceptance Criteria
---
## <short title derived from the request> — <date>
### Context
<2–4 sentence summary of the request or feature this criteria applies to>
### Criteria
#### Functional
- [ ] <criterion>
#### Error Handling
- [ ] <criterion>
#### Integration / E2E
- [ ] <criterion>
#### Validation
- [ ] <criterion> — verified by: `<command>`
#### Out of Scope
- <item>
Read the file first. Append a new section after the last existing section:
---
## <short title derived from the request> — <date>
### Context
<summary>
### Criteria
...
Do NOT modify any existing sections.
After writing, output: "Acceptance criteria written to .agents/acceptance_criteria.md."
Output a brief confirmation:
Acceptance criteria saved.
File: <path>
Criteria: <N> items
Next step: Run /execute <plan-file> to implement, or share the criteria with the agent executing this work.
If this skill was invoked as part of a planning or execution flow, return control to the calling skill now.
testing
Creates a new git worktree in the auto-co-trader project for any purpose — optimization, regression, backtesting, brainstorming, etc. Use this skill when the user wants to CREATE or SET UP a new worktree — phrases like "prepare a new worktree", "set up a worktree", "create a new worktree for <purpose>", "prep a new worktree", "new worktree for autoresearch", "prepare optimization from [strategy]", or "create a worktree using [strategy]". Do NOT use this skill when the user is already in a worktree and wants to start/run/begin a task — that is handled by the relevant program file in the worktree session.
development
Use when running comprehensive project validation including tests, type checking, linting, API connectivity checks, and server startup verification
research
Use when performing a meta-level analysis of plan adherence after implementation to identify process improvements and suggest CLAUDE.md updates
documentation
Use when investigating a GitHub issue to identify root cause, assess impact, and create a fix strategy document