Define done
Skill wakqasahmed/ai-engineering-workflow-skills/skills/engineering/define-done
Canonical AI engineering workflow skills, aggregated by wakqasahmed/skills
npx -y skills add wakqasahmed/ai-engineering-workflow-skills --skill define-doneAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Define acceptance criteria, risk level, and verification before editing. Use at the start of non-trivial implementation or when an issue lacks clear proof of completion.
SKILL.md
2.0 KB, as published. Nobody here has run it
Define Done
Use this before changing code or docs on non-trivial work.
Workflow
- Classify risk: low, medium, or high.
- Write testable acceptance criteria.
- Name the minimum verification commands or manual checks.
- Record known constraints and non-goals.
- State rollback or recovery notes for medium/high-risk changes.
Risk Rules
- Low: narrow copy, style, test-only, or isolated bug fix.
- Medium: user-visible behavior, business logic, data handling, CI, integrations, or multi-file behavior.
- High: auth, payments, permissions, secrets, migrations, deployment, infrastructure, tenant data, or irreversible operations.
Test Database Requirement
Follow system-level/core.md (Test Database Safety) for what counts as disposable/dedicated storage and when a staging backup is required. Verification commands named in step 3 of the workflow above must satisfy that rule before this skill is considered done.
Async/Stateful Contract Requirement
For medium/high-risk work that involves queue jobs, background workers, retries, or any record that tracks attempt/state transitions:
- State the retry limit and what happens on exhaustion (fail loudly, dead-letter, alert) — don't leave it implicit.
- Confirm the job or handler is idempotent on retry, or explicitly justify why it doesn't need to be.
- Write a test for at least one failure path (timeout, provider error, partial write), not only the happy path.
- Verify state transitions are correct under retry: a record re-attempted after a partial failure must not silently double-count, skip, or corrupt its tracked state.
Done Means
- Acceptance criteria satisfied.
- Relevant checks run and named.
- Tests added/updated, or a reason is recorded.
- Independent review completed for non-trivial work.
- Rollout/rollback notes present when risk warrants them.