Talk Stage 2: Research (REX mode only)
Builds the git proof for a REX talk. Cross-references git history, CHANGELOG, and the Stage 1 summary to produce a verified timeline and velocity analysis.
**Automatically skipped in `--concept` mode** — only runs when the source material is a REX with git repository access.
When to Use This Skill
- After Stage 1 (Extract) when building a REX talk
- When you have access to the project's git repository
- To verify metrics mentioned in the source material against actual git data
What This Skill Does
- **Reads the summary** — understands the period and themes from Stage 1
- **Git archaeology** — extracts velocity metrics (read-only commands only)
- **Changelog analysis** — scans releases, features, documented metrics
- **Cross-references** — aligns git, CHANGELOG, and summary
- **Builds the timeline** — verified dates, not estimated
- **Writes 3 output files**
Input
- `talks/{YYYY}-{slug}-summary.md` (from Stage 1 — required)
- `repo_path` — absolute path to the git repository
- Optional: CHANGELOG path if different from `{repo_path}/CHANGELOG.md`
Output
Three files:
- `talks/{YYYY}-{slug}-git-archaeology.md`
- `talks/{YYYY}-{slug}-changelog-analysis.md`
- `talks/{YYYY}-{slug}-timeline.md`
Git Commands (read-only only)
# Commits by month
git -C {repo_path} log --pretty=format:"%Y-%m" | sort | uniq -c
# Commits by contributor
git -C {repo_path} shortlog -sn --no-merges
# First and last date
git -C {repo_path} log --pretty=format:"%ad" --date=short | tail -1
git -C {repo_path} log --pretty=format:"%ad" --date=short | head -1
# Merged PRs (if merge commit convention)
git -C {repo_path} log --merges --oneline | wc -l
# Tags (releases)
git -C {repo_path} tag --sort=version:refname
# Velocity peak (busiest months)
git -C {repo_path} log --pretty=format:"%Y-%m" | sort | uniq -c | sort -rn | head -5Output Formats
git-archaeology.md
# Git Archaeology — {slug}
**Repo**: {repo_path}
**Period analyzed**: {start date} → {end date}
**Commands run**: {list}
## Global Metrics
| Metric | Value | Source |
|--------|-------|--------|
| Total commits | {n} | git log |
| Total merges/PRs | ~{n} | git log --merges |
| Total releases (tags) | {n} | git tag |
| Human contributors | {n} | git shortlog |
| Period covered | {n} months | first → last date |
## Monthly Velocity
| Month | Commits | Notes |
|-------|---------|-------|
| {YYYY-MM} | {n} | {context if notable} |
...
## Contributors
| Rank | Name | Commits | % |
|------|------|---------|---|
| 1 | {name} | {n} | {%} |
...
---
*Generated by talk-stage2-research — {date}*changelog-analysis.md
# Changelog Analysis — {slug}
**Source**: {CHANGELOG path}
**Releases analyzed**: {n} (v{first} → v{last})
## Features by release (summary)
| Release | Date | Key features | Metrics mentioned |
|---------|------|--------------|------------------|
| {version} | {date} | {features} | {metrics} |
...
## Patterns identified
### Acceleration
{Periods of high velocity and what drove them}
### Inflection points
{Pivots, direction changes, major releases}
### Verifiable metrics in CHANGELOG
{Exhaustive list of numbers mentioned in CHANGELOG with their release}
---
*Generated by talk-stage2-research — {date}*timeline.md
# Factual Timeline — {slug}
**Period**: {start} → {end} ({n} months)
**Cross-referenced sources**: Summary × Git history × CHANGELOG
---
## Month-by-month timeli
<!-- truncated -->
