pulumi/dashboard
Display repository status with PRs, issues, CI/CD health, and suggested tasks
npx skills add https://github.com/pulumi/docs --skill dashboard
Use this when: You want a quick overview of repository status, priority work items, and health metrics.
Displays priority PRs/issues, suggested next tasks, CI/CD health, and deployment status with intelligent prioritization based on user context.
/dashboard [mode]
Modes:
compact (default) - Top 5-8 most important itemsdetailed: Top 10-15 items with more contextfull: Everything with complete detailsRun the data collection script:
bash .claude/commands/dashboard/scripts/dashboard.sh
This outputs structured JSON with all repository data.
Parse the JSON output and present it according to the mode requested. The JSON structure is:
{
"user": {
"github_user": "string",
"is_pulumi_member": boolean,
"current_branch": "string",
"uncommitted_changes": number,
"rate_remaining": number
},
"prs": [
{
"number": number,
"title": "string",
"author": {"login": "string"},
"isDraft": boolean,
"createdAt": "timestamp",
"labels": [{"name": "string"}],
"priority": number,
"age_days": number,
"type": "normal",
"is_assigned": boolean,
"is_mentioned": boolean
}
],
"issues": [
{
"number": number,
"title": "string",
"age_days": number,
"labels": [{"name": "string"}]
}
],
"workflows": {
"status": "HEALTHY|WARNING|CRITICAL|UNKNOWN",
"total_runs": number,
"success_runs": number,
"failure_runs": number,
"success_rate": number,
"recent": [
{
"name": "string",
"status": "string",
"conclusion": "string",
"createdAt": "timestamp"
}
]
},
"deployment": {
"last_push_conclusion": "string",
"last_push_time": "string"
},
"stats": {
"total_prs": number,
"assigned_prs": number,
"total_issues": number,
"assigned_issues": number
}
}
Create a terminal-friendly dashboard with these sections:
════════════════════════════════════════════════════════════════════════════════
📊 PULUMI REGISTRY DASHBOARD
════════════════════════════════════════════════════════════════════════════════
👤 User: @{github_user} ({internal|external}) | Branch: {branch} | Uncommitted: {count}
If rate_remaining < 50, show warning: ⚠️ GitHub API rate limit low ({count} remaining) - dashboard requires 6+ API calls
PRs:
priority (descending), then by age_days (descending)isDraft: true)[bot] in username or is pulumi-bot)automation/merge or automation/tfgen-provider-docs labels (these are routine bot PRs){emoji} #{number} {title} ({age}d)Item limits by mode:
Issues:
🐛 #{number} {title} (issue, {age}d)Generate actionable tasks based on data. Priority order:
uncommitted_changes > 0):📝 Review and commit {count} uncommitted changes → git statusis_assigned: true):🔍 Review assigned PR #{number}: {short_title} → /pr-review {number}themes/default/data/registry/packages/):📦 Review community package submission PR #{number} → /pr-review {number}🐛 Work on issue #{number}: {short_title} → gh issue view {number}status: "CRITICAL" and recent failures):❌ Investigate workflow failure: {name} → gh run list --workflow "{name}"🔧 Continue work on branch {current_branch}Task limits by mode:
Number tasks sequentially: 1., 2., etc.
────────────────────────────────────────────────────────────────────────────────
🏥 HEALTH: {emoji} {status} (24h: {total_runs} runs, {success_rate}% success)
────────────────────────────────────────────────────────────────────────────────
Status emojis:
Recent workflows (top 3):
createdAt timestampRecent: {emoji} {name} ({time}, {conclusion}) | Deployment info:
push.yml run status and timeDeploy: {conclusion} ({time_ago}) | PRs: {total} open ({assigned} assigned) | Issues: {total} ({assigned} assigned)════════════════════════════════════════════════════════════════════════════════
Tip: Use '/dashboard detailed' or '/dashboard full' for more information
Adjust tip based on current mode.
PRs are scored with these weights (already calculated in JSON):
automation/merge or automation/tfgen-provider-docs label (routine bot PRs)If the JSON indicates errors or missing data:
Target execution time: 3-5 seconds (script runs all API calls in parallel)
Take pulumi/dashboard from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.