closing-obsolete-issues

bởi flutter

Tìm và đóng các issue lỗi thời, cũ kỹ hoặc không thể tái tạo trong kho lưu trữ flutter/devtools.

npx skills add https://github.com/flutter/devtools --skill closing-obsolete-issues

Closing Obsolete Issues

Use this skill to find old, outdated issues in the flutter/devtools repository that can be closed because they have been fixed, are stale, obsolete, or not reproducible.

Instructions

  1. Identify Target Issues:

    • Use the GitHub CLI (gh) to search for the oldest open issues.
    • Use any label that the user gives you, or none if the user does not specify any issue labels.
    • Sort by creation date (created-asc) or last update (updated-asc) to find the most likely candidates for being outdated.
    • Fetch at least 20-30 candidates.
    • Example command (with label): gh issue list --repo flutter/devtools --search "label:bug is:open sort:created-asc" --limit 30 | cat
    • Example command (without label): gh issue list --repo flutter/devtools --search "is:open sort:created-asc" --limit 30 | cat
  2. Investigate Status:

    • For each candidate, analyze its description and comments.
    • Pro Tip: Use the bundled script dart scripts/fetch_issues.dart <numbers...> or dart scripts/fetch_issues.dart --page <number> to get a comprehensive view of issues and their comments.
    • Compare the issue's request or reported bug with the current state of the codebase.
    • Refer to references/rationale_templates.md for a library of common reasons issues become outdated in DevTools.
    • Safety Rule: Do not assume a bug is fixed or obsolete just because the screen has been updated or the file modified. Verify if the specific bug behavior is still possible. Valid bugs or feature requests should not be closed as stale just because they are old or have no activity. Inactivity alone does not invalidate a feature request or bug report.
  3. Draft and Review Closing Comments (CRITICAL MANDATE):

    • For issues identified as candidates for closing, draft a detailed comment for each explaining why it can be closed.
    • Style Constraint: DO NOT use em dashes (—) in the comments. Use hyphens (-) or colons (:) instead.
    • Template: Consult references/rationale_templates.md for wording inspiration.
    • Each comment MUST end with: "If there is more work to do here, please let us know by filing a new issue with up to date information. Thanks!"
    • User Approval Required: You MUST present the identified issues (including URLs to the issues for easy navigation) and their drafted comments to the user and obtain explicit approval BEFORE running any command that closes an issue.
  4. Iterate on Skill Knowledge (Learning Loop):

    • If you discover a new, distinct category of closing rationale that is not covered in references/rationale_templates.md, update the reference file to include it.
  5. Execute and Summarize:

    • Once approved, use gh issue close with the -c flag to post the comment and close the issue.
    • Provide the user with a clean bulleted list of links to each closing comment.

Tips

  • Use available file and content search tools (such as grep, ripgrep, or environment-specific search tools) to check the current codebase for references to the issue or relevant code.
  • Look for related PRs that might have fixed the issue but didn't close it automatically.
  • Pro Tip: Use the bundled script dart scripts/search_prs.dart <query> to search for PRs in the repository.
  • For issues reporting specific versions, check the current DevTools version in packages/devtools_app/pubspec.yaml to determine if the reported version is very old. If the reported version is 1 or more major versions behind or 12 or more minor versions behind the current version, this issue is a good candidate for being obsolete.

Thêm skills từ flutter

dart-modern-features
flutter
Để tìm các ứng viên cho việc hiện đại hóa:
flutter-fix-layout-issues
flutter
Sửa lỗi bố cục Flutter (tràn, ràng buộc vô hạn) bằng các công cụ Dart và Flutter MCP. Sử dụng khi xử lý "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Thêm mô tả thay đổi dành cho người dùng vào ghi chú phát hành DevTools. Sử dụng khi ghi lại các cải tiến, sửa lỗi hoặc tính năng mới trong tệp NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Quy trình rà soát pull request riêng cho kho lưu trữ DevTools, áp dụng các nguyên tắc về phong cách và mẫu rà soát phổ biến của DevTools. Sử dụng khi rà soát pull request trong…
dart-use-primary-constructors
flutter
Giúp người dùng viết các primary constructor đúng cú pháp và ngữ nghĩa trong Dart, đồng thời di chuyển/sử dụng cú pháp constructor mới, cú pháp dấu chấm phẩy thân rỗng,…
code-documentation
flutter
Hướng dẫn viết tài liệu mã hiệu quả, bao gồm docstrings, JSDoc, dartdoc và các chú thích triển khai. Sử dụng kỹ năng này khi viết mã mới, thêm…
api-review
flutter
Xem xét mã được chỉ định theo các nguyên tắc thiết kế API chuẩn. Sử dụng kỹ năng này khi người dùng yêu cầu đánh giá API hoặc kiểm tra mã theo thiết kế API…
flutter-accessibility
flutter
Triển khai các tiêu chuẩn truy cập WCAG 2 và EN 301 549 cùng bố cục thích ứng trong ứng dụng Flutter. Áp dụng chú thích ngữ nghĩa, kích thước vùng chạm (tối thiểu 48x48 dp) và tỷ lệ tương phản văn bản (4.5:1 cho văn bản nhỏ, 3:1 cho văn bản lớn) trên các nền tảng di động, web và máy tính để bàn. Cung cấp logic quyết định cho khởi tạo ngữ nghĩa web, bao bọc widget tương tác, chuyển đổi bố cục dựa trên kích thước màn hình và xử lý đầu vào bàn phím/chuột. Bao gồm quản lý điều hướng tiêu điểm qua FocusTraversal