chronicle

Summarize git commit history into an incremental project chronicle document.

10|2|Updated Jan 24, 2026
One-click install
npx skills add https://github.com/nrdxp/predicate --skill chronicle-nrdxp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chronicle
Source: https://github.com/nrdxp/predicate/tree/main/skills/chronicle
Command: npx skills add https://github.com/nrdxp/predicate --skill chronicle-nrdxp

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Raw git logs are too fragmented or too detailed to give agents and humans real architectural context. This Skill maintains a persistent, high-level chronicle (docs/chronicle.md) that records design decisions, architectural shifts, and milestones, updated incrementally via a commit cutoff marker. ## Core Features & Use Cases - Incremental Updates: A cutoff SHA in the chronicle frontmatter means only new commits are processed, in batches of up to 50. - Conceptual Summarization: Commits are grouped into themes like Architectural Shifts, Workflow & Rulesets, Features, Infrastructure, and Documentation rather than listed raw. - Race-Safe Writes: The write step binds the recorded range to an exact TARGET_END_SHA, so it stays correct even if HEAD moves between prepare and write. - Use Case: When onboarding onto an unfamiliar repository, run the chronicle update to generate a decision-level history of how the codebase evolved, then read docs/chronicle.md for context. ## Quick Start Ask the agent to update the project chronicle by running the chronicle workflow to summarize all commits since the last recorded cutoff.

Frequently Asked Questions about chronicle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I summarize git history into a project changelog?

Run the update_chronicle.py script with --prepare to get a batch of pending commits, group them into conceptual themes, then call --write with the TARGET_END_SHA and your Markdown summary. Repeat until the script reports the chronicle is up to date with HEAD.

How does incremental git log summarization work?

The chronicle file stores a latest_commit cutoff SHA in its YAML frontmatter. Each run only processes commits after that cutoff, in batches of up to 50, and advances the cutoff to the exact end SHA you summarized.

What happens if new commits land between prepare and write?

Nothing breaks. The write step binds the recorded range to the TARGET_END_SHA returned by prepare, not to HEAD, so intervening commits simply remain pending for the next run.

Why does the chronicle script say the cutoff is not found in history?

This happens after history rewrites such as rebase or force-push invalidate the recorded SHA. The script warns and treats the chronicle as uninitialized, reprocessing from the repository inception.

Does the chronicle script require external Python packages?

No. The script uses only the Python standard library and the git CLI, parsing frontmatter manually to avoid a PyYAML dependency. It must be run inside a git repository.