Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

ai-summary-commentai 总结评论

Agent Skill

ai-summary-comment 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

349

周安装

14

GitHub Stars

23,192

下载量

113
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ai-summary-comment(ai 总结评论)
来源仓库:https://github.com/dotnet/maui
仓库路径:skills/ai-summary-comment
安装命令:
npx skills add https://github.com/dotnet/maui --skill ai-summary-comment
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dotnet/maui --skill ai-summary-comment

简介

ai-summary-comment 用于在 GitHub PR 中自动发布进度评论,汇总审查结果。

  • 包含可折叠的详细会话日志,便于维护者与贡献者快速定位问题。
  • 遵循自包含原则,所有信息必须内嵌于评论中,不可引用本地文件。
  • 安装方式为 GitHub 仓库,需通过 npx 命令添加并使用。
  • 建议在使用前确保 GitHub 账户具有对应仓库的评论权限。

SKILL.md

PR Comment Skill

This skill posts automated progress comments to GitHub Pull Requests during the PR review workflow. Comments are self-contained with collapsible Review Session details, providing rich context to maintainers and contributors.

⚠️ Self-Contained Rule: All content in PR comments must be self-contained. Never reference local files like CustomAgentLogsTmp/ - GitHub users cannot access your local filesystem.

✨ Key Features:

  • Single Unified Comment: ONE comment per PR/Issue containing ALL sections (PR Review, Try-Fix, Write-Tests, Verify-Tests)
  • Section-Based Updates: Each script updates only its section, preserving others
  • Duplicate Prevention: Finds existing <!-- AI Summary --> comment and updates it
  • File-Based DryRun Preview: Use -DryRun to preview changes in a local file before posting
  • Simple Interface: Just provide PR number - script handles everything else

Comment Architecture

Unified AI Summary Comment

Most scripts post to the same single comment identified by <!-- AI Summary -->. Each script updates its own section:

<!-- AI Summary -->

## 🤖 AI Summary

<!-- SECTION:PR-REVIEW -->
... PR review phases ...
<!-- /SECTION:PR-REVIEW -->

<!-- SECTION:TRY-FIX -->
... try-fix attempts ...
<!-- /SECTION:TRY-FIX -->

<!-- SECTION:WRITE-TESTS -->
... write-tests attempts ...
<!-- /SECTION:WRITE-TESTS -->

<!-- SECTION:VERIFY-TESTS -->
... test verification results ...
<!-- /SECTION:VERIFY-TESTS -->

Behavior:

  • First script to run creates the comment
  • Subsequent scripts find the existing comment and update/add their section
  • Sections are independent - updating one preserves others

Separate PR Finalization Comment

The post-pr-finalize-comment.ps1 script posts a separate comment identified by <!-- PR-FINALIZE-COMMENT -->. This comment contains three sections:

  • Title: Shows the current vs recommended PR title
  • Description: Shows description assessment, missing elements, and recommended description
  • Code Review: Shows code review findings (critical issues, suggestions, positive observations)

If an existing finalize comment exists, it will be replaced with the updated sections. This keeps finalization reviews distinct from automated analysis.

⚠️ Important Requirements for PR Finalize Comments:

  • When TitleStatus is NeedsUpdate, always provide -RecommendedTitle
  • When DescriptionStatus is NeedsUpdate or NeedsRewrite, always provide -RecommendedDescription with the full suggested description text
  • The script will warn if these are missing but won't fail

Section Scripts

AI Summary Sections (Unified Comment)

SectionScriptLocation
PR-REVIEWpost-ai-summary-comment.ps1.github/skills/ai-summary-comment/scripts/
TRY-FIXpost-try-fix-comment.ps1.github/skills/ai-summary-comment/scripts/
WRITE-TESTSpost-write-tests-comment.ps1.github/skills/ai-summary-comment/scripts/
VERIFY-TESTSpost-verify-tests-comment.ps1.github/skills/ai-summary-comment/scripts/

Separate Comments

CommentScriptMarker
PR Finalizationpost-pr-finalize-comment.ps1<!-- PR-FINALIZE-COMMENT -->

Supported Phases

PhaseDescriptionWhen to PostWhat This Enables Next
pre-flightContext gathering completeAfter documenting issue, files, and discussionTests Phase: Agent can now verify/create test files that reproduce the bug
testsTest analysis completeAfter identifying test files and coverageGate Phase: Agent can run tests to verify they catch the bug
gateTest validation completeAfter running tests and verifying bug reproductionFix Phase: Agent can explore alternative fixes (tests proven to catch bug)
fixSolution comparison completeAfter comparing PR fix with alternativesReport Phase: Agent can finalize recommendation based on fix comparison
reportFinal analysis completeAfter generating comprehensive reviewPR Decision: Maintainers can approve/merge or request changes based on full analysis

Usage

Simplest: Just provide PR number (auto-loads from phase files)

# Auto-loads from CustomAgentLogsTmp/PRState/{PRNumber}/PRAgent/*/content.md
pwsh .github/skills/ai-summary-comment/scripts/post-ai-summary-comment.ps1 -PRNumber 27246

Parameters

ParameterRequiredDescriptionExample
PRNumberYesPull request number12345
DryRunNoPreview changes in local file instead of posting to GitHub-DryRun
PreviewFileNoPath to local preview file for DryRun mode (default: CustomAgentLogsTmp/PRState/{PRNumber}/ai-summary-comment-preview.md)-PreviewFile./preview.md
SkipValidationNoSkip validation checks (not recommended)-SkipValidation

DryRun Preview Workflow

Use -DryRun to preview the combined comment before posting to GitHub. Each script updates the same preview file, mirroring how the actual GitHub comment is updated.

# Step 1: Run verify-tests script (creates preview file)
pwsh .github/skills/ai-summary-comment/scripts/post-verify-tests-comment.ps1 -PRNumber 32891 -DryRun

# Step 2: Run try-fix script (updates same preview file)
pwsh .github/skills/ai-summary-comment/scripts/post-try-fix-comment.ps1 -IssueNumber 32891 -DryRun

# Step 3: Review the combined preview
open CustomAgentLogsTmp/PRState/32891/ai-summary-comment-preview.md

# Step 4: Post for real (remove -DryRun)
pwsh .github/skills/ai-summary-comment/scripts/post-verify-tests-comment.ps1 -PRNumber 32891
pwsh .github/skills/ai-summary-comment/scripts/post-try-fix-comment.ps1 -IssueNumber 32891

Key behavior: The preview file exactly matches what will be posted to GitHub. Multiple scripts accumulate their sections in the same file.

Section Ordering

Sections appear in the unified comment in this order (based on which scripts run first):

  1. VERIFY-TESTS - Test verification results
  2. TRY-FIX - Alternative fix exploration attempts
  3. WRITE-TESTS - Test writing attempts
  4. PR-REVIEW - PR review phases

Each section is wrapped with markers like <!-- SECTION:TRY-FIX --> and <!-- /SECTION:TRY-FIX -->.

Cleanup

To reset the preview file for a fresh start:

rm CustomAgentLogsTmp/PRState/{PRNumber}/ai-summary-comment-preview.md

Prerequisites

Scripts require GitHub CLI authentication:

gh auth status  # Verify authentication before running

Comment Format

Comments are formatted with:

  • Phase badge (🔍 Pre-Flight, 🚦 Gate, 🔧 Fix, 📋 Report)
  • Status indicator (✅ Completed, ⚠️ Issues Found)
  • Expandable review sessions (each session is a collapsible section)
  • What's Next (what phase happens next)

Review Session Tracking

When the same PR is reviewed multiple times (e.g., after new commits), the script updates the single aggregated review comment and adds a new expandable section for each commit-based review session.

Example Output

## 🔍 Pre-Flight: Context Gathering Complete

✅ **Status**: Phase completed successfully

### Summary
- **Issue**: #33356 - CollectionView crash on iOS
- **Platforms Affected**: iOS, MacCatalyst
- **Files Changed**: 2 implementation files, 1 test file
- **Discussion**: 3 key reviewer comments identified

### Key Findings
- Crash occurs when scrolling rapidly with large datasets
- Existing PR adds null check in ItemsViewController
- Test coverage includes iOS device test

### Next Steps
→ **Phase 2: Gate** - Verifying tests catch the bug

---
*Posted by PR Agent @ 2026-01-17 14:23:45 UTC*

Script Files

Try-Fix Comment Script

The post-try-fix-comment.ps1 script updates the <!-- SECTION:TRY-FIX --> section of the unified AI Summary comment. It aggregates all try-fix attempts into collapsible sections. Works for both issues and PRs (GitHub treats PR comments as issue comments).

✨ Auto-Loading from CustomAgentLogsTmp: The script automatically discovers and aggregates ALL attempt directories from CustomAgentLogsTmp/PRState/{IssueNumber}/PRAgent/try-fix/.

Usage

Simplest: Provide attempt directory

# All parameters auto-loaded from directory structure
pwsh .github/skills/ai-summary-comment/scripts/post-try-fix-comment.ps1 `
    -TryFixDir CustomAgentLogsTmp/PRState/27246/PRAgent/try-fix/attempt-1

Or just provide issue number

# Auto-discovers and posts latest attempt from CustomAgentLogsTmp/PRState/27246/PRAgent/try-fix/
pwsh .github/skills/ai-summary-comment/scripts/post-try-fix-comment.ps1 -IssueNumber 27246

Manual parameters

pwsh .github/skills/ai-summary-comment/scripts/post-try-fix-comment.ps1 `
    -IssueNumber 19806 `
    -AttemptNumber 1 `
    -Approach "LayoutExtensions Width Constraint" `
    -RootCause "ComputeFrame only constrains width for Fill alignment" `
    -FilesChanged "| File | Changes |`n|------|---------|`n| LayoutExtensions.cs | +17/-3 |" `
    -Status "Compiles" `
    -CodeSnippet "else if (!hasExplicitWidth) { ... }" `
    -Analysis "Core project compiles successfully"

Parameters

ParameterRequiredDescription
TryFixDirNo*Path to try-fix attempt directory (auto-loads all parameters)
IssueNumberNo*Issue or PR number to post comment on
AttemptNumberNo*Attempt number (1, 2, 3, etc.) - auto-detected from TryFixDir
ApproachNo*Brief description of fix approach
RootCauseNoDescription of root cause identified
FilesChangedNo*Markdown table of files changed - auto-generated from diff
StatusNo*"Compiles", "Pass", or "Fail" - loaded from result.txt
CodeSnippetNoCode snippet showing the fix - loaded from fix.diff
AnalysisNoAnalysis of why it worked/failed - loaded from analysis.md
DryRunNoPrint comment instead of posting

*When using -TryFixDir, all marked parameters are auto-loaded from files in the directory.

Expected Directory Structure

CustomAgentLogsTmp/PRState/{IssueNumber}/PRAgent/try-fix/
├── attempt-1/
│   ├── approach.md      # Brief description of the approach (required)
│   ├── result.txt       # "Pass", "Fail", or "Compiles" (required)
│   ├── fix.diff         # Git diff of the fix (optional)
│   └── analysis.md      # Detailed analysis (optional)
├── attempt-2/
│   └── ...
└── attempt-3/
    └── ...

Comment Format

## 🔧 Try-Fix Attempts for Issue #XXXXX

<!-- TRY-FIX-COMMENT -->

<details>
<summary>📊 <strong>Expand Full Details</strong></summary>

**Issue:** [#XXXXX](link)

---

<details>
<summary><strong>🔧 Attempt #1: Approach Name</strong> ✅ Status</summary>
... attempt details ...
</details>

---

*This fix was developed independently.*

</details>

Key Behaviors

  • First attempt creates new comment with <!-- TRY-FIX-COMMENT --> marker
  • Subsequent attempts edit the same comment (no new comments)
  • Outer wrapper shows "📊 Expand Full Details" - keeps PR page clean
  • Each attempt is a nested collapsible section inside the wrapper

Verify-Tests Comment Script

The post-verify-tests-comment.ps1 script updates the <!-- SECTION:VERIFY-TESTS --> section of the unified AI Summary comment. It documents test verification results (whether tests fail without fix and pass with fix).

✨ Auto-Loading from CustomAgentLogsTmp: The script automatically loads verification results from CustomAgentLogsTmp/PRState/{PRNumber}/verify-tests-fail/verification-report.md.

Usage

Simplest: Provide PR number

# Auto-loads from CustomAgentLogsTmp/PRState/{PRNumber}/verify-tests-fail/
pwsh .github/skills/ai-summary-comment/scripts/post-verify-tests-comment.ps1 -PRNumber 32891

With explicit report file

pwsh .github/skills/ai-summary-comment/scripts/post-verify-tests-comment.ps1 `
    -PRNumber 32891 `
    -ReportFile CustomAgentLogsTmp/PRState/32891/PRAgent/gate/verify-tests-fail/verification-report.md

Parameters

ParameterRequiredDescription
PRNumberYesPull request number
ReportFileNoPath to verification report (auto-discovered if not provided)
StatusNo"Passed" or "Failed" - auto-detected from report
PlatformNoPlatform tested (ios, android, etc.) - auto-detected from report
ModeNo"FailureOnly" or "FullVerification" - auto-detected from report
DryRunNoPreview changes in local file instead of posting
PreviewFileNoPath to local preview file for DryRun mode

Expected Directory Structure

CustomAgentLogsTmp/PRState/{PRNumber}/PRAgent/gate/verify-tests-fail/
├── verification-report.md   # Full verification report (required)
├── verification-log.txt     # Detailed log (optional)
├── test-without-fix.log     # Test output without fix (optional)
└── test-with-fix.log        # Test output with fix (optional)

Write-Tests Comment Script

The post-write-tests-comment.ps1 script updates the <!-- SECTION:WRITE-TESTS --> section of the unified AI Summary comment. It documents test writing attempts for an issue.

✨ Auto-Loading from CustomAgentLogsTmp: The script can automatically load test details from the write-tests output directory structure.

Usage

Simplest: Provide test directory

# All parameters auto-loaded from directory structure
pwsh .github/skills/ai-summary-comment/scripts/post-write-tests-comment.ps1 `
    -TestDir CustomAgentLogsTmp/PRState/27246/write-tests/attempt-1

Or just provide issue number

# Auto-discovers and posts latest attempt from CustomAgentLogsTmp/PRState/27246/write-tests/
pwsh .github/skills/ai-summary-comment/scripts/post-write-tests-comment.ps1 -IssueNumber 27246

Manual parameters

pwsh .github/skills/ai-summary-comment/scripts/post-write-tests-comment.ps1 `
    -IssueNumber 33331 `
    -AttemptNumber 1 `
    -TestDescription "Verifies Picker.IsOpen property changes correctly" `
    -HostAppFile "src/Controls/tests/TestCases.HostApp/Issues/Issue33331.cs" `
    -TestFile "src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue33331.cs" `
    -TestMethod "PickerIsOpenPropertyChanges" `
    -Category "Picker" `
    -VerificationStatus "Verified"

Parameters

ParameterRequiredDescription
TestDirNo*Path to write-tests attempt directory (auto-loads all parameters)
IssueNumberNo*Issue or PR number to post comment on
AttemptNumberNo*Attempt number (1, 2, 3, etc.) - auto-detected from TestDir
TestDescriptionNo*Brief description of what the test verifies
HostAppFileNo*Path to the HostApp test page file
TestFileNo*Path to the NUnit test file
TestMethodNo*Name of the test method
CategoryNo*UITestCategories category used
VerificationStatusNo*"Verified", "Failed", or "Unverified" - loaded from result.txt
PlatformsNoPlatforms the test runs on (default: "All")
NotesNoAdditional notes - loaded from notes.md
DryRunNoPrint comment instead of posting

*When using -TestDir, all marked parameters are auto-loaded from files in the directory.

Expected Directory Structure

CustomAgentLogsTmp/PRState/{IssueNumber}/write-tests/
├── attempt-1/
│   ├── description.md   # Brief test description (required)
│   ├── test-info.json   # {HostAppFile, TestFile, TestMethod, Category} (required)
│   ├── result.txt       # "Verified", "Pass", "Failed", or "Unverified" (required)
│   └── notes.md         # Additional notes (optional)
├── attempt-2/
│   └── ...
└── attempt-3/
    └── ...

test-info.json Format

{
    "HostAppFile": "src/Controls/tests/TestCases.HostApp/Issues/Issue27246.cs",
    "TestFile": "src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue27246.cs",
    "TestMethod": "ScrollToFirstItemWithHeader",
    "Category": "CollectionView"
}

PR Finalize Comment Script

The post-pr-finalize-comment.ps1 script posts a separate comment (not part of the unified AI Summary) specifically for PR finalization reviews. It provides structured feedback on the PR title, description, and code review findings.

Usage

Simplest: Just provide PR number (auto-loads from summary file)

# Auto-loads from CustomAgentLogsTmp/PRState/{PRNumber}/pr-finalize/pr-finalize-summary.md
pwsh .github/skills/ai-summary-comment/scripts/post-pr-finalize-comment.ps1 -PRNumber 33892

Full manual parameters (recommended for best results)

pwsh .github/skills/ai-summary-comment/scripts/post-pr-finalize-comment.ps1 `
    -PRNumber 33892 `
    -TitleStatus "NeedsUpdate" `
    -CurrentTitle "Fix 32650 Image Orientation" `
    -RecommendedTitle "[iOS][Android] MediaPicker: Fix image orientation when RotateImage=true" `
    -TitleIssues "- Missing platform tags
- Doesn't describe the behavior fix" `
    -DescriptionStatus "NeedsUpdate" `
    -DescriptionAssessment "The current description is minimal and missing:
- ❌ Missing NOTE block for testing artifacts
- ❌ No root cause analysis
- ❌ No technical details" `
    -MissingElements "Add the NOTE block, root cause, and technical details." `
    -RecommendedDescription "> [!NOTE]
> Are you waiting for this PR? Test it: [Testing PR Builds](link)

### Root Cause
...description...

### Description of Change
...details..." `
    -CodeReviewStatus "IssuesFound" `
    -CodeReviewFindings "### 🔴 Critical Issues
**1. Broken indentation**
- File: \`src/file.cs\`
- Problem: Inconsistent tabs/spaces

### 🟡 Suggestions
1. Consider disposing Matrix object

### ✅ Looks Good
- Proper cleanup in finally block"

Parameters

ParameterRequiredDescription
PRNumberYes*Pull request number
SummaryFileNoPath to pr-finalize-summary.md (auto-discovered)
TitleStatusNo*Good or NeedsUpdate
CurrentTitleNo*Current PR title (fetched from GitHub if not provided)
RecommendedTitleNoRequired if TitleStatus is NeedsUpdate
TitleIssuesNoList of issues with current title
DescriptionStatusNo*Excellent, Good, NeedsUpdate, or NeedsRewrite
DescriptionAssessmentYesAssessment of description quality
MissingElementsNoWhat's missing from the description
RecommendedDescriptionNoRequired if DescriptionStatus is NeedsUpdate/NeedsRewrite
CodeReviewStatusNoPassed, IssuesFound, or Skipped
CodeReviewFindingsNoMarkdown content for code review section
DryRunNoPreview instead of posting

*At least PRNumber or SummaryFile required. Script auto-detects values when possible.

⚠️ Common Mistakes to Avoid

  1. Missing RecommendedTitle when TitleStatus is NeedsUpdate

- The script will warn but still post - always provide a recommended title

  1. Missing RecommendedDescription when DescriptionStatus is NeedsUpdate

- Users need to see what the description SHOULD look like

  1. Code review findings not starting with proper headers

- Always structure with ### 🔴 Critical Issues, ### 🟡 Suggestions, ### ✅ Looks Good

  1. Auto-parsing from summary file getting confused

- When in doubt, provide explicit parameters instead of relying on auto-parsing

Expected Directory Structure

The PR agent writes phase output files that comment scripts auto-load:

CustomAgentLogsTmp/PRState/{PRNumber}/
├── PRAgent/
│   ├── pre-flight/
│   │   └── content.md              # Phase 1 output (auto-loaded by post-ai-summary-comment.ps1)
│   ├── gate/
│   │   ├── content.md              # Phase 2 output (auto-loaded by post-ai-summary-comment.ps1)
│   │   └── verify-tests-fail/     # Script output from verify-tests-fail.ps1
│   │       ├── verification-report.md
│   │       ├── verification-log.txt
│   │       ├── test-without-fix.log
│   │       └── test-with-fix.log
│   ├── try-fix/
│   │   ├── content.md              # Phase 3 summary (auto-loaded by post-ai-summary-comment.ps1)
│   │   ├── attempt-1/             # Individual attempt outputs
│   │   │   ├── approach.md
│   │   │   ├── result.txt
│   │   │   ├── fix.diff
│   │   │   └── analysis.md
│   │   └── attempt-2/
│   │       └── ...
│   └── report/
│       └── content.md              # Phase 4 output (auto-loaded by post-ai-summary-comment.ps1)
├── pr-finalize/
│   ├── pr-finalize-summary.md
│   ├── recommended-description.md
│   └── code-review.md
└── copilot-logs/
    ├── process-*.log
    └── session-*.md

Auto-Loading Behavior

When post-ai-summary-comment.ps1 is called, it auto-discovers phase files:

  1. Checks CustomAgentLogsTmp/PRState/{PRNumber}/PRAgent/*/content.md
  2. Loads all available phase content files
  3. Builds the comment structure from the loaded files
  4. Posts/updates the unified AI Summary comment

This eliminates the need to pass large content strings as parameters.


Technical Details

  • Comments identified by HTML marker <!-- AI Summary -->
  • Existing comments are updated (not duplicated) when posting again
  • Review sessions grouped by commit SHA
  • Uses gh api for create/update operations

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.28%
按下载量换算40

Claude

33.5%
按下载量换算38

Cursor

18.23%
按下载量换算21

Gemini CLI

10.5%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills