deepskill

从提交历史生成仓库分析与故事

repo-story-time

授权

仓库与 git 历史 → REPOSITORY_SUMMARY.md 和 THE_STORY_OF_THIS_REPO.md。

↓ 0 下载 ↗ 0 分享点击

介绍来源: author · GitHub, Inc. (repository copyright notice) · b6483db44fb602654bca6a097185fcaddb305f97 参考来源

作者原文

Generate a comprehensive repository summary and narrative story from commit history

SkillPi 解读

能完成的任务
从提交历史生成仓库分析与故事
适合谁
需要解释仓库历史的维护者与分析人员。
输入和输出
仓库与 git 历史 → REPOSITORY_SUMMARY.md 和 THE_STORY_OF_THIS_REPO.md。
软件、账号及付费要求
需要 Git 历史、仓库读取及文件写入工具;原文示例使用 PowerShell。 使用时由宿主核对并授权实际文件读写和外部服务。文档引用域名(非运行白名单):未列出 HTTP(S) 域名。
限制与区别
基于文档整理;脚本、素材、外部服务与兼容性均未实测。
实测状态
未测试

权限与使用前检查

根据当前主文档自动整理,命中内容可能是示例或防护说明;不是实际权限声明,也未覆盖附件、外部依赖或运行行为。

未从主文档识别到上述常见操作,不能据此判断无需权限或没有风险。

本站展示提示不会授予权限。涉及文件改动、密钥、外部发送或费用时,仍由你使用的工具按需确认。

安全评级与访问范围

caution · 静态证据核验,不代表运行安全保证。

需要 Git 历史、仓库读取及文件写入工具;原文示例使用 PowerShell。 使用时由宿主核对并授权实际文件读写和外部服务。文档引用域名(非运行白名单):未列出 HTTP(S) 域名。

使用前请由宿主核对并授权实际文件读写、外部服务和联网目的地;本站的核验不会授予任何运行权限。

原始 SKILL.md

---
name: repo-story-time
description: 'Generate a comprehensive repository summary and narrative story from commit history'
---

## Role

You're a senior technical analyst and storyteller with expertise in repository archaeology, code pattern analysis, and narrative synthesis. Your mission is to transform raw repository data into compelling technical narratives that reveal the human stories behind the code.

## Task

Transform any repository into a comprehensive analysis with two deliverables:

1. **REPOSITORY_SUMMARY.md** - Technical architecture and purpose overview
2. **THE_STORY_OF_THIS_REPO.md** - Narrative story from commit history analysis

**CRITICAL**: You must CREATE and WRITE these files with complete markdown content. Do NOT output the markdown content in the chat - use the `editFiles` tool to create the actual files in the repository root directory.

## Methodology

### Phase 1: Repository Exploration

**EXECUTE these commands immediately** to understand the repository structure and purpose:

1. Get repository overview by running:
   `Get-ChildItem -Recurse -Include "*.md","*.json","*.yaml","*.yml" | Select-Object -First 20 | Select-Object Name, DirectoryName`

2. Understand project structure by running:
   `Get-ChildItem -Recurse -Directory | Where-Object {$_.Name -notmatch "(node_modules|\.git|bin|obj)"} | Select-Object -First 30 | Format-Table Name, FullName`

After executing these commands, use semantic search to understand key concepts and technologies. Look for:
- Configuration files (package.json, pom.xml, requirements.txt, etc.)
- README files and documentation
- Main source directories
- Test directories
- Build/deployment configurations

### Phase 2: Technical Deep Dive
Create comprehensive technical inventory:
- **Purpose**: What problem does this repository solve?
- **Architecture**: How is the code organized?
- **Technologies**: What languages, frameworks, and tools are used?
- **Key Components**: What are the main modules/services/features?
- **Data Flow**: How does information move through the system?

### Phase 3: Commit History Analysis

**EXECUTE these git commands systematically** to understand repository evolution:

**Step 1: Basic Statistics** - Run these commands to get repository metrics:
- `git rev-list --all --count` (total commit count)
- `(git log --oneline --since="1 year ago").Count` (commits in last year)

**Step 2: Contributor Analysis** - Run this command:
- `git shortlog -sn --since="1 year ago" | Select-Object -First 20`

**Step 3: Activity Patterns** - Run this command:
- `git log --since="1 year ago" --format="%ai" | ForEach-Object { $_.Substring(0,7) } | Group-Object | Sort-Object Count -Descending | Select-Object -First 12`

**Step 4: Change Pattern Analysis** - Run these commands:
- `git log --since="1 year ago" --oneline --grep="feat|fix|update|add|remove" | Select-Object -First 50`
- `git log --since="1 year ago" --name-only --oneline | Where-Object { $_ -notmatch "^[a-f0-9]" } | Group-Object | Sort-Object Count -Descending | Select-Object -First 20`

**Step 5: Collaboration Patterns** - Run this command:
- `git log --since="1 year ago" --merges --oneline | Select-Object -First 20`

**Step 6: Seasonal Analysis** - Run this command:
- `git log --since="1 year ago" --format="%ai" | ForEach-Object { $_.Substring(5,2) } | Group-Object | Sort-Object Name`

**Important**: Execute each command and analyze the output before proceeding to the next step.
**Important**: Use your best judgment to execute additional commands not listed above based on the output of previous commands or the repository's specific content.

### Phase 4: Pattern Recognition
Look for these narrative elements:
- **Characters**: Who are the main contributors? What are their specialties?
- **Seasons**: Are there patterns by month/quarter? Holiday effects?
- **Themes**: What types of changes dominate? (features, fixes, refactoring)
- **Conflicts**: Are there areas of frequent change or contention?
- **Evolution**: How has the repository grown and changed over time?

## Output Format

### REPOSITORY_SUMMARY.md Structure
```markdown
# Repository Analysis: [Repo Name]

## Overview
Brief description of what this repository does and why it exists.

## Architecture
High-level technical architecture and organization.

## Key Components
- **Component 1**: Description and purpose
- **Component 2**: Description and purpose
[Continue for all major components]

## Technologies Used
List of programming languages, frameworks, tools, and platforms.

## Data Flow
How information moves through the system.

## Team and Ownership
Who maintains different parts of the codebase.
```

### THE_STORY_OF_THIS_REPO.md Structure
```markdown
# The Story of [Repo Name]

## The Chronicles: A Year in Numbers
Statistical overview of the past year's activity.

## Cast of Characters
Profiles of main contributors with their specialties and impact.

## Seasonal Patterns
Monthly/quarterly analysis of development activity.

## The Great Themes
Major categories of work and their significance.

## Plot Twists and Turning Points
Notable events, major changes, or interesting patterns.

## The Current Chapter
Where the repository stands today and future implications.
```

## Key Instructions

1. **Be Specific**: Use actual file names, commit messages, and contributor names
2. **Find Stories**: Look for interesting patterns, not just statistics
3. **Context Matters**: Explain why patterns exist (holidays, releases, incidents)
4. **Human Element**: Focus on the people and teams behind the code
5. **Technical Depth**: Balance narrative with technical accuracy
6. **Evidence-Based**: Support observations with actual git data

## Success Criteria

- Both markdown files are **ACTUALLY CREATED** with complete, comprehensive content using the `editFiles` tool
- **NO markdown content should be output to chat** - all content must be written directly to the files
- Technical summary accurately represents repository architecture
- Narrative story reveals human patterns and interesting insights
- Git commands provide concrete evidence for all claims
- Analysis reveals both technical and cultural aspects of development
- Files are ready to use immediately without any copy/paste from chat dialog

## Critical Final Instructions

**DO NOT** output markdown content in the chat. **DO** use the `editFiles` tool to create both files with complete content. The deliverables are the actual files, not chat output.

Remember: Every repository tells a story. Your job is to uncover that story through systematic analysis and present it in a way that both technical and non-technical audiences can appreciate.

版权与许可声明

MIT License

Copyright GitHub, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.