Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/README.workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agentic-workflows) for guideline
| [OSPO Organization Health Report](../workflows/ospo-org-health.md) | Comprehensive weekly health report for a GitHub organization. Surfaces stale issues/PRs, merge time analysis, contributor leaderboards, and actionable items needing human attention. | schedule, workflow_dispatch |
| [OSPO Stale Repository Report](../workflows/ospo-stale-repos.md) | Identifies inactive repositories in your organization and generates an archival recommendation report. | schedule, workflow_dispatch |
| [OSS Release Compliance Checker](../workflows/ospo-release-compliance-checker.md) | Analyzes a target repository against open source release requirements and posts a detailed compliance report as an issue comment. | issues, workflow_dispatch |
| [Relevance Check](../workflows/relevance-check.md) | Slash command to evaluate whether an issue or pull request is still relevant to the project | slash_command, roles |
| [Relevance Summary](../workflows/relevance-summary.md) | Manually triggered workflow that summarizes all open issues and PRs with a /relevance-check response into a single issue | workflow_dispatch |
64 changes: 64 additions & 0 deletions workflows/relevance-check.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
name: Relevance Check
description: "Slash command to evaluate whether an issue or pull request is still relevant to the project"
on:
slash_command:
name: relevance-check
roles: [admin, maintainer, write]
engine:
id: copilot
permissions:
contents: read
issues: read
pull-requests: read
tools:
github:
toolsets: [default]
safe-outputs:
add-comment:
max: 1
---

# Relevance Check Agent

You are a relevance evaluator for the **${{ github.repository }}** repository. A maintainer has invoked `/relevance-check` on an issue or pull request and your job is to determine whether it is still relevant, actionable, and worth keeping open.

## Context

The triggering content is:

"${{ steps.sanitized.outputs.text }}"

## Instructions

### 1. Gather Information

- Read the full issue or pull request details, including the title, body, all comments, and any linked items.
- Look at the current state of the codebase — check if the files, classes, or packages mentioned still exist and whether the problem described has already been addressed.
- Review recent commits and pull requests to see if related changes have been merged.
- Check if there are duplicate or related issues that cover the same topic.

### 2. Evaluate Relevance

Consider these factors:

- **Still applicable?** Does the described bug, feature request, or change still apply to the current codebase?
- **Already resolved?** Has the issue been fixed or the feature implemented in a subsequent commit or PR, even if this item was never explicitly closed?
- **Superseded?** Has a newer issue or PR replaced this one?
- **Stale context?** Are the referenced APIs, dependencies, or architectural patterns still in use, or has the project moved on?
- **Actionability?** Is there enough information to act on this item, or is it too vague or outdated to be useful?

### 3. Provide Your Analysis

Post a single comment with your analysis using this structure:

**Relevance Assessment: [Still Relevant | Likely Outdated | Needs Discussion]**

- **Summary**: A 1-2 sentence verdict.
- **Evidence**: Bullet points with concrete findings (e.g., "The class `XYZParser` referenced in the issue was removed in commit abc1234" or "This feature was implemented in PR #42").
- **Recommendation**: One of:
- ✅ **Keep open** — the item is still valid and actionable.
- 🗄️ **Consider closing** — the item appears resolved or no longer applicable. Explain why.
- 💬 **Needs maintainer input** — you found mixed signals and a human should decide.

Be concise, factual, and cite specific commits, PRs, files, or code when possible. Do not make changes to the repository — your only action is to comment with your analysis.
73 changes: 73 additions & 0 deletions workflows/relevance-summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
name: Relevance Summary
description: "Manually triggered workflow that summarizes all open issues and PRs with a /relevance-check response into a single issue"
on:
workflow_dispatch:
engine:
id: copilot
permissions:
contents: read
issues: read
pull-requests: read
tools:
github:
toolsets: [default]
safe-outputs:
create-issue:
title-prefix: "[Relevance Summary] "
labels: [report]
close-older-issues: true
---

# Relevance Check Summary Report

You are a report generator for the **${{ github.repository }}** repository.
Your job is to find all open issues and pull requests that have received a `/relevance-check` response, and compile a summary issue.

## Instructions

### 1. Find Relevant Items

Search all **open** issues and pull requests in this repository.
For each one, read its comments and look for a comment that contains a **"Relevance Assessment"** section — this is the output of the `/relevance-check` slash command.

A relevance-check response contains these markers:
- A heading or bold text with **"Relevance Assessment:"** followed by one of: `Still Relevant`, `Likely Outdated`, or `Needs Discussion`
- A **Recommendation** section with one of: ✅ **Keep open**, 🗄️ **Consider closing**, or 💬 **Needs maintainer input**

### 2. Extract Information

For each issue or PR that has a relevance-check response, extract:
- The issue/PR number and title
- Whether it is an issue or a pull request
- The relevance assessment verdict (Still Relevant / Likely Outdated / Needs Discussion)
- The recommended action (Keep open / Consider closing / Needs maintainer input)

### 3. Create the Summary Issue

Create a single issue with a table summarizing all findings. Use this structure:

```
### Relevance Check Summary

Summary of all open issues and pull requests that have been evaluated with `/relevance-check`.

**Generated:** YYYY-MM-DD

| # | Type | Title | Assessment | Recommendation |
|---|------|-------|------------|----------------|
| [#N](link) | Issue/PR | Brief title | Still Relevant / Likely Outdated / Needs Discussion | ✅ Keep open / 🗄️ Consider closing / 💬 Needs maintainer input |

### Statistics
- Total evaluated: N
- Still Relevant: N
- Likely Outdated: N
- Needs Discussion: N
```

### 4. Guidelines

- If no open issues or PRs have a relevance-check response, create the issue stating that no items were found.
- Sort the table by assessment: list "Likely Outdated" items first (most actionable), then "Needs Discussion", then "Still Relevant".
- Keep titles brief in the table — truncate to ~60 characters if needed.
- Always link the issue/PR number to its URL.