Files
awesome-copilot/skills/pr-dashboard/SKILL.md
James 4beca2f03b 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>
2026-04-30 09:59:44 +10:00

2.1 KiB

name, description
name description
pr-dashboard 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:

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.