adding-copyright-headers

Adds copyright headers to files based on file type. Use when creating new files or when asked to verify copyright headers.

npx skills add https://github.com/flutter/devtools --skill adding-copyright-headers

Adding Copyright Headers

Formats

Dart Files (.dart)

// Copyright 20?? The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

YAML Files (.yaml)

# Copyright 20?? The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

HTML Files (.html) and Markdown Files (.md)

<!--
Copyright 20?? The Flutter Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
-->

Shell Scripts (.sh)

# Copyright 20?? The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

Instructions

  1. New Files: When creating a new file, you MUST add the appropriate copyright header based on its file extension.
    • Replace 20?? with the current year (e.g., 2026).
  2. Placement:
    • The copyright header should be at the very top of the file by default.
    • Exception: If the file requires a shebang (e.g., #!/bin/bash in .sh files) or other necessary frontmatter, the copyright header must come after the frontmatter, separated by a blank line.
  3. Exclusions: Copyright headers are not necessary in directories that begin with a dot (.), such as:
    • .agents/
    • .gemini/
    • .github/
  4. Existing Files: When editing an existing file, do NOT modify the year in the copyright header. Leave it as it is.
  5. Subsequent Edits: Subsequent edits should not modify the year.

Examples (for 2026)

Shell Script with Shebang

#!/bin/bash

# Copyright 2026 The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

Dart File

// Copyright 2026 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

More skills from flutter

dart-modern-features
flutter
To find candidates for modernization:
flutter-fix-layout-issues
flutter
Fixes Flutter layout errors (overflows, unbounded constraints) using Dart and Flutter MCP tools. Use when addressing "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Adds user-facing change descriptions to DevTools release notes. Use when documenting improvements, fixes, or new features in the NEXT_RELEASE_NOTES.md file.
reviewing-devtools-prs
flutter
DevTools repository-specific PR review workflow enforcing DevTools style guidelines and common review patterns. Use when reviewing pull requests in the…
dart-use-primary-constructors
flutter
Help users write syntactically and semantically correct primary constructors in Dart, and migrate/use the new constructor syntax, empty-body semicolon syntax,…
code-documentation
flutter
Guide for writing effective code documentation, including docstrings, JSDoc, dartdoc, and implementation comments. Use this skill when writing new code, adding…
api-review
flutter
Reviews the specified code against the canonical API Design guidelines. Use this skill when the user asks for an API review or to check code against API design…
flutter-accessibility
flutter
Implement WCAG 2 and EN 301 549 accessibility standards and adaptive layouts in Flutter apps. Enforces semantic annotations, tap target sizes (48x48 dp minimum), and text contrast ratios (4.5:1 for small text, 3:1 for large) across mobile, web, and desktop platforms Provides decision logic for web semantics initialization, interactive widget wrapping, screen-size-based layout switching, and keyboard/mouse input handling Includes focus traversal management via FocusTraversalGroup and...