Generate a 2025 year-in-review visualization for a repository. Use when user asks for "repo recap", "年間レポート", "yearly summary", "2025 recap", or wants to see repository statistics and contributions. (user)
This skill inherits all available tools. When active, it can use any tool Claude has access to.
templates/recap.htmlYou are generating a beautiful, interactive HTML visualization summarizing a repository's 2025 activity.
This skill creates a standalone HTML file with:
重要: 以下の3つのコマンドを並列で実行してください。これにより実行時間を大幅に短縮できます。
# === コマンド1: 基本コミットデータ (1回のgit logで全データ取得) ===
git log --since="2025-01-01" --until="2025-12-31" --format="COMMIT_START%n%ad%n%aN%n%s%nCOMMIT_END" --date=format:"%Y-%m-%d %H %u" 2>/dev/null
# === コマンド2: PR/Issue データ (並列実行可) ===
gh pr list --state all --search "created:2025-01-01..2025-12-31" --json number,title,author,comments,additions,deletions,changedFiles --limit 100 2>/dev/null || echo "[]"
gh issue list --state all --search "created:2025-01-01..2025-12-31" --json number,title,author,comments --limit 100 2>/dev/null || echo "[]"
# === コマンド3: リポジトリ名 ===
basename $(git rev-parse --show-toplevel)
git logでパイプ区切りのシンプルな形式で取得:
git log --since="2025-01-01" --until="2025-12-31" --format="%ad|%aN|%s" --date=format:"%Y-%m-%d|%H|%u" 2>/dev/null
出力例:
2025-12-25|14|4|Hiroki|fix: bug
2025-12-24|09|3|Jane|feat: new feature
上記の出力をClaude Codeが以下のJSON形式に変換:
[
{"date": "2025-12-25", "hour": 14, "day": 4, "name": "Hiroki", "message": "fix: bug"},
...
]
重要: awkやsedを使わず、Claude Code自身がこの変換を行ってください。
テンプレート内のJavaScriptが rawCommits から以下を自動計算:
Create a file named repo-recap-2025.html in the repository root using the template below. Replace the placeholder data with actual collected data.
The HTML should include:
Head Section
Hero Section
Stats Cards
Contribution Heatmap
Time Analysis
Cumulative Graph
Commit Message Analysis
Achievement Badges
Hot Moments
Leaderboard
Fun Stats
Use the template from: skills/repo-recap/templates/recap.html
プレースホルダーは4つだけ! テンプレート内で全データを自動計算します:
{{REPO_NAME}} - リポジトリ名{{YEAR}} - 年 (2025){{RAW_COMMITS_JSON}} - コミットデータ配列 [{date, hour, day, name, message}, ...]{{PRS_JSON}} - PRデータ (gh pr listの出力){{ISSUES_JSON}} - Issueデータ (gh issue listの出力、なければ [])After generating the HTML file, inform the user:
repo-recap-2025.html を生成しました!
ブラウザで開く:
open repo-recap-2025.html # macOS
xdg-open repo-recap-2025.html # Linux
start repo-recap-2025.html # Windows
お楽しみください! 🎉
https://github.com/{username}.png