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溢出”、“垂直…
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实现的焦点遍历管理,以及...