From delphi-dev
Shows GitHub repository dashboard with stars, forks, issues, PRs, commits, releases, contributors, and activity metrics using gh CLI.
npx claudepluginhub adrianosantostreina/delphi-dev --plugin delphi-devDetect the user's language from the first message and render the matching block below. Default: pt-BR. Supported: pt-BR, en-US. Honor explicit overrides: - "respond in English" / "in English please" → en-US - "responda em português" → pt-BR --- ## How `/dashboard` works Show a dashboard with public GitHub metrics for a repository. **Argument resolution (in order):** 1. If the user passed `<owner>/<repo>` as argument, use it. 2. Otherwise, run `git remote get-url origin` and parse the URL to extract `owner/repo`. - SSH form: `git@github.com:owner/repo.git` → `owner/repo` - HTTPS f...
/weekly-summaryGenerates markdown weekly git activity summary with commits, PRs, lines changed, files touched, categorized accomplishments by features/bugs/maintenance/projects across multiple repos.
/retroGenerates engineering retrospectives from git history including commit trends, contributor breakdowns, hotspots, session analysis, and metrics over a time window like 7d/14d/30d.
/SKILLExecutes GitHub CLI (gh) commands for PRs, issues, CI checks/logs, and repo metadata in this repo. Writes long outputs to scratch/ and summarizes results.
/gg-statsDisplays your GitGud dashboard including current streak and personal record, task completion statistics, unlocked achievements, and recent task history.
/dashboardGenerates JSON configuration for a monitoring dashboard visualizing project metrics: build health, code velocity, quality, performance, and dependencies.
/dashboardOpens the claudetop web dashboard in your browser showing spending charts over time, cost by project/model/branch, efficiency trends, and sortable session history.
Share bugs, ideas, or general feedback.
Detect the user's language from the first message and render the matching block below. Default: pt-BR. Supported: pt-BR, en-US.
Honor explicit overrides:
/dashboard worksShow a dashboard with public GitHub metrics for a repository.
Argument resolution (in order):
<owner>/<repo> as argument, use it.git remote get-url origin and parse the URL to extract owner/repo.
git@github.com:owner/repo.git → owner/repohttps://github.com/owner/repo.git → owner/repo.git if present.Prerequisite: gh CLI must be installed and authenticated. If gh is missing, show the missing-gh error from the language block.
Run these commands and capture each output. If any single command fails, fall back to "—" for that field but keep going.
gh repo view <owner>/<repo> --json name,owner,description,url,stargazerCount,forkCount,watchers,latestRelease,defaultBranchRef,createdAt,updatedAt,pushedAt,primaryLanguage,licenseInfo,homepageUrl,isArchived,diskUsage
Extract from the JSON:
stargazerCount → starsforkCount → forkswatchers.totalCount → watchersdefaultBranchRef.name → default branchcreatedAt, updatedAt, pushedAt → ISO 8601 timestampsprimaryLanguage.name → language (often null for docs/markdown repos — render —)licenseInfo.name (fallback to licenseInfo.spdxId) → licensedescription → descriptionhomepageUrl → homepagelatestRelease.tagName and latestRelease.publishedAt → latest release tag and datediskUsage → repo size in KBisArchived → if true, prepend 🗄️ ARCHIVED warningDo NOT rely on
issues.totalCountorpullRequests.totalCountfromgh repo view— those fields don't return real totals. Always use the search API queries below (steps 4 and 5) for issue and PR counts.
gh api "repos/<owner>/<repo>/commits?per_page=100" --paginate -q 'length' | awk '{s+=$1} END {print s}'
gh api "repos/<owner>/<repo>/releases?per_page=100" --paginate -q 'length' | awk '{s+=$1} END {print s}'
gh api "search/issues?q=repo:<owner>/<repo>+is:issue+state:open&per_page=1" -q '.total_count'
gh api "search/issues?q=repo:<owner>/<repo>+is:issue+state:closed&per_page=1" -q '.total_count'
gh api "search/issues?q=repo:<owner>/<repo>+is:pr+state:open&per_page=1" -q '.total_count'
gh api "search/issues?q=repo:<owner>/<repo>+is:pr+is:merged&per_page=1" -q '.total_count'
gh api "repos/<owner>/<repo>/contributors?per_page=100&anon=true" --paginate -q 'length' | awk '{s+=$1} END {print s}'
gh api "repos/<owner>/<repo>/contributors?per_page=3" -q '.[] | "\(.login):\(.contributions)"'
gh api "repos/<owner>/<repo>/milestones?state=open&per_page=5" -q '.[] | .title'
gh api "repos/<owner>/<repo>/commits?per_page=3" -q '.[] | "\(.sha[0:7]) \(.commit.author.date[0:10]) \(.commit.message | split("\n")[0])"'
gh api "repos/<owner>/<repo>/releases?per_page=3" -q '.[] | "\(.tag_name) \(.published_at[0:10]) \(.name // "")"'
YYYY-MM-DD. For "last commit", "last release", and "last update", append a relative-time suffix in parentheses if the date is within 365 days: (3 days ago) / (há 3 dias), (2 months ago) / (há 2 meses). Compute relative time from current date.1,234 for en-US, 1.234 for pt-BR).….—.```) for monospace alignment.📊 Dashboard — <owner>/<repo>
<description (truncated)>
🔗 <url>
🔤 <language> · 📜 <license> · 🌿 default: <defaultBranch> · 💾 <size>
📈 Popularity
⭐ Stars: <stargazerCount>
🍴 Forks: <forkCount>
👀 Watchers: <watchers>
👥 Contributors: <totalContributors>
🐛 Issues 🔀 Pull Requests
📋 Open: <openIssues> 📂 Open: <openPRs>
✅ Closed: <closedIssues> ✅ Merged: <mergedPRs>
📝 Activity
Total commits: <totalCommits>
Last commit: <lastCommitDate> (<relative>)
Latest release: <latestReleaseTag> — <latestReleaseDate> (<relative>)
Total releases: <totalReleases>
🏆 Top contributors
1. <login1> — <contributions1> commits
2. <login2> — <contributions2> commits
3. <login3> — <contributions3> commits
📅 Timeline
Created: <createdAt>
Last updated: <updatedAt> (<relative>)
Last push: <pushedAt> (<relative>)
If latestRelease is null, render Latest release: — (no releases yet) and Total releases: 0.
If milestones list is non-empty, append a section before "Timeline":
🎯 Open milestones
• <title1>
• <title2>
Errors (en-US):
❌ Could not detect a GitHub repository. Pass an explicit argument: /dashboard owner/repo❌ The 'gh' CLI is not installed. Install it from https://cli.github.com/ and run 'gh auth login' before using /dashboard.❌ The 'gh' CLI is installed but not authenticated. Run 'gh auth login' and try again.❌ Repository <owner>/<repo> not found or not accessible with current credentials.📊 Dashboard — <owner>/<repo>
<descricao (truncada)>
🔗 <url>
🔤 <linguagem> · 📜 <licenca> · 🌿 branch padrão: <defaultBranch> · 💾 <tamanho>
📈 Popularidade
⭐ Estrelas: <stargazerCount>
🍴 Forks: <forkCount>
👀 Watchers: <watchers>
👥 Contribuidores: <totalContributors>
🐛 Issues 🔀 Pull Requests
📋 Abertas: <openIssues> 📂 Abertos: <openPRs>
✅ Fechadas: <closedIssues> ✅ Mesclados: <mergedPRs>
📝 Atividade
Commits totais: <totalCommits>
Último commit: <lastCommitDate> (<relative>)
Última release: <latestReleaseTag> — <latestReleaseDate> (<relative>)
Total releases: <totalReleases>
🏆 Top contribuidores
1. <login1> — <contributions1> commits
2. <login2> — <contributions2> commits
3. <login3> — <contributions3> commits
📅 Linha do tempo
Criado em: <createdAt>
Última atualização: <updatedAt> (<relative>)
Último push: <pushedAt> (<relative>)
Se latestRelease for null, renderize Última release: — (sem releases ainda) e Total releases: 0.
Se a lista de milestones não estiver vazia, adicione uma seção antes de "Linha do tempo":
🎯 Milestones abertos
• <titulo1>
• <titulo2>
Erros (pt-BR):
❌ Não foi possível detectar um repositório GitHub. Passe argumento explícito: /dashboard owner/repo❌ A CLI 'gh' não está instalada. Instale em https://cli.github.com/ e rode 'gh auth login' antes de usar /dashboard.❌ A CLI 'gh' está instalada mas não autenticada. Rode 'gh auth login' e tente novamente.❌ Repositório <owner>/<repo> não encontrado ou inacessível com as credenciais atuais./dashboard — uses current repo (via git remote)/dashboard adrianosantostreina/delphi-dev — explicit repo/dashboard microsoft/TypeScript — any public repo