definition-of-done
โดย flutter
การตรวจสอบที่จำเป็นต้องดำเนินการก่อนที่จะทำงานใดๆ ที่เกี่ยวข้องกับไฟล์ md หรือโค้ด dart ในพื้นที่เก็บข้อมูลนี้ให้เสร็จสมบูรณ์
npx skills add https://github.com/flutter/skills --skill definition-of-doneDefinition of Done
Use this skill to ensure that all work meets the repository standards before declaring a task complete or requesting review.
📋 Mandatory Verification Steps
Before stating that a task is complete, you MUST execute and pass the following checks:
- Format: Run
dart format .to format files, ordart format --output=none --set-exit-if-changed .to check without modifying. Ensure all files are formatted correctly. - Analysis: Run
dart analyze --fatal-infosand ensure there are zero issues (including info-level issues). - Metrics: Run
dart run cognitive_complexity --fail-threshold <N> lib test, where<N>is the--fail-thresholdvalue configured in.github/workflows/dart_skills_lint_workflow.yaml, and ensure there are zero issues. This checks for cognitive complexity. - Tests: Run
dart testand ensure all tests pass successfully. - Skills: If any skill files were modified, run
dart run dart_skills_lint -d .agents/skillsto ensure they are valid. - Changelog: If the task introduces user-facing CLI flags, package API changes, bug fixes, or user-facing behavioral changes, update
CHANGELOG.md.- Do NOT log internal chores: Do not add entries for internal CI workflows, dev dependency updates/migrations, test refactoring, or repository infrastructure scripts.
- Explicit N/A: If the task is internal-only, leave
CHANGELOG.mduntouched and output[x] Changelog: (N/A) <reason>. - Audit all entries against the previously released version (do not document changes to intermediate PR development code or new unreleased APIs as breaking changes).
- Temporal: Ensure that code and code comments contain no relative temporal terms (e.g., 'now', 'currently', 'new', 'old', 'existing behavior').
- Documentation: Ensure that any relevant documentation is updated.
🚦 Output Formatting
You MUST include a text list of all mandatory verification steps in your final response to the user. Use the exact following format:
- Use
[x] <Identifier>: <Explanation>if the step was completed. - Use
[ ] <Identifier>: <Skipped explanation>if the step was skipped or not applicable.
CRITICAL: Do not just copy the full step description text. You MUST use the exact bolded Identifier from the Mandatory Verification Steps list above, followed by a colon and your short explanation.
Examples:
[x] Format: dart format success.[x] Analysis: Static clean (0 issues, dart analyze --fatal-infos).[ ] Skills: Skipped because dart_skills_lint is not installed.[x] Changelog: (N/A) Not necessary since we're updating internal eval fixtures.[x] Temporal: no added words.