mcpbeat

Definition Of Done

flutter/definition-of-done

Mandatory checks to run before completing any task that touches md files or dart code in this repository.

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
2776
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/flutter/agent-plugins --skill definition-of-done

What comes with it

1 527 bytes besides the instruction
evals/evals.json

The instruction itself

3 sections, as written by the author

Definition 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, or dart format --output=none --set-exit-if-changed . to check without modifying. Ensure all files are formatted correctly.
  • Analysis: Run dart analyze --fatal-infos and ensure there are zero issues (including info-level issues).
  • Metrics: Run dart run cognitive_complexity --fail-threshold 48 lib test and ensure there are zero issues. This checks for cognitive complexity.
  • Tests: Run dart test and ensure all tests pass successfully.
  • Skills: If any skill files were modified, run dart run dart_skills_lint -d .agents/skills to 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.md untouched 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.

How to use it

Copy the folder

Take flutter/definition-of-done from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.