Skip to content

Add pr-dashboard skill and plugin#1444

Open
jamcgrath wants to merge 3 commits intogithub:stagedfrom
jamcgrath:feat/pr-dashboard
Open

Add pr-dashboard skill and plugin#1444
jamcgrath wants to merge 3 commits intogithub:stagedfrom
jamcgrath:feat/pr-dashboard

Conversation

@jamcgrath
Copy link
Copy Markdown

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

  • Accepts a natural-language date range (e.g. last 2 weeks, march 2026) and role filter (Authored by me, Requested reviews, Assigned to me, All)
  • Uses the GitHub CLI (gh) to search PRs and fetch details (status, review state, CI status)
  • Renders a self-contained HTML dashboard and opens it in the browser

Files added

  • skills/pr-dashboard/SKILL.md, pr-dashboard-cli.mjs, dashboard.html, lib/utils.mjs
  • plugins/pr-dashboard/ — installable via copilot skill install pr-dashboard@awesome-copilot

Prerequisites

GitHub CLI (gh) installed and authenticated (gh auth login).

Validation

  • npm run skill:validate
  • npm run plugin:validate
  • npm run build

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>
Copilot AI review requested due to automatic review settings April 19, 2026 09:48
@jamcgrath jamcgrath requested a review from aaronpowell as a code owner April 19, 2026 09:48
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 19, 2026

🔍 Skill Validator Results

⚠️ Warnings or advisories found

Scope Checked
Skills 1
Agents 1
Total 2
Severity Count
--- ---:
❌ Errors 0
⚠️ Warnings 1
ℹ️ Advisories 0

Summary

Level Finding
ℹ️ Found 1 skill(s)
ℹ️ [pr-dashboard] 📊 pr-dashboard: 588 BPE tokens [chars/4: 522] (detailed ✓), 5 sections, 1 code blocks
ℹ️ [pr-dashboard] ⚠ No numbered workflow steps — agents follow sequenced procedures more reliably.
ℹ️ ✅ All checks passed (1 skill(s))
Full validator output ```text Found 1 skill(s) [pr-dashboard] 📊 pr-dashboard: 588 BPE tokens [chars/4: 522] (detailed ✓), 5 sections, 1 code blocks [pr-dashboard] ⚠ No numbered workflow steps — agents follow sequenced procedures more reliably. ✅ All checks passed (1 skill(s)) ```

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 via gh 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.

Comment thread skills/pr-dashboard/lib/utils.mjs Outdated
Comment thread skills/pr-dashboard/lib/utils.mjs Outdated
Comment thread skills/pr-dashboard/pr-dashboard-cli.mjs Outdated
Comment thread skills/pr-dashboard/lib/utils.mjs Outdated
Comment thread skills/pr-dashboard/lib/utils.mjs Outdated
Comment thread skills/pr-dashboard/dashboard.html Outdated
Comment thread skills/pr-dashboard/dashboard.html Outdated
Comment thread skills/pr-dashboard/pr-dashboard-cli.mjs Outdated
Comment thread skills/pr-dashboard/pr-dashboard-cli.mjs Outdated
Comment thread skills/pr-dashboard/pr-dashboard-cli.mjs Outdated
jamcgrath and others added 2 commits April 19, 2026 18:56
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants