$npx -y skills add flutter/agent-plugins --skill definition-of-doneMandatory checks to run before completing any task that touches md files or dart code in this repository.
| 1 | # Definition of Done |
| 2 | |
| 3 | Use this skill to ensure that all work meets the repository standards before declaring a task complete or requesting review. |
| 4 | |
| 5 | ## 📋 Mandatory Verification Steps |
| 6 | |
| 7 | Before stating that a task is complete, you MUST execute and pass the following checks: |
| 8 | |
| 9 | 1. **Formatting**: Run `dart format .` to format files, or `dart format --output=none --set-exit-if-changed .` to check without modifying. Ensure all files are formatted correctly. |
| 10 | 2. **Analysis**: Run `dart analyze --fatal-infos` and ensure there are zero issues (including info-level issues). |
| 11 | 3. **Metrics/Linter**: Run `dart run dart_code_linter:metrics analyze lib` and ensure there are zero issues. This checks for cyclomatic complexity and custom rules like file naming and redundant async. |
| 12 | 4. **Tests**: Run `dart test` and ensure all tests pass successfully. |
| 13 | 5. **Skill Validation**: If any skill files were modified, run `dart run dart_skills_lint -d .agents/skills` to ensure they are valid. |
| 14 | 6. **Changelog**: Ensure `CHANGELOG.md` is updated if the task includes user-facing features, bug fixes, or behavioral changes. Audit all entries against the *previously released version* (do not document changes to intermediate PR development code or new unreleased APIs as breaking changes). |
| 15 | 7. **Temporal Words**: Ensure that code and code comments contain no relative temporal terms (e.g., 'now', 'currently', 'new', 'old', 'existing behavior'). |
| 16 | |
| 17 | ## 🚦 Completion Checklist |
| 18 | |
| 19 | - [ ] Code is formatted (`dart format .` or checked with `--output=none --set-exit-if-changed .`). |
| 20 | - [ ] Analysis is clean (`dart analyze --fatal-infos`). |
| 21 | - [ ] Metrics/Linter are clean (`dart run dart_code_linter:metrics analyze lib`). |
| 22 | - [ ] Tests are passing (`dart test`). |
| 23 | - [ ] Skills validated if modified (`dart run dart_skills_lint -d .agents/skills`). |
| 24 | - [ ] `CHANGELOG.md` updated and audited against the previously released version (no intermediate or unreleased breaking changes listed). |
| 25 | - [ ] Verified that code and code comments contain no relative temporal terms (e.g., 'now', 'currently', 'new', 'old', 'existing behavior'). |
| 26 | - [ ] Documentation is updated. |