К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

commit-archaeologist — скилл для Claude Code: функции и установка

Восстанавливает причины появления строк или файлов по локальной истории git. Пригодится перед рефакторингом, переписыванием функций или проверкой рисков.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Shubhamsaboo/awesome-llm-apps --skill commit-archaeologist -a claude-code
Открыть на GitHub

Что делает commit-archaeologist

Обычный git blame показывает только автора последней правки. Этот скилл находит коммит, в котором фрагмент впервые появился в кодовой базе, и строит хронологию последующих изменений. Инструмент отслеживает переименования, находит сопутствующие файлы, которые часто коммитились вместе с целевым блоком, и ищет в сообщениях коммитов упоминания баг-трекеров или временных костылей.

Внутри находятся скрипт scripts/archaeologist.py и руководство references/reading-git-history.md с правилами интерпретации. Анализ запускается через Python 3 и читает локальный git через line-log для диапазонов строк либо обычную историю файла с флагом отслеживания переименований. На выходе получается отчёт с оценкой уверенности, хронологией и рисками перед изменением кода.

Скрипт работает строго локально, не требует API-ключей и ничего не меняет в ветках. Однако удалённый репозиторий он прочитать не сможет, поэтому проект обязательно должен быть склонирован на диск заранее.

Какие задачи решает

  • выяснить причину добавления функции перед её переписыванием
  • найти коммит, который впервые добавил сомнительный блок строк
  • выявить связанные файлы, регулярно менявшиеся вместе с кодом
  • распознать временные костыли и обходные решения по сообщениям коммитов

Примеры запросов агенту

  • commit-archaeologist: почему эта функция в src/cache.py была написана именно так?
  • commit-archaeologist: подними историю строк 40-72 в src/cache.py перед рефакторингом
  • commit-archaeologist: кто добавил этот блок и какие файлы менялись вместе с ним?

Как установить commit-archaeologist

1Через Skills CLI (Vercel)

npx skills add Shubhamsaboo/awesome-llm-apps --skill commit-archaeologist -a claude-code

2Вручную: положить файлы

~/.claude/skills/commit-archaeologist/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/commit-archaeologist/

Из того же набора5

Весь набор →
project-graveyard Shubham Saboo Скилл сканирует локальные папки с пет-проектами, находит причины остановки по истории git и выбирает один репозиторий для завершения. Claude Code CX Codex Cursor +1 2 000установок advisor-orchestrator-worker Shubham Saboo Скилл для разделения большой задачи между несколькими моделями: советник планирует и проверяет, рабочие выполняют параллельно. Пригодится, когда одна модель не справится за один проход или нужно исследовать много вариантов сразу. Claude Code CX Codex Cursor +1 619установок scope-creep-detector Matt Van Horn Сравнивает git diff с заявленным намерением и выявляет файлы, которые не относятся к задаче: лишние зависимости, переименования API, изменения конфигурации и конфликтующие правки. Работает локально, без сети. Claude Code CX Codex Cursor +1 605установок thinking-out-loud Shubham Saboo Скилл превращает длинный поток мыслей в проверяемый бриф до начала работы. Пригодится, когда идея приходит голосом, с повторами и сменой решений. Claude Code CX Codex Cursor +1 431установок

Похожие

track-management Seth Hobson Скилл помогает вести Conductor tracks для фич, багов и рефакторинга. Подойдёт, когда работу нужно разложить по спецификации, плану и этапам. Claude Code CX Codex Cursor 10 300установок deslop cursor Скилл находит разницу между текущей веткой и main, удаляя лишний сгенерированный мусор. Помогает привести стиль к стандартам репозитория перед сдачей пуллреквеста. Claude Code CX Codex Cursor +1 9 300установок parallel-feature-development Seth Hobson Скилл помогает разделить большую фичу между агентами, закрепить файлы и свести результаты без лишних конфликтов. Подходит для параллельной работы над слоями и вертикальными срезами. Claude Code CX Codex Cursor 9 900установок devops-engineer https://github.com/Jeffallan Скилл создаёт Dockerfile, CI/CD-конфигурации и манифесты Kubernetes. Нужен для инфраструктуры, деплоя и разбора инцидентов. Claude Code CX Codex Cursor +1 11 200установок autoresearch официальный luiscantero Скилл запускает цикл экспериментов над кодом: меняет его, проверяет метрику и оставляет только улучшения. Подходит для задач с измеримым результатом. GitHub Copilot 3 400установок work-with-pr code-yeongyu Скилл ведёт задачу от отдельного worktree до слитого PR: делит работу, запускает проверки и возвращается к исправлениям при сбое. Claude Code CX Codex Cursor +1 761установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. Claude Code 990 453установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. Claude Code 789 521установок

Вопросы о commit-archaeologist

Как установить commit-archaeologist в Claude Code?

Выполните команду npx skills add Shubhamsaboo/awesome-llm-apps --skill commit-archaeologist -a claude-code. Она установит файлы скилла в ваше окружение Claude Code.

Что делает commit-archaeologist?

Скилл исследует локальную историю git для выбранного файла или диапазона строк. Он определяет коммит создания, выстраивает хронологию правок, находит связанные файлы и извлекает маркеры намерений из сообщений коммитов.

Нужен ли скиллу доступ в сеть или запись в репозиторий?

Нет, скилл полностью автономен и работает только на чтение. Он не отправляет сетевых запросов, не требует ключей API и не вносит изменений в историю коммитов.

Исходный текст

SKILL.md · Apache-2.0
---
name: commit-archaeologist
description: >-
  Reconstructs why code exists from local git history, including the introducing
  commit, later changes, current authors, repeated companion files, and likely
  intent. Use when the user asks "why does this code exist", "who wrote this
  function and why", or to "explain the history of this function" before a
  rewrite, refactor, or risky edit. Runs entirely locally.
license: Apache-2.0
metadata:
  author: "Matt Van Horn"
  version: "1.0.0"
  source: "https://github.com/Shubhamsaboo/awesome-llm-apps"
---

# Commit Archaeologist

`git blame` names the last person to touch a line. This skill reconstructs the
reason the line exists. It traces a file or current line range through local git
history, identifies its origin and later edits, finds files that repeatedly
changed beside it, and extracts intent clues from commit messages.

Everything runs locally. No network calls, API keys, or repository writes.

## When to use

- The user asks why a block, function, or file exists
- The user wants to know who introduced code and what changed afterward
- A rewrite or refactor needs historical constraints and change risks
- A workaround, temporary branch, or surprising design choice needs context

## When not to use

- The user only wants raw blame output or a commit list
- The task is to squash, delete, or rewrite git history
- The repository is remote and has not been cloned locally
- The question is about project-wide architecture rather than one file or region

## Gather the target

Get the repository path and tracked file path. Use a line range when the user
names a current block or function. If either path is missing, ask only for the
missing value. Do not scan sibling repositories.

Paths should be relative to the repository and use forward slashes. Line ranges
use inclusive current line numbers such as `40-72`.

## Run the dig

From this skill directory:

```bash
python3 scripts/archaeologist.py /path/to/repo src/cache.py --lines 40-72 --json
```

For the complete history of a file, omit `--lines`:

```bash
python3 scripts/archaeologist.py /path/to/repo src/cache.py --json
```

The script is read-only. With a range it uses git line-log; without one it uses
file history with rename following. It also reads current authorship with blame.
If it rejects a path or range, report that error and ask for a corrected target.

Before interpreting the JSON, read
`references/reading-git-history.md`. Its confidence rules prevent blame
ownership, correlation, and commit-message hints from becoming false certainty.

## Read the JSON

- `region`: normalized repository, current and historical paths, mode, range,
  and co-change threshold
- `introduced_by`: oldest commit in the selected history
- `timeline`: commits ordered oldest to newest, with category, changed files,
  and detected renames
- `co_changed`: files present beside the target in enough selected commits
- `authors`: current blamed lines and historical commit counts, kept separate
- `intent_signals`: issue references, reverts, workarounds, temporary markers,
  and unfinished-work markers found in commit messages

An empty signal list means the messages do not say why. It does not mean the
change had no reason.

## Write the report

Turn the JSON into a short "why this code exists" report:

1. **Bottom line.** One or two sentences with the most likely explanation and
   a confidence label: high, medium, or low.
2. **Origin.** Introducing hash, date, author, subject, and the neighboring
   files that make the initial purpose clearer.
3. **Timeline.** Oldest to newest. Group mechanical edits when they do not
   change the story, but preserve reverts, fixes, and workarounds.
4. **Companion files.** Explain repeated co-changes as a coupling clue. Do not
   treat a one-off file in `changed_files` as a dependency.
5. **Intent evidence.** Quote short commit subjects or signal words. Label any
   conclusion beyond those facts as an inference.
6. **Change risk.** Name the constraints, companion files, and unresolved
   temporary choices worth checking before an edit.

Keep hashes short in prose, but preserve enough characters to identify them.
Do not dump the full JSON unless the user asks.

## Evidence rules

- Current blame ownership is not proof of original authorship.
- The oldest selected commit is the region's introduction, not always the
  file's first commit.
- Repeated co-change suggests coupling; it does not prove a dependency.
- Commit categories are message heuristics, not verified issue types.
- "Temporary" and "workaround" are strong intent clues, but only the message
  author or linked discussion can confirm whether the constraint still applies.
- If the history is thin or messages are vague, say "the history shows" and
  "likely" instead of inventing a design rationale.

## Follow-ups

End by offering one relevant follow-up, such as:

- "Want me to assess whether this looks deliberate or accidental?"
- "Want me to map what could break if this region changes?"

For a deliberate-choice question, weigh repeated edits, issue references,
reverts, and explicit constraint words. For a change-risk question, inspect the
repeated co-change files and the last behavior-changing commits before proposing
edits. Do not modify code until the user asks.

## Files

- `scripts/archaeologist.py`: offline git history walker and JSON report builder
- `references/reading-git-history.md`: interpretation and confidence guide

© Matt Van Horn · Apache-2.0 · Shubhamsaboo/awesome-llm-apps

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой