feat(github-skills): add issue comments support to Get-PRReviewComments#235
Conversation
Spec-to-Implementation ValidationWarning No spec references found This PR does not reference any specifications (REQ-, DESIGN-, TASK-*, or linked issues). How to add spec referencesAdd spec references to your PR description to enable traceability:
Spec Requirement by PR Type:
See PR template for full guidance. Powered by AI Spec Validator - Validation skipped - no specs found |
AI Quality Gate ReviewWarning WalkthroughThis PR was reviewed by six AI agents in parallel, analyzing different aspects of the changes:
Review Summary
DevOps Review DetailsNow I have the full context. Let me verify the test file runs and check for any workflow dependencies. The tests could not run locally due to permissions, but I have all the information needed for the DevOps review. Let me verify the syntax with PowerShell parser. The environment does not have pwsh available. I have reviewed the files thoroughly and can now provide the DevOps review. DevOps PR Review: Get-PRReviewComments Issue Comments SupportPipeline Impact Assessment
CI/CD Quality Checks
Findings
Template Assessment
Automation Opportunities
Recommendations
VerdictArchitect Review DetailsDesign Quality Assessment
Overall Design Score: 5/5 Architectural Concerns
Breaking Change Assessment
Technical Debt Analysis
The implementation adds 2 new output fields ( ADR Assessment
Recommendations
VerdictSecurity Review DetailsSecurity Report: PR Get-PRReviewComments Issue Comments SupportSummary
Findings
Analysis1. Injection Vulnerabilities (CWE-78, CWE-89)[PASS] No shell injection risks. The script uses:
2. Secret Detection[PASS] No hardcoded credentials, API keys, or tokens detected in the changes. 3. Input Validation[PASS] All user inputs are validated:
4. Data Exposure[PASS] The script processes GitHub API responses without exposing sensitive data. Comment bodies are passed through without modification, consistent with existing behavior. 5. Path Traversal (CWE-22)[PASS] No file system operations in the changed code. The script only calls GitHub APIs. 6. Dependency Security[PASS] Uses existing
7. Test File Review[PASS] The test file contains only Pester tests with static pattern matching. No security concerns. RecommendationsNone required. The implementation follows existing secure patterns. VerdictAnalyst Review DetailsLet me check the existing patterns in related scripts and the test file structure. Now let me check for existing test patterns in the tests directory. Now I have enough context to provide a thorough analysis. PR Analysis: feat(github-skills) - Add Issue Comments SupportCode Quality Score
Overall: 5/5 Impact Assessment
Findings
Detailed AnalysisStrengths:
Minor Observations:
RecommendationsNone required. Implementation is clean and follows established conventions. VerdictQA Review DetailsQA Test Report: Get-PRReviewComments.ps1Summary
Test Coverage Assessment
Quality Concerns
Regression Risk Assessment
Test Quality AnalysisStrengths
Weaknesses
Edge Cases Analysis
VerdictRecommendations
Roadmap Review DetailsStrategic Alignment Assessment
Feature Completeness
Impact Analysis
Concerns
Recommendations
VerdictRun Details
Powered by AI Quality Gate - View Workflow |
There was a problem hiding this comment.
Code Review
The pull request enhances the Get-PRReviewComments.ps1 script by introducing a new IncludeIssueComments switch parameter, allowing it to fetch both code-level review comments and top-level PR (issue) comments. The script's documentation, API calls, and output structure have been updated to support this, including new output properties for ReviewCommentCount and IssueCommentCount, and a combined, sorted list of all comments. A new Pester test file, Get-PRReviewComments.Tests.ps1, was added to validate the new functionality, parameter handling, API endpoint usage, and output structure. The review comment suggests a minor refactoring to improve code clarity and efficiency by removing redundant array subexpression operators (@(...)) in several places where variables are already arrays, such as when sorting and accessing properties of the combined comment list.
There was a problem hiding this comment.
Pull request overview
This PR adds support for fetching issue comments (top-level PR comments) in addition to code-level review comments in the Get-PRReviewComments.ps1 script. This addresses the problem where important bot comments (AI Quality Gate, spec validation, CodeRabbit summaries) posted via the /issues/{n}/comments API were being missed by the /pr-review workflow.
Key changes:
- Added
-IncludeIssueCommentsswitch parameter to optionally fetch issue comments alongside review comments - Added
CommentTypefield to distinguish between "Review" and "Issue" comment types - Added comprehensive test suite with 49 Pester tests covering syntax, parameters, API endpoints, and functionality
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
.claude/skills/github/scripts/pr/Get-PRReviewComments.ps1 |
Added -IncludeIssueComments switch parameter, issue comment fetching logic, CommentType field, and separate count properties (ReviewCommentCount, IssueCommentCount) for distinguishing comment types |
.claude/skills/github/tests/Get-PRReviewComments.Tests.ps1 |
New test file with 49 static content validation tests covering script syntax, parameters, API endpoints, comment type handling, output structure, and documentation |
|
Caution Review failedThe pull request is closed. Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. 📝 WalkthroughWalkthroughAdds Changes
Sequence DiagramsequenceDiagram
participant Script as Get-PRReviewComments
participant API as GitHub API
participant Processor as Comment Processor
participant Output as Unified Output
Script->>API: Fetch review comments (pulls/{pr}/comments) with pagination
API-->>Script: Review comment batch
alt IncludeIssueComments enabled
Script->>API: Fetch issue comments (issues/{pr}/comments) with pagination
API-->>Script: Issue comment batch
Script->>Processor: Process review comments → add CommentType="Review"
Script->>Processor: Process issue comments → add CommentType="Issue"
else IncludeIssueComments disabled
Script->>Processor: Process review comments only
end
Processor->>Processor: Combine into allProcessedComments
Processor->>Processor: Sort by CreatedAt
Processor->>Processor: Recompute author groupings (AuthorSummary)
Processor->>Output: Return unified Comments array
Output->>Output: Set ReviewCommentCount, IssueCommentCount, TotalComments
Output-->>Script: Final output object
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
📜 Recent review detailsConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
Comment |
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
templates/agents/pr-comment-responder.shared.md (1)
62-62: Skill table change approved, but verify Phase 1.3 alignment with backward compatibility.Line 62 correctly adds the new flag to the table. However, Phase 1.3 (lines 356–386) documents the workflow fetching from both
/pulls/and/issues/endpoints unconditionally. The PS1 script defaults to review-only unless-IncludeIssueCommentsis set, creating a mismatch:
- PS1 behavior: Review-only by default (backward compatible per PR objectives)
- Agent workflow: Always gathers both types (lines 359–380)
When delegating to orchestrator or executing the skill from this agent, clarify whether the agent should:
- Always invoke the script with
-IncludeIssueComments(recommended, given PR motivation includes issue comments), OR- Conditionally fetch issue comments based on PR context
If (1), update the table description or add a note that the agent uses the flag by default. If (2), show conditional logic in Phase 1.3.
📜 Review details
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.claude/skills/github/SKILL.md.github/agents/pr-comment-responder.agent.md.github/agents/pr-comment-responder.prompt.mdsrc/claude/pr-comment-responder.mdtemplates/agents/pr-comment-responder.shared.md
🧰 Additional context used
📓 Path-based instructions (49)
{.githooks/**,**/.github/**,**/infrastructure/**,**/config/**,**/*.tf,**/*.yml,**/*.yaml}
📄 CodeRabbit inference engine (.agents/metrics/baseline-report.md)
Infrastructure files (including
.githooks/pre-commit) must receive security review before deployment
Files:
.github/agents/pr-comment-responder.agent.md.github/agents/pr-comment-responder.prompt.md
.github/agents/*.agent.md
📄 CodeRabbit inference engine (.agents/architecture/ADR-0003-agent-tool-selection-criteria.md)
.github/agents/*.agent.md: Each agent's.agent.mdfile must include explicittools:frontmatter with 3-9 curated tools based on role responsibilities
Allocate universal memory and code analysis tools (cloudmcp-manager/*andserena/*) to all agents for cross-session continuity and semantic code understanding
Only allocateexecutetool to implementation-focused agents: implementer, devops, qa, and pr-comment-responder; prevent non-implementation agents from having shell access
Agents producing handoff artifacts (analyst, critic, high-level-advisor, retrospective, security) requireedittool but must write only to.agents/directories, not source code paths
Only allocate research tools (web, perplexity, context7, deepwiki) to agents with explicit research responsibilities: analyst, independent-thinker, and security
Only allocate agent orchestration tools (agent,todo,memory) to coordinator agents: orchestrator, pr-comment-responder, and retrospective
Use specific GitHub toolsets instead of blanketgithub/*allocation; map toolsets to agent roles: context/repos/issues/pull_requests for analysts/orchestrators, add actions for devops, add security toolsets for security agent
Files:
.github/agents/pr-comment-responder.agent.md
.github/agents/**
📄 CodeRabbit inference engine (.agents/analysis/002-copilot-cli-limitations-assessment.md)
Agent configuration must support project-level definition and version control. Use repository-level agent files (
.github/agents/) with committable configuration rather than user-home-only global agent loadingRepository-level installation: Deploy agents to
.github/agents/directory and deploy instructions to.github/directory for Visual Studio 2026 using the same destination as VS Code agents
Files:
.github/agents/pr-comment-responder.agent.md.github/agents/pr-comment-responder.prompt.md
**/*.md
📄 CodeRabbit inference engine (.agents/architecture/ADR-001-markdown-linting.md)
**/*.md: Add language identifiers to all fenced code blocks (MD040). Use appropriate language identifiers:csharpfor C#,powershellfor PowerShell,bashfor shell,jsonfor JSON,yamlfor YAML,markdownfor Markdown,textfor plain text or generic/pseudo code
Wrap generic types in backticks to escape angle brackets (e.g.,ArrayPool<T>instead of ArrayPool) to comply with MD033 inline HTML restrictions and ensure proper rendering
Add blank lines around code blocks to comply with MD031 markdown linting requirements
Add blank lines around lists to comply with MD032 markdown linting requirements
Add blank lines around headings to comply with MD022 markdown linting requirements
Use ATX-style headings (# Heading) consistently across all markdown documents (MD003)
Use fenced code block style (triple backticks) consistently, with backtick delimiters rather than tildes (MD046, MD048)
Allow only specific HTML elements in markdown:<br>,<kbd>,<sup>,<sub>. Escape or avoid other inline HTML elements to comply with MD033 restrictions
**/*.md: Always specify language identifiers on fenced code blocks for syntax highlighting in markdown documentation
Add blank lines before and after code blocks, lists, and headings in markdown documents
Detect and repair malformed code fence closings where closing fences have language identifiers (e.g.,text) instead of plain closing fences ()
**/*.md: Runmarkdownlint --fixbefore manual edits to auto-resolve spacing violations (MD031/MD032/MD022)
Usetextfor pseudo-code and tool invocations, and use specific language identifiers (json, csharp, bash, yaml, markdown) for actual code in MD040 code blocks
Wrap .NET generic types likeArrayPool<T>,Span<T>,Vector256in backticks to prevent MD033 inline HTML violations in C# documentationFix malformed markdown code fence closings by ensuring closing fences never include language identifiers (use
instead oflanguage)Use HTML comment...
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
⚙️ CodeRabbit configuration file
**/*.md: Writing Quality: - Grade 9 reading level - Active voice, direct address - Short sentences (under 15 words ideal) - No fluff, filler, or marketing language - Replace adjectives with data where possible - Every sentence must pass the "so what" test
Flag: - Passive voice - Vague language (nearly, some, almost, very) - Jargon without definitions - Broken links and outdated procedures - Inconsistency with code changes in same PR - Missing context for new features or APIs
Ignore (handled by .markdownlint-cli2.yaml): - Markdown formatting and style - Heading level choices - Link formatting variations - Minor punctuation preferences
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
templates/agents/**/*.shared.md
📄 CodeRabbit inference engine (.agents/analysis/drift-analysis-claude-vs-templates.md)
templates/agents/**/*.shared.md: Restore exact Core Identity text from Claude agents - do not rewrite or expand Core Identity sections in template files
Add Claude Code Tools section or equivalent capabilities section listing available tools (Read/Grep/Glob, Write/Edit, WebSearch, cloudmcp-manager) to all agent definitions
Preserve Execution Mindset format as Think/Act/Create or Think/Act/Decide - do not introduce alternative formats like Think/Act/Challenge/Document without Claude source alignment
Preserve Handoff Options targets from Claude source - do not add or remove handoff targets without validation against Claude source of truth
Keep template-specific additions to agent definitions (constraints sections, handoff protocols, expanded frameworks, review criteria tables) - these are valuable enhancements but should be evaluated for back-porting to Claude source
Document 'When to Use' guidance for each agent describing appropriate use cases and scenarios where agent should be invokedUse
.shared.mdnaming convention to distinguish agent template sources from generated platform-specific outputsApply Phase 2 template-first workflow (modify templates/agents/*.shared.md first, run Generate-Agents.ps1, then verify) to all agent documentation changes across platforms
templates/agents/**/*.shared.md: Include required frontmatter fields in shared agent templates:description,tools_vscode, andtools_copilot
Include required sections in shared agent templates:# Agent Name,## Core Identity,## Core Mission,## Key Responsibilities,## Constraints,## Memory protocol,## Output Format, and## Handoff Protocol
Configure platform-specific tools in agent template frontmatter:tools_vscodefor VS Code/GitHub Copilot tools,tools_copilotfor Copilot CLI tools
Files:
templates/agents/pr-comment-responder.shared.md
{templates/agents/**/*.shared.md,src/vs-code-agents/**/*.agent.md,src/claude/**/*.md}
📄 CodeRabbit inference engine (.agents/analysis/drift-analysis-claude-vs-templates.md)
Standardize Memory Protocol syntax using platform variables - Claude format: mcp__cloudmcp-manager__memory-, Templates format: cloudmcp-manager/memory-
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{build/Generate-Agents.ps1,templates/agents/*.shared.md,build/scripts/*.ps1}
📄 CodeRabbit inference engine (.agents/architecture/2-variant-consolidation-review.md)
Generate agent files using PowerShell build script (build/Generate-Agents.ps1) from templates in templates/agents/*.shared.md with platform-specific configurations
Files:
templates/agents/pr-comment-responder.shared.md
templates/agents/*.shared.md
📄 CodeRabbit inference engine (.agents/planning/tasks-agent-consolidation.md)
Shared agent source files should be named with
.shared.mdextension and located intemplates/agents/, using placeholder syntax like {{PLATFORM_MODEL}} and {{PLATFORM_TOOLS}} for platform-specific valuesUpdate shared templates before regenerating platform agents to ensure consistency across multiple platforms (copilot-cli, vs-code)
templates/agents/*.shared.md: Store shared agent sources intemplates/agents/[agent-name].shared.mdformat
Shared agent sources MUST include a header comment indicating it is a source file
Shared agent sources MUST use placeholder syntax (e.g.,{{PLATFORM_TOOLS}},{{PLATFORM_MODEL}}) for platform-specific valuesUse
templates/agents/*.shared.mdas the SOURCE OF TRUTH for shared agent definitions
templates/agents/*.shared.md: Each shared agent template (agents/*.shared.md) must include all required frontmatter fields: description, argument-hint, tools_vscode array, and tools_copilot array
Each shared agent template must include all required content sections: Core Identity, Activation Profile, Core Mission, Key Responsibilities, Constraints, Memory Protocol, and Handoff Options
Files:
templates/agents/pr-comment-responder.shared.md
**/*.{sh,py,js,ts,bash}*(@(agent|comment|pr|review))*
📄 CodeRabbit inference engine (.agents/retrospective/047-pr-comment-handling.md)
Use
gh api repos/OWNER/REPO/pulls/PR/comments -X POST -F in_reply_to=ID -f body=TEXTfor thread-preserving responses to review comments
Files:
templates/agents/pr-comment-responder.shared.md
**/*pr-comment-responder*.{md,txt,prompt}*
📄 CodeRabbit inference engine (.agents/retrospective/047-pr-comment-handling.md)
Add GitHub API reference section to pr-comment-responder prompt with review comment endpoint patterns and common errors
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
templates/agents/**/*.md
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-16-phase3-consistency-validation.md)
Agent document changes must go through templates then Generate-Agents.ps1 to maintain consistency
Files:
templates/agents/pr-comment-responder.shared.md
**/{templates/agents/*.shared.md,**/agents/!(node_modules)/**/*.md,src/claude/*.md}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-16-phase4-handoff-validation.md)
Include 'Validation Failure' subsection in all handoff checklists to prevent incomplete handoffs
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/{templates/agents/*.shared.md,**/agents/*.md,src/claude/*.md}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-16-phase4-handoff-validation.md)
Handoff validation must cover Pass, Failure, and Special scenarios (e.g., approval/revision/escalation for critic, completion/blocker/security-flagged for implementer, pass/failure/infrastructure for qa, task breakdown/estimate reconciliation/scope concern for task-generator)
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{md,json,yml,yaml,ps1,sh,bash,toml,ini,cfg,config,txt}
📄 CodeRabbit inference engine (.agents/retrospective/phase1-remediation-pr43.md)
Use relative paths only in documentation and configuration files; avoid absolute paths (e.g., C:\ on Windows) to prevent environment contamination and maintain cross-platform portability
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{md,markdown}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-17-session-failures.md)
Do not include auto-generated headers in generated files
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{ps1,yml,yaml,md}
📄 CodeRabbit inference engine (.agents/analysis/003-session-protocol-skill-gate.md)
Validate skill availability before implementing GitHub operations - Check if
.claude/skills/github/directory exists and contains the required capability; list available GitHub skill scripts; read theskill-usage-mandatorymemory; document available skills in session log; use existing skills if they exist rather than writing inline code
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{md,js,ts,tsx,jsx,json,yaml,yml,sh,ps1}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-serena-memory-reference-migration.md)
Search entire codebase for pattern before migration to identify all references
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{md,js,ts,tsx,jsx}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-serena-memory-reference-migration.md)
Include fallback clause when migrating to tool calls for graceful degradation
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{md,ts,tsx,js,jsx,py}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-session-17-retrospective.md)
For features, add new sections rather than refactoring existing logic
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
templates/**
📄 CodeRabbit inference engine (templates/AGENTS.md)
After ANY modification to templates/ directory, regenerate all platform files by running: pwsh build/Generate-Agents.ps1, validate with pwsh build/Generate-Agents.ps1 -Validate, and commit template and generated files together
Files:
templates/agents/pr-comment-responder.shared.md
{src/claude/**/*.md,templates/agents/**/*.md,src/copilot-cli/**/*.md,src/vs-code-agents/**/*.md}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
{src/claude/**/*.md,templates/agents/**/*.md,src/copilot-cli/**/*.md,src/vs-code-agents/**/*.md}: Agent files ship as independent units - embed requirements, documentation, and guidelines directly in agent files rather than referencing external files. Do not reference external style guides or requirement files (e.g., src/STYLE-GUIDE.md) in agent files, as agents are copied to end-user machines (~/.claude/, ~/.copilot/, ~/.vscode/) without source tree access.
Before committing agent file changes, validate that all file references in the agent resolve from deployment locations, not just from the source repository root.
Test agent files in isolation before committing to verify they function without access to the source tree or external dependencies.
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{src/claude/**/*.md,templates/agents/**/*.md,src/copilot-cli/**/*.md,src/vs-code-agents/**/*.md,**/*.config.json,**/*.config.yaml,**/*.config.yml}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
Before creating file references in agent files, configs, or scripts, verify that the referenced path exists at the deployment location (~/.claude/, ~/.copilot/, ~/.vscode/), not just in the source tree repository root.
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{src/claude/**,templates/agents/**,src/copilot-cli/**,src/vs-code-agents/**}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
When planning agent enhancements, include all four platforms in scope: Claude agents (src/claude/, ~18 files), agent templates (templates/agents/, ~18 files), copilot-cli agents (src/copilot-cli/, ~18 files), and VS Code agents (src/vs-code-agents/, ~18 files). Agent changes typically affect 72 files minimum across all platforms.
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{src/claude/**,templates/agents/**,src/copilot-cli/**,src/vs-code-agents/**,**/*.config.json,**/*.config.yaml,**/*.config.yml}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
Apply DRY (Don't Repeat Yourself) principle with an exception for deployment units (agents, configs, etc.): Files that ship to end-user machines must be self-contained. Embed content instead of referencing external files, prioritizing portability over DRY adherence for these files.
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/{src/claude,templates/agents,src/copilot-cli,src/vs-code-agents}/**
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents.md)
**/{src/claude,templates/agents,src/copilot-cli,src/vs-code-agents}/**: Agent files ship as independent units - embed requirements and documentation, do not reference external files
Before creating file references in agent files, verify the path exists at deployment location (e.g., ~/.claude/, ~/.copilot/, ~/.vscode/), not just in source tree
Agent modifications must be applied consistently across all platforms: Claude agents (src/claude/), templates (templates/agents/), copilot-cli (src/copilot-cli/), and vs-code-agents (src/vs-code-agents/) - minimum scope is 72 files (4 platforms × 18 agents)
Apply DRY (Don't Repeat Yourself) principle except for deployment units - embed requirements directly in agent files and configuration files for portability instead of referencing external files
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/{src/claude,templates/agents,src/copilot-cli,src/vs-code-agents,{*.json,*.yaml,*.yml,*.config}}/**
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents.md)
Before creating file references in any deployment unit (agents, configs, scripts), validate deployment context by checking path resolution from end-user machine locations, not from repository root
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*.{js,ts,ps1,py,json,yaml,yml,md}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-skill-extraction-summary.md)
Use identical syntax for all instances when migrating patterns to maintain consistency
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/*pr-comment-responder*
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-20-pr-94-acknowledgment-failure.md)
**/*pr-comment-responder*: Phase 3 BLOCKED until eyes reaction count equals comment count (mandatory step verification before phase completion)
Session log tracks 'NEW this session' separately from 'DONE prior sessions' to prevent conflating prior work with current session obligations
Do not use thread RESOLVED status as a completion signal; verify actual step execution via API endpoints instead
GitHub API verification checklist must be executed before generating completion summaries (prevent false success claims)
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{templates/agents/**/*.shared.md,src/vs-code-agents/**/*.agent.md,src/copilot-cli/**/*.agent.md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Edit shared agent templates in
templates/agents/with.shared.mdextension to define agent behavior; do not edit generated files directly insrc/vs-code-agents/orsrc/copilot-cli/
Files:
templates/agents/pr-comment-responder.shared.md
**/*.{md,txt}
📄 CodeRabbit inference engine (.agents/pr-batch-review-session-2025-12-20.md)
Use consistent MCP acronym terminology in documentation (Copilot review feedback)
Use artifact naming conventions: EPIC-NNN-kebab-case for epics, PRD-feature-name.md for product requirements, ADR-NNN-kebab-case-title.md for architectural decisions, TASK-EPIC-NNN-MM for tasks, NNN-feature-plan.md for plans
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{src,templates}/**/*.{md,mdx}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-20-pr-212-comment-response.md)
Exclude internal PR/Issue/Session references (e.g., PR #XX, Issue #XX, Session XX) from user-facing documentation in src/ and templates/ directories
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/{src/claude,agents}/*.md
📄 CodeRabbit inference engine (.agents/architecture/ADR-013-agent-orchestration-mcp.md)
Assign default models per agent according to the model assignment table: orchestrator/implementer/analyst/architect/others use sonnet; high-level-advisor/independent-thinker/security/roadmap use opus
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
{**/*.md,.serena/**}
📄 CodeRabbit inference engine (.agents/qa/002-pr-201-skills-clarity-fixes.md)
Provide concrete examples when documenting MCP tool naming conventions - include breakdown of server name and tool-id components
Files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
**/pr-comment-responder.md
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-14-pr-comment-responder-gaps.md)
**/pr-comment-responder.md: In pr-comment-responder.md Phase 1, add explicit reviewer enumeration with paginated comment retrieval and total comment count verification
In pr-comment-responder.md Phase 2, add guidance that each review comment must be analyzed independently and not aggregated by file path
In pr-comment-responder.md Phase 3, add completion verification step to compare addressed_count vs total_comments before claiming done
In pr-comment-responder.md Phase 3, add examples for using review reply endpoint (gh api pulls/comments/{id}/replies) for thread-preserving responses vs issue comments
Files:
src/claude/pr-comment-responder.md
src/**/*.md
📄 CodeRabbit inference engine (.agents/analysis/ideation-agent-templating.md)
Document that generated agent files should have headers indicating they are auto-generated artifacts to prevent accidental manual editing
Use atomic commits (one commit per task) with conventional commit format (type: description) for agent documentation changes
Update all cross-references to skills in agent definitions from numeric skill IDs (Skill-Domain-NNN) to semantic slugs
Files:
src/claude/pr-comment-responder.md
src/claude/**/*.{py,ts,tsx,js,jsx,md}
📄 CodeRabbit inference engine (src/claude/CLAUDE.md)
Use the Task tool with
subagent_typeparameter to invoke specialized agents (analyst, architect, planner, critic, implementer, qa, explainer, task-generator, high-level-advisor, independent-thinker, memory, skillbook, retrospective, devops, roadmap, security, pr-comment-responder, or orchestrator)
Files:
src/claude/pr-comment-responder.md
src/claude/{analyst,critic,devops,explainer,planner,pr-comment-responder,qa,retrospective,task-generator}.md
📄 CodeRabbit inference engine (.agents/architecture/ADR-002-agent-model-selection-optimization.md)
Update the
model:field fromopustosonnetin agent configuration files: analyst, critic, devops, explainer, planner, pr-comment-responder, qa, retrospective, and task-generator
Files:
src/claude/pr-comment-responder.md
src/claude/**/*.{md,ts,tsx}
📄 CodeRabbit inference engine (.agents/retrospective/phase3-p2-learnings.md)
When modifying agent documentation in src/claude/, verify if templates/agents/ need the same updates before committing
Files:
src/claude/pr-comment-responder.md
src/claude/**/*.md
📄 CodeRabbit inference engine (.agents/README.md)
Implement steering injection pattern for agent prompt files in src/claude/ by loading agent-prompts.md steering guidance
Follow existing agent prompt patterns found in
src/claude/when creating new agent specifications
src/claude/**/*.md: Use agent prompt naming convention:[agent-name].md(lowercase, hyphenated) for agent prompt files
Update agent prompts to reference applicable steering guidance in.agents/steering/and note that orchestrator injects relevant steering based on task scopeValidate agent prompts for consistency when making changes to agent implementations
src/claude/**/*.md: Claude agent files must use MCP tool prefix syntax (e.g., mcp__cloudmcp-manager__memory-search_nodes), not path notation like cloudmcp-manager/memory-search_nodes
Claude agent files must reference GitHub skills using skill scripts (e.g., pwsh .claude/skills/github/scripts/pr/Get-PRContext.ps1) instead of raw gh commands
Each Claude agent file must include required frontmatter with fields: name, description, model (sonnet|opus|haiku), and argument-hint
Each Claude agent file must include all required sections: Core Identity, Activation Profile, Claude Code Tools, Core Mission, Key Responsibilities, Constraints, Memory Protocol, Handoff Options, and Output Format
Agent files must not contain credentials or secretsAgent prompt files should reference steering guidance from
.agents/steering/directory based on the context of the file being worked on
Files:
src/claude/pr-comment-responder.md
{src/claude/**/*.md,.github/copilot-instructions.md}
📄 CodeRabbit inference engine (.agents/steering/agent-prompts.md)
{src/claude/**/*.md,.github/copilot-instructions.md}: Maintain prompt structure consistency in agent prompts
Ensure clear role definition in agent prompts
Define explicit responsibilities for agents in prompts
Use memory protocol consistently in agent prompts
Follow handoff format standards in agent prompts
Include front matter metadata in agent prompt files
Organize agent prompt content into consistent sections
Include delegation instructions in agent prompts
Specify output format requirements in agent prompts
Avoid ambiguous instructions in agent prompts
Ensure delegation logic is present and clear in agent prompts
Define clear success criteria for agent tasks in prompts
Use consistent terminology throughout agent prompts
Files:
src/claude/pr-comment-responder.md
**/claude/**/*.md
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-session-17-retrospective.md)
When updating agent workflows, modify both producer and consumer prompts to maintain symmetry
Files:
src/claude/pr-comment-responder.md
src/claude/*.md
📄 CodeRabbit inference engine (src/claude/AGENTS.md)
Claude agent files must follow naming convention {agent-name}.md in src/claude/ directory
Claude Code CLI agent definitions use markdown format (.md files)
src/claude/*.md: Agent definitions in src/claude/*.md must specify role, specialization, default_model, delegates_to, and called_by metadata
Provide artifact_directory configuration in agent definitions when agents produce persistent artifacts (e.g., .agents/analysis/)
Files:
src/claude/pr-comment-responder.md
src/**/*.{md,agent.md}
📄 CodeRabbit inference engine (src/AGENTS.md)
All agents MUST follow STYLE-GUIDE.md for communication standards
Files:
src/claude/pr-comment-responder.md
src/claude/pr-comment-responder.md
📄 CodeRabbit inference engine (.agents/sessions/2025-12-20-session-37-pr-94-retrospective.md)
src/claude/pr-comment-responder.md: Phase 3 BLOCKED until eyes reaction count equals comment count - do not mark Phase 3 complete without verifying that the number of eyes reactions on a PR comment matches the number of comments in the thread
Verify mandatory step completion via API before marking phase complete - do not mark a protocol phase as complete without using API verification (e.g., gh CLI or GitHub API) to confirm that required steps were actually executed
PowerShell script failure requires immediate gh CLI fallback attempt - if Add-CommentReaction.ps1 or any PowerShell script fails, immediately attempt the equivalent operation using gh CLI as a fallback before marking the step as failed
Files:
src/claude/pr-comment-responder.md
src/{claude,vs-code-agents,copilot-cli}/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
Use three-platform agent generation with automatic conversion: Claude Code uses manual files in src/claude/, VS Code and Copilot CLI use auto-generated files from build/Generate-Agents.ps1; maintain template source in src/vs-code-agents/ and src/copilot-cli/
Files:
src/claude/pr-comment-responder.md
**/src/claude/*.md
📄 CodeRabbit inference engine (.agents/planning/PRD-agent-orchestration-mcp.md)
Agent prompt files (src/claude/*.md) MUST be parsed for front matter containing agent name, model, and description; MUST extract role from 'Core Identity' section and specialization from 'Specialization' section
Files:
src/claude/pr-comment-responder.md
.claude/skills/*/SKILL.md
📄 CodeRabbit inference engine (.agents/analysis/004-check-skill-exists-tool.md)
SKILL.md documentation files must include examples of correct skill usage (using skills) vs incorrect patterns (inline gh commands), plus clear taxonomy of operation types and naming conventions
Files:
.claude/skills/github/SKILL.md
.claude/skills/**/SKILL.md
📄 CodeRabbit inference engine (.agents/critique/2025-12-21-mcp-prd-review.md)
.claude/skills/**/SKILL.md: SKILL.md files for executable skills MUST includereplaces_commandmetadata field as a required field, enforced via schema validation and pre-commit hooks
All skill definition SKILL.md files must specify required parameters inreplaces_commandmetadata for exact parameter matching in blocking gatesAll executable skills MUST include
replaces_commandmetadata field in SKILL.md files - enforce via pre-commit hook and schema validation
Files:
.claude/skills/github/SKILL.md
.claude/skills/**/*
📄 CodeRabbit inference engine (.agents/specs/skill-catalog-mcp-spec.md)
Executable skills are located in .claude/skills/ directory with naming pattern of subdirectory/SKILL.md and associated scripts in subdirectory/scripts/
Files:
.claude/skills/github/SKILL.md
🧠 Learnings (5)
📚 Learning: 2025-12-16T06:26:21.783Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/qa.shared.md:1-311
Timestamp: 2025-12-16T06:26:21.783Z
Learning: In the rjmurillo/ai-agents repository, follow the project's Markdown lint rules defined in .markdownlint-cli2.yaml. Do not flag MD031/MD032 (blank lines around fences) or similar style issues in Markdown files if the repository's markdownlint configuration passes; rely on the config to determine formatting and style decisions.
Applied to files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
📚 Learning: 2025-12-16T06:26:44.230Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/implementer.shared.md:33-40
Timestamp: 2025-12-16T06:26:44.230Z
Learning: In the rjmurillo/ai-agents repository, markdownlint issues should be governed by the repository's .markdownlint-cli2.yaml configuration. Do not flag or enforce markdown formatting/style violations that are not surfaced by the configured rules. Apply this rule to all Markdown files (e.g., templates/agents/implementer.shared.md and others) and only flag issues that the project's markdownlint config would detect.
Applied to files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
📚 Learning: 2025-12-16T06:26:44.208Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/planner.shared.md:73-121
Timestamp: 2025-12-16T06:26:44.208Z
Learning: In this repository (rjmurillo/ai-agents), do not flag Markdown formatting or style issues (MD031, MD032, heading levels, link formatting, punctuation) for Markdown files. These are already ignored by the project’s .markdownlint-cli2.yaml; rely on that configuration and the repository's coding guidelines for Markdown handling.
Applied to files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
📚 Learning: 2025-12-16T06:27:04.317Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: src/copilot-cli/analyst.agent.md:39-44
Timestamp: 2025-12-16T06:27:04.317Z
Learning: In the rjmurillo/ai-agents repository, do not flag MD031 (blank lines around fenced code blocks) or MD032 (blank lines around lists) violations in Markdown files. These formatting rules are configured in the project’s .markdownlint-cli2.yaml, and such style issues do not affect agent instruction functionality. Apply this pattern to all Markdown files (recursively) and focus review attention on issues that affect behavior, correctness, or other lint rules.
Applied to files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
📚 Learning: 2025-12-16T08:00:20.752Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/roadmap.shared.md:124-174
Timestamp: 2025-12-16T08:00:20.752Z
Learning: Review Markdown files to ensure nested code fences follow the rule: the outer fence uses more backticks than the inner fence (e.g., an outer `````` with four backticks containing an inner ```mermaid``` fence). This follows CommonMark conventions; verify that nesting does not break rendering by using a greater number of backticks for the outer fence than the inner one.
Applied to files:
templates/agents/pr-comment-responder.shared.mdsrc/claude/pr-comment-responder.md
🔍 Remote MCP DeepWiki
Summary of additional repository context relevant to reviewing PR #235 (sources: DeepWiki read outputs):
-
Repository structure & purpose: multi-platform (VS Code, Copilot CLI, Claude) agent system; agents live under vs-code-agents/, copilot-cli/, claude/ and share .agents/ output directories. Installers create per-repo/global agent locations; Copilot CLI global installs are broken (use per-repo). (DeepWiki_read_wiki_structure, DeepWiki_read_wiki_contents),
-
Get-PRReviewComments.ps1 sits in .claude/skills/github/scripts/pr/ and the repo enforces strict cross-platform agent consistency (core identity, responsibilities, handoffs, memory protocol, output dirs). Any public API/agent contract changes (new parameter, new output fields) must be reflected in all platform definitions and reviewed for drift. The PR introduces a new public parameter (-IncludeIssueComments) and new output fields (ReviewCommentCount, IssueCommentCount, CommentType) — these are exactly the sorts of changes the consistency rules require checking across agent files and docs. (DeepWiki_read_wiki_contents)
-
Documentation & agent files updated across repo by this PR (SKILL.md, pr-comment-responder agent docs, templates). Verify these updates match the new script behavior and appear consistently in vs-code-agents/, copilot-cli/, and claude/ versions per the mapping table; consistency enforcement (.github/copilot-code-review.md) should flag any semantic drift. (DeepWiki_read_wiki_contents)
-
Tests: large Pester suite added exercising parameter validation, API endpoint usage (pulls/{pr}/comments and issues/{pr}/comments), combined sorting and author grouping. Confirm CI covers the new tests and that they exercise both review- and issue-comment paths, including edge cases (null Path/Line for issue comments, in_reply_to handling). (DeepWiki_read_wiki_contents)
-
Operational impacts to review focus:
- Backward compatibility: default behavior should remain review-comments-only unless -IncludeIssueComments is supplied — verify CLI/examples and agent invocations maintain defaults. (DeepWiki_read_wiki_contents)
- Consumer changes: downstream agents (pr-comment-responder, orchestrator, any code that consumes Get-PRReviewComments output) may need updates to handle CommentType and new counts; search for callers and ensure they tolerate new fields (or the PR updates them). (DeepWiki_read_wiki_contents)
- Memory/skill implications: issue comments (bot summaries, AI Quality Gate) are now included; confirm whether any memory/entity creation logic or skill extraction expects only code review comments and adjust accordingly. (DeepWiki_read_wiki_contents)
Recommended review actions (based on above context):
- Verify Get-PRReviewComments.ps1 tests fully cover both endpoints and author-filter behavior; ensure CI includes them. (DeepWiki_read_wiki_contents)
- Check all agent documentation and agent definition files (vs-code-agents/, copilot-cli/, claude/) referencing Get-PRReviewComments usage have been updated and remain semantically consistent per .github/copilot-code-review.md. (DeepWiki_read_wiki_contents)
- Search for callers of Get-PRReviewComments output across repo to ensure consumers handle CommentType, ReviewCommentCount, IssueCommentCount. (DeepWiki_read_wiki_contents)
- Confirm examples and install/invocation docs reflect default (review-only) behavior and the new flag usage examples. (DeepWiki_read_wiki_contents),
🔇 Additional comments (11)
.github/agents/pr-comment-responder.prompt.md (1)
119-119: [APPROVE] Line 119 correctly documents the new-IncludeIssueCommentsparameter and bash fallback..github/agents/pr-comment-responder.agent.md (2)
119-119: [APPROVE] Consistent with pr-comment-responder.prompt.md; correctly documents-IncludeIssueComments.
1-6: Cross-platform agent consistency issue: Two platforms missing -IncludeIssueComments.The update to
.github/agents/pr-comment-responder.agent.mdwithGet-PRReviewComments.ps1 -IncludeIssueCommentsis not consistent across all platforms. The corresponding files insrc/vs-code-agents/pr-comment-responder.agent.mdandsrc/copilot-cli/pr-comment-responder.agent.mdstill referenceGet-PRReviewComments.ps1without the-IncludeIssueCommentsflag in their GitHub skill tables. The Claude and template versions already include the flag, so only these two files need updating.Likely an incorrect or invalid review comment.
.claude/skills/github/SKILL.md (3)
20-20: [APPROVE] Line 20 correctly describes script capability as "Paginated review + issue comments".
45-49: [APPROVE] Examples correctly show default behavior (review-only) vs. new-IncludeIssueCommentsflag. Backward compatibility clear.
177-177: [APPROVE] API endpoint documentation accurately documents dual-endpoint behavior:pulls/{pr}/comments+issues/{pr}/commentswhen flag is used.src/claude/pr-comment-responder.md (5)
63-63: [APPROVE] Table entries correctly show unified command with-IncludeIssueCommentsacross both skill integration sections.Also applies to: 119-119
248-250: [APPROVE] Phase 0 session state logic correctly checks for new comments using-IncludeIssueCommentsand TotalComments property.
332-335: [APPROVE] Phase 1.3 documentation clearly explains why-IncludeIssueCommentsis important (captures AI Quality Gate, CodeRabbit summaries) and correctly documents output fields including CommentType.
378-387: [APPROVE] CommentType field, null-field handling for issue comments, and note about AI Quality Gate/CodeRabbit summaries are all correctly documented.
851-852: [APPROVE] Phase 8.2 re-check correctly includes-IncludeIssueCommentsto catch bot-generated comments during verification loop.
|
Thanks for flagging this. This PR addresses a bug where issue comments (like AI Quality Gate reviews and spec validation comments) were being missed by the pr-review workflow. While this is categorized as a feature (feat:), it's functionally a bug fix that enhances an existing script to capture all PR feedback. Creating a formal spec for this quick enhancement would add more overhead than value. The PR description documents the problem, solution, and test evidence (PR #233 showed 26 review + 3 missed issue comments). |
Update generated agent files for copilot-cli and vscode platforms after reviewing PR #235 comments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/vs-code-agents/pr-comment-responder.agent.md (1)
938-978: Output format missing new fields from PR #235.The output format example does not document
ReviewCommentCountandIssueCommentCount, which are now exposed by Get-PRReviewComments.ps1. Similarly, the statistics table (lines 948-956) lacks these metrics. The newCommentTypefield ("Review" or "Issue") should be documented in the comment index (line 445-447).Consider adding:
- ReviewCommentCount and IssueCommentCount to the Statistics table
- CommentType as a column in the Comment Index
- Note explaining when CommentType=Issue vs Review
📜 Review details
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.claude/skills/github/scripts/pr/Get-PRReviewComments.ps1src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
🚧 Files skipped from review as they are similar to previous changes (1)
- .claude/skills/github/scripts/pr/Get-PRReviewComments.ps1
🧰 Additional context used
📓 Path-based instructions (32)
**/*.md
📄 CodeRabbit inference engine (.agents/architecture/ADR-001-markdown-linting.md)
**/*.md: Add language identifiers to all fenced code blocks (MD040). Use appropriate language identifiers:csharpfor C#,powershellfor PowerShell,bashfor shell,jsonfor JSON,yamlfor YAML,markdownfor Markdown,textfor plain text or generic/pseudo code
Wrap generic types in backticks to escape angle brackets (e.g.,ArrayPool<T>instead of ArrayPool) to comply with MD033 inline HTML restrictions and ensure proper rendering
Add blank lines around code blocks to comply with MD031 markdown linting requirements
Add blank lines around lists to comply with MD032 markdown linting requirements
Add blank lines around headings to comply with MD022 markdown linting requirements
Use ATX-style headings (# Heading) consistently across all markdown documents (MD003)
Use fenced code block style (triple backticks) consistently, with backtick delimiters rather than tildes (MD046, MD048)
Allow only specific HTML elements in markdown:<br>,<kbd>,<sup>,<sub>. Escape or avoid other inline HTML elements to comply with MD033 restrictions
**/*.md: Always specify language identifiers on fenced code blocks for syntax highlighting in markdown documentation
Add blank lines before and after code blocks, lists, and headings in markdown documents
Detect and repair malformed code fence closings where closing fences have language identifiers (e.g.,text) instead of plain closing fences ()
**/*.md: Runmarkdownlint --fixbefore manual edits to auto-resolve spacing violations (MD031/MD032/MD022)
Usetextfor pseudo-code and tool invocations, and use specific language identifiers (json, csharp, bash, yaml, markdown) for actual code in MD040 code blocks
Wrap .NET generic types likeArrayPool<T>,Span<T>,Vector256in backticks to prevent MD033 inline HTML violations in C# documentationFix malformed markdown code fence closings by ensuring closing fences never include language identifiers (use
instead oflanguage)Use HTML comment...
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
⚙️ CodeRabbit configuration file
**/*.md: Writing Quality: - Grade 9 reading level - Active voice, direct address - Short sentences (under 15 words ideal) - No fluff, filler, or marketing language - Replace adjectives with data where possible - Every sentence must pass the "so what" test
Flag: - Passive voice - Vague language (nearly, some, almost, very) - Jargon without definitions - Broken links and outdated procedures - Inconsistency with code changes in same PR - Missing context for new features or APIs
Ignore (handled by .markdownlint-cli2.yaml): - Markdown formatting and style - Heading level choices - Link formatting variations - Minor punctuation preferences
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/copilot-cli/pr-comment-responder.agent.md
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-14-pr-comment-responder-gaps.md)
Sync pr-comment-responder.md changes to copilot-cli/pr-comment-responder.agent.md
Files:
src/copilot-cli/pr-comment-responder.agent.md
src/**/*.md
📄 CodeRabbit inference engine (.agents/analysis/ideation-agent-templating.md)
Document that generated agent files should have headers indicating they are auto-generated artifacts to prevent accidental manual editing
Use atomic commits (one commit per task) with conventional commit format (type: description) for agent documentation changes
Update all cross-references to skills in agent definitions from numeric skill IDs (Skill-Domain-NNN) to semantic slugs
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
src/{vs-code-agents,copilot-cli}/**/*.agent.md
📄 CodeRabbit inference engine (.agents/architecture/2-variant-consolidation-review.md)
src/{vs-code-agents,copilot-cli}/**/*.agent.md: Add a header comment to generated files to prevent accidental edits, following the format: '# AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY' with source file reference and generator script name
Ensure generated agent files in src/vs-code-agents/ and src/copilot-cli/ comply with markdown linting rules as defined in ADR-001Generated agent output files should have the
.agent.mdextension and be output to platform-specific directories (src/vs-code-agents/ for VS Code, src/copilot-cli/ for Copilot CLI)Generated agent files in
src/vs-code-agents/andsrc/copilot-cli/MUST be byte-identical to current manually-maintained files during migration phase
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
src/**/**.agent.md
📄 CodeRabbit inference engine (.agents/qa/001-agent-consolidation-test-strategy-review.md)
Verify all agent markdown files contain required sections: '## Core Identity', '## Core Mission', and '## Key Responsibilities'
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*pr-comment-responder*.{md,txt,prompt}*
📄 CodeRabbit inference engine (.agents/retrospective/047-pr-comment-handling.md)
Add GitHub API reference section to pr-comment-responder prompt with review comment endpoint patterns and common errors
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{md,json,yml,yaml,ps1,sh,bash,toml,ini,cfg,config,txt}
📄 CodeRabbit inference engine (.agents/retrospective/phase1-remediation-pr43.md)
Use relative paths only in documentation and configuration files; avoid absolute paths (e.g., C:\ on Windows) to prevent environment contamination and maintain cross-platform portability
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{md,markdown}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-17-session-failures.md)
Do not include auto-generated headers in generated files
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{ps1,yml,yaml,md}
📄 CodeRabbit inference engine (.agents/analysis/003-session-protocol-skill-gate.md)
Validate skill availability before implementing GitHub operations - Check if
.claude/skills/github/directory exists and contains the required capability; list available GitHub skill scripts; read theskill-usage-mandatorymemory; document available skills in session log; use existing skills if they exist rather than writing inline code
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*agent*.md
📄 CodeRabbit inference engine (.agents/planning/phase4-complete-handoff.md)
**/*agent*.md: Include 'Validation Failure' subsection in all handoff validation checklist sections within agent documentation
Handoff validation sections must cover Pass/Approval, Failure/Revision, and Special case scenarios
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{md,js,ts,tsx,jsx,json,yaml,yml,sh,ps1}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-serena-memory-reference-migration.md)
Search entire codebase for pattern before migration to identify all references
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{md,js,ts,tsx,jsx}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-serena-memory-reference-migration.md)
Include fallback clause when migrating to tool calls for graceful degradation
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{md,ts,tsx,js,jsx,py}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-18-session-17-retrospective.md)
For features, add new sections rather than refactoring existing logic
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{src/claude/**/*.md,templates/agents/**/*.md,src/copilot-cli/**/*.md,src/vs-code-agents/**/*.md}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
{src/claude/**/*.md,templates/agents/**/*.md,src/copilot-cli/**/*.md,src/vs-code-agents/**/*.md}: Agent files ship as independent units - embed requirements, documentation, and guidelines directly in agent files rather than referencing external files. Do not reference external style guides or requirement files (e.g., src/STYLE-GUIDE.md) in agent files, as agents are copied to end-user machines (~/.claude/, ~/.copilot/, ~/.vscode/) without source tree access.
Before committing agent file changes, validate that all file references in the agent resolve from deployment locations, not just from the source repository root.
Test agent files in isolation before committing to verify they function without access to the source tree or external dependencies.
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{src/claude/**/*.md,templates/agents/**/*.md,src/copilot-cli/**/*.md,src/vs-code-agents/**/*.md,**/*.config.json,**/*.config.yaml,**/*.config.yml}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
Before creating file references in agent files, configs, or scripts, verify that the referenced path exists at the deployment location (~/.claude/, ~/.copilot/, ~/.vscode/), not just in the source tree repository root.
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{src/claude/**,templates/agents/**,src/copilot-cli/**,src/vs-code-agents/**}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
When planning agent enhancements, include all four platforms in scope: Claude agents (src/claude/, ~18 files), agent templates (templates/agents/, ~18 files), copilot-cli agents (src/copilot-cli/, ~18 files), and VS Code agents (src/vs-code-agents/, ~18 files). Agent changes typically affect 72 files minimum across all platforms.
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{src/claude/**,templates/agents/**,src/copilot-cli/**,src/vs-code-agents/**,**/*.config.json,**/*.config.yaml,**/*.config.yml}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents-skills.md)
Apply DRY (Don't Repeat Yourself) principle with an exception for deployment units (agents, configs, etc.): Files that ship to end-user machines must be self-contained. Embed content instead of referencing external files, prioritizing portability over DRY adherence for these files.
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/{src/claude,templates/agents,src/copilot-cli,src/vs-code-agents}/**
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents.md)
**/{src/claude,templates/agents,src/copilot-cli,src/vs-code-agents}/**: Agent files ship as independent units - embed requirements and documentation, do not reference external files
Before creating file references in agent files, verify the path exists at deployment location (e.g., ~/.claude/, ~/.copilot/, ~/.vscode/), not just in source tree
Agent modifications must be applied consistently across all platforms: Claude agents (src/claude/), templates (templates/agents/), copilot-cli (src/copilot-cli/), and vs-code-agents (src/vs-code-agents/) - minimum scope is 72 files (4 platforms × 18 agents)
Apply DRY (Don't Repeat Yourself) principle except for deployment units - embed requirements directly in agent files and configuration files for portability instead of referencing external files
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/{src/claude,templates/agents,src/copilot-cli,src/vs-code-agents,{*.json,*.yaml,*.yml,*.config}}/**
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-self-contained-agents.md)
Before creating file references in any deployment unit (agents, configs, scripts), validate deployment context by checking path resolution from end-user machine locations, not from repository root
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{js,ts,ps1,py,json,yaml,yml,md}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-19-skill-extraction-summary.md)
Use identical syntax for all instances when migrating patterns to maintain consistency
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
src/**/*.{md,agent.md}
📄 CodeRabbit inference engine (src/AGENTS.md)
All agents MUST follow STYLE-GUIDE.md for communication standards
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
src/copilot-cli/*.agent.md
📄 CodeRabbit inference engine (src/AGENTS.md)
GitHub Copilot CLI agent definitions use .agent.md file format
Files:
src/copilot-cli/pr-comment-responder.agent.md
**/*pr-comment-responder*
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-20-pr-94-acknowledgment-failure.md)
**/*pr-comment-responder*: Phase 3 BLOCKED until eyes reaction count equals comment count (mandatory step verification before phase completion)
Session log tracks 'NEW this session' separately from 'DONE prior sessions' to prevent conflating prior work with current session obligations
Do not use thread RESOLVED status as a completion signal; verify actual step execution via API endpoints instead
GitHub API verification checklist must be executed before generating completion summaries (prevent false success claims)
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{templates/agents/**/*.shared.md,src/vs-code-agents/**/*.agent.md,src/copilot-cli/**/*.agent.md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Edit shared agent templates in
templates/agents/with.shared.mdextension to define agent behavior; do not edit generated files directly insrc/vs-code-agents/orsrc/copilot-cli/
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.{md,txt}
📄 CodeRabbit inference engine (.agents/pr-batch-review-session-2025-12-20.md)
Use consistent MCP acronym terminology in documentation (Copilot review feedback)
Use artifact naming conventions: EPIC-NNN-kebab-case for epics, PRD-feature-name.md for product requirements, ADR-NNN-kebab-case-title.md for architectural decisions, TASK-EPIC-NNN-MM for tasks, NNN-feature-plan.md for plans
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{src,templates}/**/*.{md,mdx}
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-20-pr-212-comment-response.md)
Exclude internal PR/Issue/Session references (e.g., PR #XX, Issue #XX, Session XX) from user-facing documentation in src/ and templates/ directories
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
src/{claude,vs-code-agents,copilot-cli}/**/*.md
📄 CodeRabbit inference engine (AGENTS.md)
Use three-platform agent generation with automatic conversion: Claude Code uses manual files in src/claude/, VS Code and Copilot CLI use auto-generated files from build/Generate-Agents.ps1; maintain template source in src/vs-code-agents/ and src/copilot-cli/
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/*.agent.md
📄 CodeRabbit inference engine (.agents/planning/prd-visual-studio-install-support.md)
Visual Studio agents must use the same .agent.md file format as VS Code agents with frontmatter containing name, description, tools, model, and target properties
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
{**/*.md,.serena/**}
📄 CodeRabbit inference engine (.agents/qa/002-pr-201-skills-clarity-fixes.md)
Provide concrete examples when documenting MCP tool naming conventions - include breakdown of server name and tool-id components
Files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
**/vs-code-agents/pr-comment-responder.agent.md
📄 CodeRabbit inference engine (.agents/retrospective/2025-12-14-pr-comment-responder-gaps.md)
Sync pr-comment-responder.md changes to vs-code-agents/pr-comment-responder.agent.md
Files:
src/vs-code-agents/pr-comment-responder.agent.md
{templates/agents/**/*.shared.md,src/vs-code-agents/**/*.agent.md,src/claude/**/*.md}
📄 CodeRabbit inference engine (.agents/analysis/drift-analysis-claude-vs-templates.md)
Standardize Memory Protocol syntax using platform variables - Claude format: mcp__cloudmcp-manager__memory-, Templates format: cloudmcp-manager/memory-
Files:
src/vs-code-agents/pr-comment-responder.agent.md
src/vs-code-agents/*.agent.md
📄 CodeRabbit inference engine (src/AGENTS.md)
VS Code / GitHub Copilot agent definitions use .agent.md file format
Files:
src/vs-code-agents/pr-comment-responder.agent.md
🧠 Learnings (6)
📚 Learning: 2025-12-16T06:16:01.759Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: build/Generate-Agents.ps1:513-519
Timestamp: 2025-12-16T06:16:01.759Z
Learning: In this repository, generated agent instruction files (e.g., src/vs-code-agents/*.agent.md, src/copilot-cli/*.agent.md) intentionally omit a 'DO NOT EDIT DIRECTLY' header because AI agents consume these files and human-oriented warnings add noise to their context. Do not manually edit these generated files. CI validation (validate-generated-agents.yml) enforces edits to them via the generator. The related generation script is build/Generate-Agents.ps1, which should be used to update these files, not manual edits.
Applied to files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
📚 Learning: 2025-12-16T06:26:21.783Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/qa.shared.md:1-311
Timestamp: 2025-12-16T06:26:21.783Z
Learning: In the rjmurillo/ai-agents repository, follow the project's Markdown lint rules defined in .markdownlint-cli2.yaml. Do not flag MD031/MD032 (blank lines around fences) or similar style issues in Markdown files if the repository's markdownlint configuration passes; rely on the config to determine formatting and style decisions.
Applied to files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
📚 Learning: 2025-12-16T06:26:44.230Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/implementer.shared.md:33-40
Timestamp: 2025-12-16T06:26:44.230Z
Learning: In the rjmurillo/ai-agents repository, markdownlint issues should be governed by the repository's .markdownlint-cli2.yaml configuration. Do not flag or enforce markdown formatting/style violations that are not surfaced by the configured rules. Apply this rule to all Markdown files (e.g., templates/agents/implementer.shared.md and others) and only flag issues that the project's markdownlint config would detect.
Applied to files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
📚 Learning: 2025-12-16T06:26:44.208Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/planner.shared.md:73-121
Timestamp: 2025-12-16T06:26:44.208Z
Learning: In this repository (rjmurillo/ai-agents), do not flag Markdown formatting or style issues (MD031, MD032, heading levels, link formatting, punctuation) for Markdown files. These are already ignored by the project’s .markdownlint-cli2.yaml; rely on that configuration and the repository's coding guidelines for Markdown handling.
Applied to files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
📚 Learning: 2025-12-16T06:27:04.317Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: src/copilot-cli/analyst.agent.md:39-44
Timestamp: 2025-12-16T06:27:04.317Z
Learning: In the rjmurillo/ai-agents repository, do not flag MD031 (blank lines around fenced code blocks) or MD032 (blank lines around lists) violations in Markdown files. These formatting rules are configured in the project’s .markdownlint-cli2.yaml, and such style issues do not affect agent instruction functionality. Apply this pattern to all Markdown files (recursively) and focus review attention on issues that affect behavior, correctness, or other lint rules.
Applied to files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
📚 Learning: 2025-12-16T08:00:20.752Z
Learnt from: rjmurillo
Repo: rjmurillo/ai-agents PR: 43
File: templates/agents/roadmap.shared.md:124-174
Timestamp: 2025-12-16T08:00:20.752Z
Learning: Review Markdown files to ensure nested code fences follow the rule: the outer fence uses more backticks than the inner fence (e.g., an outer `````` with four backticks containing an inner ```mermaid``` fence). This follows CommonMark conventions; verify that nesting does not break rendering by using a greater number of backticks for the outer fence than the inner one.
Applied to files:
src/copilot-cli/pr-comment-responder.agent.mdsrc/vs-code-agents/pr-comment-responder.agent.md
🔍 Remote MCP DeepWiki
Additional repository context relevant to reviewing PR #235 (concise)
-
Repo wiki (indexed): full docs describing multi-platform agent system, consistency rules, memory (cloudmcp-manager), .agents/ output dirs, and installation scripts — useful to verify cross-platform changes and required docs updates.,
-
Consistency enforcement: repository enforces semantic parity across 54 agent files; mandatory elements (core identity, numbered responsibilities, handoff tables, memory protocol, output dirs, DO NOT rules) must be identical across VS Code / Copilot CLI / Claude implementations and are validated by .github/copilot-code-review.md. Any change that adds a public parameter or output fields (like -IncludeIssueComments, ReviewCommentCount/IssueCommentCount) should be reflected across agent docs/implementations or explicitly accepted as platform-only drift.
-
Installation & output layout: installers create .agents/ subdirs (analysis, architecture, planning, critique, qa, retrospective — plus roadmap/devops/security/sessions for CLI). Per-repo agent installs are the canonical way to deploy agents (Copilot-CLI global install is broken — use per-repo). Confirm examples/docs and installers were updated to show new flag/outputs where needed.
-
Memory and learning impacts: repo uses cloudmcp-manager; new CommentType and inclusion of issue comments may affect memory entities / retrospective/skill extraction and downstream consumers that query PR comment patterns. Verify whether memory storage/queries or downstream skill extraction expect only code-review comments and update those if needed.
-
Tests & CI: the PR adds 49 Pester tests for Get-PRReviewComments; repo guidance expects tests to cover API endpoints, edge cases, and platform parity. Confirm CI includes/executes the new tests and that they exercise both review- and issue-comment paths (author filter, null Path/Line for issue comments).
-
Documentation updates present: multiple agent docs and README files in repo were updated (SKILL.md, pr-comment-responder agent docs, templates, examples). Reviewer should verify semantic alignment between script behavior (new parameter and outputs) and all updated docs across platforms per consistency rules.
Actionable checklist for reviewer (derived from repo guidance)
- Confirm Get-PRReviewComments default (backward-compatible) behavior unchanged; -IncludeIssueComments triggers new path only when present.
- Verify unit tests actually run in CI and cover both review+issue endpoints, author filtering, sorting, and fields (Path/Line nulls).
- Search repo for callers of Get-PRReviewComments output and ensure consumers tolerate new fields (ReviewCommentCount, IssueCommentCount, CommentType). Update callers or docs if necessary.
- Verify all agent docs and platform agent files referencing Get-PRReviewComments usage/examples were updated consistently (vs-code, copilot-cli, claude docs, SKILL.md, templates). Enforce parity per .github/copilot-code-review.md.
- Check memory/skill implications: confirm issue comments (AI Quality Gate, CodeRabbit) being included doesn't double-count or pollute skill extraction; adjust retrospective/skillbook filters if needed.
- Ensure installers/examples (scripts, README snippets) show default vs. -IncludeIssueComments usage and that any automation relying on TotalComments still works.
🔇 Additional comments (2)
src/vs-code-agents/pr-comment-responder.agent.md (1)
62-62: Workflow step mismatch: Table shows unified script but steps show separate endpoints.Line 62 correctly updates the skill table to show
Get-PRReviewComments.ps1 -IncludeIssueComments, but Steps 1.3-1.4 (lines 356-410) continue to describe manual pagination of/pulls/{number}/commentsand/issues/{number}/commentsas separate workflows. This contradicts the unified approach.Recommend: Either (A) update Steps 1.3-1.4 to show the simplified invocation with the new flag, or (B) clarify that the manual steps are fallback-only for environments without PowerShell support.
Confirm whether this file was auto-generated and needs regeneration via
build/Generate-Agents.ps1to stay in sync with the template source.src/copilot-cli/pr-comment-responder.agent.md (1)
388-409: Bash examples omit CommentType field that PowerShell script adds.The jq extractions at lines 392-409 show raw API responses without the CommentType discriminator that PR #235 adds to the PowerShell script output. The PR objectives state comments should be "tagged each comment with a CommentType field ("Review" or "Issue")". For bash fallback consistency, add this field to the extracted data.
🔎 Proposed fix to add CommentType field to bash examples
# Extract review comments with context -gh api repos/[owner]/[repo]/pulls/[number]/comments --jq '.[] | { +gh api repos/[owner]/[repo]/pulls/[number]/comments --jq '.[] | . + {CommentType: "Review"} | { id: .id, author: .user.login, path: .path, line: (.line // .original_line), body: .body, diff_hunk: .diff_hunk, created_at: .created_at, + comment_type: .CommentType, in_reply_to_id: .in_reply_to_id }' # Extract issue comments -gh api repos/[owner]/[repo]/issues/[number]/comments --jq '.[] | { +gh api repos/[owner]/[repo]/issues/[number]/comments --jq '.[] | . + {CommentType: "Issue"} | { id: .id, author: .user.login, body: .body, + comment_type: .CommentType, created_at: .created_at }'
Add -IncludeIssueComments switch to fetch top-level PR comments
(issue comments) in addition to code-level review comments.
Problem: The /pr-review workflow was missing issue comments like
AI Quality Gate reviews, spec validation, and CodeRabbit summaries.
These are posted via /issues/{n}/comments API, not /pulls/{n}/comments.
Solution:
- Add -IncludeIssueComments switch parameter
- Fetch from /issues/{n}/comments when switch is set
- Add CommentType field ("Review" or "Issue") to distinguish types
- Add ReviewCommentCount and IssueCommentCount to output
- Combine and sort all comments by CreatedAt
Test: 49 new tests covering syntax, parameters, API endpoints,
comment type handling, and output structure.
Example:
Get-PRReviewComments.ps1 -PullRequest 233 -IncludeIssueComments
# Returns 26 review + 3 issue = 29 total comments
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates documentation to reflect new functionality in Get-PRReviewComments.ps1: - SKILL.md: Updated structure and quick reference for issue comments - pr-comment-responder.md: Updated scripts table, Phase 0, Steps 1.3/1.4, Phase 8.2 - pr-comment-responder.shared.md: Updated GitHub skill table The -IncludeIssueComments switch enables fetching of issue comments (AI Quality Gate, CodeRabbit summaries) that were previously missed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix null handling for empty issue comments (wrap foreach in @()) - Add pluralization logic for comment counts in output message - Remove redundant @() operator on line 114 Addresses review comments from Copilot and gemini-code-assist[bot] Comment-IDs: 2639441218, 2639441176, 2639434849 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update generated agent files for copilot-cli and vscode platforms after reviewing PR #235 comments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Addresses Copilot review comment: The foreach loop for processing review comments now uses @() wrapper like issue comments processing, ensuring consistent array behavior when is null or empty. Comment-ID: 2639613878
Extract learnings from PR #235 (Get-PRReviewComments dual endpoint fix) and create 5 atomic skillbook entries with 95-97% atomicity scores: Skills Created: - Skill-GH-API-002 (97%, 9/10) - GitHub dual comment endpoints - Skill-Diagnosis-001 (95%, 8/10) - Evidence-based diagnosis - Skill-PowerShell-006 (96%, 9/10) - Backward-compatible switch params - Skill-API-Design-001 (97%, 8/10) - Type discriminator fields - Skill-Test-Pester-006 (96%, 9/10) - Static analysis tests Key Patterns: 1. MUST query both /pulls/{n}/comments AND /issues/{n}/comments 2. Compare API counts against real PR data to prove gaps 3. Use switch parameters with default false for backward compatibility 4. Add discriminator field when merging multiple API sources 5. Use regex-based tests to validate scripts without API calls Evidence: PR #235, PR #233 (26 review + 3 issue = 29 total comments) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update Session End checklist to match SESSION-PROTOCOL.md template with Req|Step|Status|Evidence columns required by Validate-SessionEnd.ps1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix Step column text to exactly match SESSION-PROTOCOL.md line 309: 'Commit all changes (including .serena/memories)' 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Skillbook updates only modify .serena/memories/ documentation files and do not require QA validation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Create QA report explaining that skillbook updates (documentation only) do not require functional QA validation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add PR #235 agent artifacts (critique, devops, qa) and finalize skill memory updates for session 01. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Session End validation passed successfully. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Addresses PR review comments from @rjmurillo: 1. Port changes from src/claude/pr-comment-responder.md to templates/agents/pr-comment-responder.shared.md to maintain tri-template system until consolidation 2. Document PowerShell cmdlet output schema consistency design decision in ADR-017 Changes: - Sync pr-comment-responder.shared.md with src version (preserving tools_vscode/tools_copilot frontmatter) - Add ADR-017 documenting why IssueCommentCount is always included (even when -IncludeIssueComments not used) Comment-IDs: 2643934251, 2643938888 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The session log was created before ADR-014 (distributed handoff architecture) which made HANDOFF.md read-only on feature branches. Update the Session End checklist to reflect this protocol change. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Address review comment from @rjmurillo clarifying the dual-maintenance template system during tri-template migration period. Changes: - Update devops review to document dual-flow pattern - Clarify src/claude/**/*.md is maintained independently (not generated) - Document bidirectional porting requirement between src/claude and templates/agents Comment-ID: 2643934251 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…cy.md Main branch already contains ADR-017-powershell-output-schema-consistency.md from PR #302, covering the same PowerShell schema consistency decision. The duplicate file was created before the main branch merge and conflicted with the existing ADR-017 naming. This commit removes the duplicate and relies on the canonical ADR-017 from main.
Apply changes from src/claude/pr-comment-responder.md to templates/agents/pr-comment-responder.shared.md: - Update table row to show -IncludeIssueComments parameter - Simplify Phase 0 to Session State Check - Remove Memory Initialization steps (now handled by Serena) - Update Step 1.3 to use -IncludeIssueComments - Update Step 1.4 to document CommentType field - Update session state check comment fetching Addresses comment #2649336096 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Run build/Generate-Agents.ps1 to sync platform-specific agents with template changes. Fixes validation check failure. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2a3e0ce to
42b5826
Compare
Implement commit count monitoring in pr-validation workflow to prevent scope creep and encourage smaller, shippable PRs. Thresholds (per issue #362): - 10 commits: Add 'needs-split' label, show notice - 15 commits: Add 'needs-split' label, show warning - 20 commits: Block PR (require 'commit-limit-bypass' label to override) Features: - Automatic 'needs-split' label application - Label removal when commit count drops below threshold - Human override via 'commit-limit-bypass' label - Clear messaging at each threshold level Labels created: - 'needs-split' (yellow): PR should be split into smaller PRs - 'commit-limit-bypass' (red): Override for 20+ commit limit Evidence from issue #362: - PR #255: 48 commits (expected 3-5) - PR #235: 23 commits (expected 5-10) Fixes #362 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(workflow): auto-flag PRs exceeding commit threshold Implement commit count monitoring in pr-validation workflow to prevent scope creep and encourage smaller, shippable PRs. Thresholds (per issue #362): - 10 commits: Add 'needs-split' label, show notice - 15 commits: Add 'needs-split' label, show warning - 20 commits: Block PR (require 'commit-limit-bypass' label to override) Features: - Automatic 'needs-split' label application - Label removal when commit count drops below threshold - Human override via 'commit-limit-bypass' label - Clear messaging at each threshold level Labels created: - 'needs-split' (yellow): PR should be split into smaller PRs - 'commit-limit-bypass' (red): Override for 20+ commit limit Evidence from issue #362: - PR #255: 48 commits (expected 3-5) - PR #235: 23 commits (expected 5-10) Fixes #362 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs(critique): review commit threshold monitoring for issue #362 Review findings: - APPROVED_WITH_COMMENTS (95% confidence) - Thresholds (10/15/20) are evidence-based and appropriate - Label management logic is correct and idempotent - Bypass mechanism is secure (requires human override) Important issues identified: - Missing LASTEXITCODE checks after gh commands (5 locations) - API pagination limit at 100 commits needs documentation Recommendations: - High priority: Add LASTEXITCODE checks before merge - Medium priority: Improve observability (add commit count to report) - Low priority: Extract to module for testing (follow-up) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(workflow): add LASTEXITCODE checks after gh CLI commands Addresses critic feedback by adding error handling after: - gh pr view commands for label fetching - gh pr edit commands for label modifications Safety comments added explaining why 2>$null suppression is safe (PR exists when workflow runs, so errors indicate actual failures). * fix(workflow): add missing error handling and env var in PR validation Addresses Copilot review comments: - Add PR_NUMBER env var to Enforce Blocking Issues step (prevents gh pr view failure) - Add LASTEXITCODE check after gh api call at line 269 (prevents silent API failures) - Add null check for commits response (prevents silent data errors) - Document 100-commit pagination limit assumption (edge case) - Update critique doc checkbox to reflect LASTEXITCODE fixes implemented Comment-IDs: 2651058502, 2651058538, 2651058560, 2651058583 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs(session): add session log for PR #481 thread resolution Resolved 2 review threads on PR #481: - gemini-code-assist[bot]: Import-Module robustness (PRRT_kwDOQoWRls5nfbwS) - Copilot: Module import location (PRRT_kwDOQoWRls5nh8zH) All fixes were already implemented in commit 7d213db. This session verified the fixes and resolved the threads via GraphQL API. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(session): add Protocol Compliance section to session log Add missing Protocol Compliance section with Session Start/End checklists to comply with SESSION-PROTOCOL.md MUST requirements. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(session): add Protocol Compliance section to pr-481 session Session file was missing required Protocol Compliance section with Session Start/End checklists per SESSION-PROTOCOL.md. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: rjmurillo[bot] <rjmurillo-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Summary
Add
-IncludeIssueCommentsswitch to fetch top-level PR comments (issue comments) in addition to code-level review comments.Problem
The
/pr-reviewworkflow was routinely missing issue comments like:github-actions[bot])github-actions[bot])coderabbitai[bot])These are posted via
/issues/{n}/commentsAPI, not/pulls/{n}/comments.Evidence from PR #233:
Solution
-IncludeIssueCommentsswitch parameter/issues/{n}/commentswhen switch is setCommentTypefield ("Review" or "Issue") to distinguish typesReviewCommentCountandIssueCommentCountto outputCreatedAtUsage
Test Plan
Changes
Get-PRReviewComments.ps1-IncludeIssueCommentsswitch and issue comment fetchingGet-PRReviewComments.Tests.ps1🤖 Generated with Claude Code