Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/drjkl-metrics-dashboard
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/metrics-dashboard
What's inside
- Skill name
metrics-dashboard- Description
- Tracks pipeline velocity, success rates, and cycle times. Use to view performance metrics, identify bottlenecks, and generate reports.
- License
- MIT
- Instructions
- 230 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Metrics Dashboard
Aggregates pipeline run data to track velocity, success rates, and identify improvement areas.
## Configuration
Uses the **production API** by default. No configuration needed for read operations.
**Defaults (no setup required):**
- API URL: `https://api-gateway-856475788601.us-central1.run.app`
- Read-only endpoints at `/public/*` require no authentication
**For write operations**, set:
```bash
export PIPELINE_API_KEY="..." # Get from GCP Secret Manager or ask admin
```
## Workflow
### 1. Fetch Ticket Data from API
```typescript
import { PipelineClient, PipelineAPIError } from '@pipeline/client'
const client = new PipelineClient({
apiUrl: process.env.PIPELINE_API_URL || 'https://api-gateway-856475788601.us-central1.run.app',
agentId: process.env.AGENT_ID!,
})
// Fetch all tickets for metrics calculation
const { tickets, total } = await client.listTickets({
limit: 1000,
})
// Filter by state if needed
const { tickets: completedTickets } = await client.listTickets({
state: 'done',
limit: 1000,
})
// Filter by agent
const { tickets: myTickets } = await client.listTickets({
agent_id: process.env.AGENT_ID,
})
```
### 2. Calculate Metrics
```typescript
interface TicketMetrics {
total: number
completed: number
failed: number
inProgress: number
successRate: number
avgCycleTimeHours: number
minCycleTimeHours: number
maxCycleTimeHours: number
}
function calculateMetrics(tickets: Ticket[]): TicketMetrics {
const completed = tickets.filter((t) => t.state === 'done')
const failed = tickets.filter((t) => t.state === 'failed')
const inProgress = tickets.filter((t) =>
['intake', 'research', 'planning', 'implementation', 'pr_created'].includes(t.state)
)
// Calculate cycle times from timestamps
const cycleTimes = completed
.filter((t) => t.created_at && t.state_changed_at)
.map((t) => {
const start = new Date(t.created_at).getTime()
const end = new Date(t.state_changed_at).getTime()
return (end - start) / (1000 * 60 * 60) // hours
})
const avgCycleTime = cycleTimes.length > 0 ? cycleTimes.reduce((a, b) => a + b, 0) / cycleTimes.length : 0
return {
total: tickets.length,
completed: completed.length,
failed: failed.length,
inProgress: inProgress.length,
successRate:
completed.length + failed.length > 0 ? (completed.length / (completed.length + failed.length)) * 100 : 0,
avgCycleTimeHours: avgCycleTime,
minCycleTimeHours: cycleTimes.length > 0 ? Math.min(...cycleTimes) : 0,
maxCycleTimeHours: cycleTimes.length > 0 ? Math.max(...cycleTimes) : 0,
}
}
const metrics = calculateMetrics(tickets)
```
### 3. Generate Dashboard
```markdown
# Pipeline Metrics Dashboard
**Period:** Last 30 days | **Generated:** {timestamp}
## Summary
| Metric | Value | Trend |
| ----------------- | ------- | ---------- |
| Tickets Completed | 12 | ↑ +3 |
| Success Rate | 83% | ↑ +5% |
| Avg Cycle Time | 2.5 hrs | ↓ -0.5 hrs |
## Cycle Time Breakdown
Intake ████ 5 min | Research ████████ 15 min | Planning ██████ 10 min
Implement █████████████ 25 min | Quality ████ 8 min | Review ██████ 12 min
## Success by Type
| Type | Count | Success | Avg Time |From DrJKL/ticket-to-pr-pipeline, MIT.
More from DrJKL/ticket-to-pr-pipeline
- 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.409score
addressing-review-comments
DrJKL
Checks out a PR branch via worktree, implements code review feedback as individual commits linking to each comment URL, runs quality gates, and hands off to…
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
reviewing-external-prs
DrJKL
Review external GitHub PRs with human approval for each comment.
SkillDFreshness: DClaude Code +9 - 0.409score
slack-context-fetcher
DrJKL
Fetches Slack thread content using a Slack bot for ticket context enrichment.
SkillDFreshness: DClaude Code +9 - 0.409score
coderabbit-intake
DrJKL
Fast-track CodeRabbit issues to PRs.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.408score
review-orchestrator
DrJKL
Dispatch review subagents, compile feedback, triage for human decision.
SkillDFreshness: DClaude Code +9 - 0.406score
pr-split-advisor
DrJKL
Analyzes implementation plans and recommends PR splitting strategy.
SkillDFreshness: DClaude Code +9 - 0.406score
pipeline-tracker
DrJKL
Syncs pipeline status to Notion and views dashboard.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Feb 8, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/DrJKL/ticket-to-pr-pipeline
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from DrJKL
- 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.409score
reviewing-external-prs
DrJKL
Review external GitHub PRs with human approval for each comment.
SkillDFreshness: DClaude Code +9
Cite this page
metrics-dashboard skill. Agent Mart. https://agentmart.dev/skills/drjkl-metrics-dashboard (last updated 2026-10-24)