AGENT SKILL

GitLearn

Mines durable LTM memories from past git commits through the git-learner agent (no API key needed). Use when the user says 'learn from our git history', 'mine the last N commits', 'backfill memories since <date>', 'onboard this repo into LTM', or wants to harvest patterns after a sprint.

License 许可
MIT
所属仓库
RohiRIK/OpenLtm
最近更新
2026-11-10
Stars
★ 30
Forks
2

01 前言 Front Matter

name
GitLearn
version
1.4.0
description
Mines durable LTM memories from past git commits through the git-learner agent (no API key needed). Use when the user says 'learn from our git history', 'mine the last N commits', 'backfill memories since <date>', 'onboard this repo into LTM', or wants to harvest patterns after a sprint.
argument-hint
[--commits N | --since YYYY-MM-DD]

03 SKILL.md 正文

GitLearn — Retroactive Git Commit Learning

Extract durable LTM memories from past git commits by delegating the read-and-extract work to the dedicated git-learner agent (shipped with this plugin). The agent reads the diffs and stores memories via the learn MCP tool, so this path needs no API key and keeps the main thread's context clean (raw diffs stay in the agent).

Scope

Argument or request Commits processed
(none) last 10
--commits N last N
--since YYYY-MM-DD all commits since that date

When to Use

  • Onboarding a new project into LTM — seed memories from existing commit history.
  • Backfilling history after enabling gitLearnEnabled for the first time.
  • Harvesting reusable patterns after a productive sprint.

How It Works

The background post-commit hook (GitCommit.ts) calls an LLM API directly and needs a configured key. This skill runs interactively instead, so it spawns the git-learner agent via the Agent tool. Spawning an agent is valid here because skills execute in the live Claude Code session, which has the Agent tool available. The agent carries its own extraction rubric (signal-to-noise rules, category mapping, storage fields), so this skill only has to supply the scope.

Instructions for Claude

Step 1 — Resolve scope

Determine the commit range from the arguments or the user's wording (default: last 10). Capture the repo root so the subagent runs git in the right directory:

git rev-parse --show-toplevel
git log --pretty=format:'%H %s' -<N>   # or --since="<date>"

Step 2 — Spawn the git-learner agent once

Call the Agent tool once with subagent_type: "openltm:git-learner" (plugin agents are namespaced by plugin name). A single agent processes the whole batch — do not spawn one per commit. The agent's system prompt already holds the extraction rubric, so the spawn prompt only supplies a <scope> block:

<scope>
REPO_ROOT: <repo root from git rev-parse --show-toplevel>
PROJECT_NAME: <repo directory basename>
COMMITS:
<one commit hash per line, from Step 1>
</scope>

Pass nothing else — no rubric, no instructions. The agent knows what to keep, what to skip, how to map categories, and which fields to store.

Step 3 — Report

Relay the subagent's table and total. Memories are tagged git-commit:<hash> and anchored to the changed files (so later commits flag them stale), queryable via mcp__plugin_openltm_memory__recall. Tool names and categories: the Ltm skill (../Ltm/SKILL.md).

Memory Integration

  • Before: mcp__plugin_openltm_memory__recall query="git commit patterns" — check what's already stored, so the subagent reinforces rather than duplicates.
  • After: confirm new rows with a recall scoped to the project.

04 同仓库更多 Skills

RohiRIK
RohiRIK/OpenLtm

Spec

Writes a grounded spec: recalls prior decisions from LTM, explores the affected code, then writes testable acceptance criteria to specs/<feature>.md. Use when the user asks to 'spec this', 'write a spec', 'define what to build', or 'write requirements / acceptance criteria' before planning or implementing a feature or bug fix.

★ 30
RohiRIK
RohiRIK/OpenLtm

MemoryReview

Curation pass over OpenLTM memory: triage pending session-end proposals, stale-flagged memories, conflicting or superseded entries, and low-value duplicates, then accept, revalidate, relate, or forget them with the user's approval. Use when the user says 'review memories', 'clean up memory', 'curate LTM', 'what's pending', 'any memory proposals', 'prune stale memories', or after a refactor that may have invalidated what LTM knows.

Skill与智能体开发
★ 30
RohiRIK
RohiRIK/OpenLtm

Ltm

OpenLTM long-term memory: tool names, the recall-before / learn-after ritual, categories, project context, and what the hooks already inject. Use when the user says 'remember this', 'save this gotcha', 'what do we know about X', 'did we decide on Y before', 'forget that memory', 'link these memories', 'restore project context', 'set the project goal' — or before non-trivial work that may touch past decisions.

★ 30
RohiRIK
RohiRIK/OpenLtm

secret-safe-handling

USE WHEN handling credentials, env vars, logs, tests, or docs safely.

Skill与智能体开发
★ 30
RohiRIK
RohiRIK/OpenLtm

command-path-safety

USE WHEN hardening command execution, path handling, or installer boundaries.

Skill与智能体开发
★ 30
RohiRIK
RohiRIK/OpenLtm

agent-trust-boundaries

USE WHEN separating trusted instructions from untrusted content or tool output.

Skill与智能体开发
★ 30