Add pr-dashboard skill and plugin#1444
Conversation
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>
🔍 Skill Validator Results
Summary
Full validator output```text Found 1 skill(s) [pr-dashboard] 📊 pr-dashboard: 589 BPE tokens [chars/4: 524] (detailed ✓), 5 sections, 1 code blocks [pr-dashboard] ⚠ No numbered workflow steps — agents follow sequenced procedures more reliably. ✅ All checks passed (1 skill(s)) ``` |
There was a problem hiding this comment.
Pull request overview
Adds a new PR Dashboard skill (plus installable plugin metadata) that uses gh to discover PRs for a user/date range, generates a self-contained HTML dashboard, and opens it in a browser.
Changes:
- Added a Node.js CLI (
pr-dashboard-cli.mjs) to query PRs viagh api, enrich with review/CI status, and render an HTML dashboard. - Added a dashboard HTML template and date-range parsing utilities for natural-language ranges.
- Registered the new skill/plugin in the repo docs and plugin marketplace metadata.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/pr-dashboard/pr-dashboard-cli.mjs | CLI implementation: GH API calls, PR enrichment, HTML generation, browser open. |
| skills/pr-dashboard/lib/utils.mjs | Natural-language date range parsing helpers (plus unused exports). |
| skills/pr-dashboard/dashboard.html | HTML/CSS/JS template for the dashboard UI. |
| skills/pr-dashboard/SKILL.md | Skill definition + instructions for invoking the bundled CLI. |
| plugins/pr-dashboard/README.md | Plugin-level README with requirements and install instructions. |
| plugins/pr-dashboard/.github/plugin/plugin.json | Plugin metadata referencing the pr-dashboard skill. |
| docs/README.skills.md | Adds the skill to the skills index. |
| docs/README.plugins.md | Adds the plugin to the plugins index. |
| docs/README.instructions.md | Reorders an existing row (unrelated to PR dashboard). |
| .github/plugin/marketplace.json | Adds marketplace entry for pr-dashboard. |
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>
- 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>
aaronpowell
left a comment
There was a problem hiding this comment.
Is there a need to have this as a plugin, or was that done to simplify the install process? We've recently added gh skills to the GitHub CLI that means you can easily install a skill without a plugin, so would it make sense to remove the plugin part and leverage gh skills install github/awesome-copilot pr-dashboard?
For the additional files in the skill, they should be in the scripts folder, per the skills spec.
…lugin - 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>
|
Thanks for the feedback, agreed a plugin was overkill here. Both points have been addressed:
|
PR Dashboard
Adds a self-contained skill and plugin that generates and opens a rich HTML pull request dashboard in the browser.
What it does
last 2 weeks,march 2026) and role filter (Authored by me,Requested reviews,Assigned to me,All)gh) to search PRs and fetch details (status, review state, CI status)Files added
skills/pr-dashboard/—SKILL.md,pr-dashboard-cli.mjs,dashboard.html,lib/utils.mjsplugins/pr-dashboard/— installable viacopilot skill install pr-dashboard@awesome-copilotPrerequisites
GitHub CLI (
gh) installed and authenticated (gh auth login).Validation
npm run skill:validate✅npm run plugin:validate✅npm run build✅