← Back to Skills Marketplace
leeshunee

Git Log Tracker (Commit Index & Query CLI)

by Kinema. · GitHub ↗ · v0.4.0 · MIT-0
cross-platform ⚠ suspicious
72
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install git-log-tracker
Description
Git post-commit hook + SQLite commit index tool. Automatically records every commit's metadata (hash, author, branch, repo, subject) into a local SQLite data...
README (SKILL.md)

Git Log Tracker

⚠️ Before First Use | 首次使用必读

首次使用此 skill 前,必须先读取 ONBOARDING.md 完成环境配置。

ONBOARDING.md 采用交互式流程

  • Agent 必须先询问用户使用意图(仅当前 repo / 多个 repo / 全局模式)

  • 根据用户选择执行相应步骤,切勿自动执行全部命令

  • 首次配置 → 读取 ONBOARDING.md,按 Step 0 询问用户后执行

  • 环境不可用(命令不存在、依赖缺失、连接失败)→ 读取 ONBOARDING.md Troubleshooting 排查修复

  • 配置完成后 → 直接使用下方 Run Commands

Overview

Git Log Tracker 在每次 git commit 后自动将 commit 元数据写入本地 SQLite 数据库。通过 CLI 可以跨仓库查询、统计、修改和删除 commit 记录。

数据存储在 ~/.commit-logs/index.db,配置文件在 ~/.commit-logs/config.toml

Run Commands

所有命令通过 git-log-tracker \x3Csubcommand> 运行。

初始化

首次安装后初始化配置和数据库:

git-log-tracker setup

Hook 管理

安装 hook 到指定 repo(之后每次 commit 自动记录):

git-log-tracker install /path/to/repo
git-log-tracker install .                              # 当前 repo

检查 hook 状态:

git-log-tracker status /path/to/repo
git-log-tracker status .

移除 hook:

git-log-tracker uninstall /path/to/repo

全局模式(新 repo 自动带 hook):

git-log-tracker global          # 启用
git-log-tracker global --off    # 关闭

数据查询

按 hash 查找(支持前缀匹配):

git-log-tracker find abc1234

find 输出示例:

commit  abc1234def5678901234567890123456789012
author  Lee \[email protected]>
date    2025-05-29T14:30:00+08:00
repo    D:/modular_dev/task-tracker
branch  master
subject test(frontend): Phase 4 完成

列出最近 commit:

git-log-tracker list                     # 最近 20 条
git-log-tracker list -n 50               # 最近 50 条
git-log-tracker list --repo task-tracker  # 按仓库名筛选
git-log-tracker list --author [email protected]  # 按作者筛选
git-log-tracker list --since 2025-01-01   # 按日期筛选
git-log-tracker list --branch main        # 按分支筛选
git-log-tracker list --label work         # 按仓库标签筛选

list 输出为表格格式:HASH | DATE | AUTHOR | REPO | SUBJECT

统计信息:

git-log-tracker stats
git-log-tracker stats --label work        # 只统计带该标签的仓库

标签管理

给仓库打仓库级标签(label),用于按"组"过滤查询(如 work / personal)。标签是 repo_path 的属性,改标签立即对该仓库全部历史 commit 生效。

git-log-tracker label add . work               # 给当前仓库加 work 标签
git-log-tracker label add /path/to/repo work personal  # 一次加多个标签
git-log-tracker label rm . work                # 移除标签
git-log-tracker label list .                   # 查看某仓库的标签
git-log-tracker label list                     # 列出所有标签映射

标签存储在 ~/.commit-logs/labels.json,结构为 { "归一化repo_path": ["label1", ...] }

数据修改

手动记录某个 repo 的最新 commit:

git-log-tracker record .           # 当前 repo
git-log-tracker record /path/to/repo

删除记录:

git-log-tracker delete abc1234

更新记录字段(可编辑字段:branch, commit_subject, commit_body, repo_path, repo_name):

git-log-tracker update abc1234 branch main

重置数据目录:

git-log-tracker reinstall              # 删除数据目录并重新初始化
git-log-tracker reinstall --keep-config  # 只重置数据库,保留配置

配置

编辑 ~/.commit-logs/config.toml 管理排除列表:

[hooks]
exclude = [
    "/tmp/*",
    # "/path/to/specific/repo",
]

[database]
path = "index.db"

Architecture

安装后的系统结构:

~/.commit-logs/          # 数据目录(不含代码)
├── config.toml          # 排除列表和数据库路径配置
├── labels.json          # 仓库级标签映射(repo_path -> [labels])
├── index.db             # SQLite 数据库

.git/hooks/post-commit   # Hook 文件,调用 git-log-tracker hook

CLI 工具通过 uv tool install 安装到系统,不在 ~/.commit-logs 中存放代码。

SQLite Schema

commits(
    id, commit_hash, short_hash, author_name, author_email, author_ts,
    committer_name, committer_email, commit_subject, commit_body,
    branch, repo_path, repo_name, parent_hashes, recorded_at
)

索引:commit_hash(UNIQUE), repo_path, author_email, recorded_at

Usage Guidance
Install only if you want a persistent local commit index. Use repo-specific installation unless you intentionally want future repositories to inherit the hook through global Git templates. Review ~/.commit-logs contents and exclude rules, avoid using it on repositories with sensitive commit messages or identities unless acceptable, and treat reinstall/delete/update/global commands as state-changing actions that should require explicit confirmation.
Capability Tags
financial-authoritycan-make-purchases
Capability Assessment
Purpose & Capability
The code and documentation fit a Git post-commit hook plus local SQLite commit indexer, but the install metadata lists financial-authority and can-make-purchases capability tags that do not match the artifact's stated purpose or implementation.
Instruction Scope
The skill tells agents to use it for broad commit-history and hook-management requests, including when the user does not name the tool. State-changing actions are documented, and onboarding instructs the agent to ask the user before first setup.
Install Mechanism
Installation uses normal OpenClaw or marketplace skill installation plus uv tool install for the CLI. No package dependencies or external network behavior were found in the runtime code, aside from documented installation/troubleshooting commands.
Credentials
Writing Git hooks, changing global Git init.templateDir, and storing commit metadata are proportionate to the purpose, but users should understand that global mode affects future repositories and that commit bodies, emails, branch names, and paths may be indexed locally.
Persistence & Privilege
The tool persists via repo post-commit hooks and optionally a global Git template, stores data under ~/.commit-logs, and has reinstall/delete operations that remove indexed data without an interactive confirmation or force flag.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install git-log-tracker
  3. After installation, invoke the skill by name or use /git-log-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.4.0
新增仓库级 label 标签过滤功能:label add/rm/list 子命令;list/stats 支持 --label 过滤;标签存储于 labels.json,兼容正反斜杠路径
v0.3.0
新增 reinstall 命令,支持重置数据目录;新增 --keep-config 参数保留配置
Metadata
Slug git-log-tracker
Version 0.4.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Git Log Tracker (Commit Index & Query CLI)?

Git post-commit hook + SQLite commit index tool. Automatically records every commit's metadata (hash, author, branch, repo, subject) into a local SQLite data... It is an AI Agent Skill for Claude Code / OpenClaw, with 72 downloads so far.

How do I install Git Log Tracker (Commit Index & Query CLI)?

Run "/install git-log-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Git Log Tracker (Commit Index & Query CLI) free?

Yes, Git Log Tracker (Commit Index & Query CLI) is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Git Log Tracker (Commit Index & Query CLI) support?

Git Log Tracker (Commit Index & Query CLI) is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Git Log Tracker (Commit Index & Query CLI)?

It is built and maintained by Kinema. (@leeshunee); the current version is v0.4.0.

💬 Comments