Agent skill
github:last-week
Weekly repository report - deep issue analysis, PR health, CI trends, actionable recommendations
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/github-last-week
SKILL.md
Last Week Report
Deep weekly analysis of repository health: issue investigation, PR status, CI trends.
When to Use
- Weekly standup preparation
- Sprint retrospective input
- Tracking project health over time
Auto-approved: All
ghread commands are auto-approved.
Workflow
Phase 0: Gather Data (MUST run first)
Run the data gathering script to get a consistent snapshot of all issues, PRs, and CI runs. This prevents stale data from long-running analysis.
./.github/scripts/reports/weekly-report-data.sh 7 kagenti/kagenti
This creates JSON files in /tmp/kagenti/github/data/:
merged-prs.json— PRs merged in the periodopen-prs.json— Currently open PRs (live snapshot)open-issues.json— Currently open issues (live snapshot)new-issues.json— Issues created in the periodci-runs.json— CI runs on mainci-runs-all.json— All CI runs
IMPORTANT: All subsequent phases MUST read from these JSON files, NOT re-query gh. This ensures consistency — PRs won't change state mid-analysis.
Phase 1: Quick Stats
Read from the gathered data:
echo "Merged PRs: $(jq length /tmp/kagenti/github/data/merged-prs.json)"
echo "Open PRs: $(jq length /tmp/kagenti/github/data/open-prs.json)"
echo "Open issues: $(jq length /tmp/kagenti/github/data/open-issues.json)"
echo "New issues: $(jq length /tmp/kagenti/github/data/new-issues.json)"
Phase 2: Deep Issue Analysis
For EVERY open issue (from open-issues.json), investigate:
Read from gathered data (do NOT re-query gh):
cat /tmp/kagenti/github/data/open-issues.json | jq '.[].number'
For each issue, determine:
-
Still relevant? — Check if the bug still exists on upstream/main
- Search codebase for the affected code/component
- Check if a fix was merged since the issue was created
- Check if a test covers this scenario
-
Work in progress? — Check if any PR references this issue
bashgh pr list --repo kagenti/kagenti --state all --search "issue-number" --json number,title,state -
Severity classification:
- Security: Credential leaks, auth bypass, injection
- Blocking: Breaks deployment, tests, or user workflow
- Bug: Broken behavior but workaround exists
- Feature: New capability request
- Epic: Multi-PR initiative (track progress)
- Stale: No activity >30 days, may be outdated
-
Actionable recommendation: Close, update, assign, or create PR
Phase 3: Deep PR Analysis
For EVERY open PR (from open-prs.json), investigate:
cat /tmp/kagenti/github/data/open-prs.json | jq '.[].number'
For each PR, determine:
- CI status: Does it pass all checks?
- Needs /run-e2e?: Does it touch kagenti/charts/deployments/.github paths?
- Review status: Approved, changes requested, or waiting?
- Health: Is it stale (>14 days)? Has merge conflicts?
- Summary: What does this PR do? (read the body)
Classify each PR:
| Health | Criteria | Next Step |
|---|---|---|
| Ready to merge | Approved + CI passing | Merge it |
| Needs review | CI passing, no review | Request review |
| Needs /run-e2e | Touches deploy paths, no HyperShift run | Comment /run-e2e |
| CI failing | Has failures | Investigate with rca:ci |
| Stale | No update >14 days | Ping author or close |
| Conflicts | Mergeable = CONFLICTING | Author needs to rebase |
| Changes requested | Reviewer asked for changes | Author needs to address |
Phase 3b: CI Failure Timeline
Get all runs on main (last 7 days):
gh run list --repo kagenti/kagenti --branch main --limit 30 --json databaseId,conclusion,name,createdAt,headSha,displayTitle
For each failed run, get the failing job and step:
gh run view <run-id> --repo kagenti/kagenti --json jobs --jq '.jobs[] | select(.conclusion == "failure") | "\(.name): \(.steps[] | select(.conclusion == "failure") | .name)"'
Get the commit that triggered the failure:
gh run view <run-id> --repo kagenti/kagenti --json headSha --jq '.headSha'
Check what that commit changed:
gh api repos/kagenti/kagenti/commits/<sha> --jq '.files[].filename'
Build a timeline of failures with root cause correlation:
- Map each failure to the triggering commit
- Identify if the same job/step fails repeatedly (infrastructure issue)
- Identify if failures started after a specific merge (regression)
Since E2E doesn't run on every merge, find candidate PRs that could have caused a failure:
gh pr list --repo kagenti/kagenti --state merged --json number,title,mergedAt,changedFiles --jq '.[] | select(.mergedAt > "LAST_SUCCESS_DATE" and .mergedAt < "FAILURE_DATE") | "#\(.number) \(.title) (\(.changedFiles) files)"'
For each candidate PR, check if it touched relevant paths:
charts/ordeployments/→ likely deploy/config issuekagenti/tests/→ test change may have introduced failure.github/workflows/or.github/scripts/→ CI infrastructure changekagenti/backend/orkagenti/auth/→ application logic change
Correlate the failure type with the PR changes to identify the most likely cause.
Phase 4: Generate Report
Write the full report as markdown. Structure:
# Weekly Report: [date range]
## Quick Stats
- Merged PRs: N
- New issues: N
- CI pass rate: X/Y on main
## Issue Analysis
### Security Issues
| # | Title | Status | Recommendation |
...
### Blocking Issues
| # | Title | Status | Recommendation |
...
### Bug Reports
| # | Title | Still affects main? | PR exists? | Recommendation |
...
### Feature Requests
| # | Title | Priority | Recommendation |
...
### Epics (track progress)
| # | Title | PRs merged/open | % done estimate |
...
### Issues to Close
| # | Title | Reason |
...
(Issues where fix was already merged, or issue is outdated)
## PR Analysis
### Ready to Merge
| # | Title | Author | Approved by |
...
### Needs Review (CI passing)
| # | Title | Author | Days waiting |
...
### Needs /run-e2e
| # | Title | Reason |
...
### Unhealthy PRs
| # | Title | Problem | Next step |
...
## CI Health
### Pass Rate
- Main branch: X/Y runs passed (Z%)
- HyperShift E2E: X/Y passed
- Kind E2E: X/Y passed
- Security/Lint/Build: X/Y passed
### Failure Timeline
| Date | Workflow | Job | Failure | Likely Cause |
|------|----------|-----|---------|-------------|
| ... | E2E HyperShift | Deploy & Test | timeout | Cluster creation slow |
| ... | CI | build | compile error | PR #N broke import |
### Failure Patterns
- **Recurring**: [failures that happen repeatedly — infrastructure, flaky tests]
- **One-off**: [failures tied to specific commits]
- **Trend**: [getting better/worse over time]
### Root Cause Correlation
For each failure, identify candidate PRs merged between last success
and the failure. Check which files they touched to find likely cause.
## Action Items
Single flat list, ordered by priority. No timescales.
| # | Action | Owner | Priority |
|---|--------|-------|----------|
| 1 | [Highest priority action] | [owner] | P0 |
| 2 | [Next action] | [owner] | P1 |
Save report:
# Save to /tmp/kagenti/github/weekly-report.md
Phase 5: Ask User
After generating the report, ask:
Weekly report ready. Want me to create a GitHub issue with this? Suggested title: "📊 Weekly Report [start-date] – [end-date]"
You can also suggest a different title.
Only create the issue after user confirms title and content.
Related Skills
github:issues- Deep dive into individual issue triagegithub:prs- Deep dive into individual PR healthgit:status- Worktree and PR status overviewci:status- Detailed CI check analysisrca:ci- Investigate CI failuresrepo:issue- Issue creation format
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?