mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-30 12:15:56 +00:00
Add pr-dashboard skill and plugin (#1444)
* Add pr-dashboard skill and plugin Adds a self-contained PR dashboard skill that generates and opens a rich HTML dashboard in the browser showing GitHub pull requests for a given date range and role filter. - Skill: skills/pr-dashboard/ — bundles pr-dashboard-cli.mjs, dashboard.html, and lib/utils.mjs - Plugin: plugins/pr-dashboard/ — makes it installable via `copilot skill install pr-dashboard@awesome-copilot` Requires GitHub CLI (gh) installed and authenticated. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Restore README.instructions.md to upstream sort order macOS locale sorts Japanese/Korean C# entries differently than Linux CI. Restore to the upstream/staged version since we don't add any instructions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Address PR review comments - Fix regex character class bug: [-to]+ → (?:-|to) alternation in utils.mjs - Fix 'last week' to return previous calendar week (Mon–Sun) not last 7 days - Remove unused formatHumanDate and buildMarkdown exports from utils.mjs - Fix ghApi error handling: rethrow with helpful message instead of silently returning parsed JSON on failure (prevents silent auth errors) - Add pagination to searchIssues (up to 1000 results across pages) - Add rel="noopener noreferrer" to target=_blank links in generated rows - HTML-escape fallback template content in renderHtml to prevent injection - Move escapeHtml to module level so it's available before renderHtml body - Neutralise dashboard.html template: placeholder title/h1/meta/stats/tbody - Empty __md and filename in template (CLI populates at runtime) - Add aria-label to search input and status/review selects Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * remove newline * Regenerate docs/README.instructions.md * refactor(pr-dashboard): move scripts/assets per skills spec, remove plugin - Move pr-dashboard-cli.mjs and lib/utils.mjs into scripts/ per skills spec - Move dashboard.html into assets/ per skills spec - Update CLI template path and SKILL.md script path reference - Remove plugins/pr-dashboard (redundant now that gh skills install works) - Clean up marketplace.json and docs/README.plugins.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
54
skills/pr-dashboard/SKILL.md
Normal file
54
skills/pr-dashboard/SKILL.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
name: pr-dashboard
|
||||
description: 'Open a GitHub PR dashboard in the browser. Use when the user asks to see their pull requests, open the PR dashboard, show PRs for a date range, or check PR status. Trigger phrases include "show my PRs", "open PR dashboard", "pull request dashboard".'
|
||||
---
|
||||
|
||||
# PR Dashboard
|
||||
|
||||
Generates and opens a GitHub PR dashboard in the browser for a given date range and role filter.
|
||||
|
||||
**Prerequisites:** GitHub CLI (`gh`) must be installed and authenticated (`gh auth login`).
|
||||
|
||||
## What to do
|
||||
|
||||
Find the CLI script bundled with this skill and run it:
|
||||
|
||||
```bash
|
||||
SKILL_SCRIPT=$(find ~/.copilot -name "pr-dashboard-cli.mjs" -path "*/pr-dashboard/scripts/*" 2>/dev/null | head -1)
|
||||
node "$SKILL_SCRIPT" "<query>" "<role>"
|
||||
```
|
||||
|
||||
- `<query>`: the date range the user specified (default: `last 7 days`)
|
||||
- `<role>`: one of `Authored by me`, `Requested reviews`, `Assigned to me`, `All` (default: `Authored by me`)
|
||||
|
||||
## Parsing the user's request
|
||||
|
||||
Extract the date range and role from the user's message. Examples:
|
||||
|
||||
| User says | query | role |
|
||||
|---|---|---|
|
||||
| show my PRs | `last 7 days` | `Authored by me` |
|
||||
| show my PRs last 2 weeks | `last 2 weeks` | `Authored by me` |
|
||||
| PR dashboard this month reviews | `this month` | `Requested reviews` |
|
||||
| PR dashboard march 2026 assigned | `march 2026` | `Assigned to me` |
|
||||
| show all PRs last 30 days | `last 30 days` | `All` |
|
||||
|
||||
**Role keyword mapping:**
|
||||
- "my PRs", "authored", "I wrote" → `Authored by me`
|
||||
- "reviews", "review requested", "reviewing" → `Requested reviews`
|
||||
- "assigned" → `Assigned to me`
|
||||
- "all", "involves me" → `All`
|
||||
|
||||
## Supported date range formats
|
||||
|
||||
The script understands natural language — pass it through as-is:
|
||||
- `last 7 days`, `last 2 weeks`, `last 30 days`
|
||||
- `this week`, `last week`, `this month`, `last month`
|
||||
- `march 2026`, `feb 2025`
|
||||
- `2026-01-01 - 2026-03-31`
|
||||
- `2025` (whole year)
|
||||
|
||||
## After running
|
||||
|
||||
Tell the user the dashboard is opening in their browser. The script outputs progress to stdout. If it exits with an error, show the error output and suggest they run `gh auth login` if it's an auth issue.
|
||||
|
||||
Reference in New Issue
Block a user