closing-obsolete-issues

作者: flutter

在 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.

來自 flutter 的更多技能

dart-modern-features
flutter
為了尋找現代化的候選對象:
flutter-fix-layout-issues
flutter
使用 Dart 和 Flutter MCP 工具修復 Flutter 佈局錯誤(溢出、無限制約束)。適用於處理「RenderFlex overflowed」、「Vertical…」等問題。
adding-release-notes
flutter
在 DevTools 發行說明中新增使用者面向的變更描述。用於在 NEXT_RELEASE_NOTES.md 檔案中記錄改進、修正或新功能。
reviewing-devtools-prs
flutter
DevTools 儲存庫專用的 PR 審查工作流程,強制執行 DevTools 風格指南與常見審查模式。用於審查以下專案中的拉取請求時…
dart-use-primary-constructors
flutter
協助使用者撰寫語法與語意正確的 Dart 主要建構子,並遷移/使用新的建構子語法、空主體分號語法、…
code-documentation
flutter
編寫有效程式碼文件的指南,包括 docstrings、JSDoc、dartdoc 和實作註解。在編寫新程式碼、新增…時使用此技能。
api-review
flutter
根據規範的 API 設計指南審查指定的程式碼。當使用者要求進行 API 審查或檢查程式碼是否符合 API 設計時,請使用此技能。
flutter-accessibility
flutter
在 Flutter 應用程式中實作 WCAG 2 與 EN 301 549 無障礙標準及自適應佈局。強制執行語意標註、觸控目標尺寸(最小 48x48 dp)以及文字對比度(小字 4.5:1,大字 3:1),涵蓋行動裝置、網頁與桌面平台。提供網頁語意初始化、互動元件包裝、基於螢幕尺寸的佈局切換,以及鍵盤/滑鼠輸入處理的決策邏輯。包含透過 FocusTraversalGroup 進行的焦點導覽管理,以及...