Claude-skill-registry engram-summarize

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/engram-summarize" ~/.claude/skills/majiayu000-claude-skill-registry-engram-summarize && rm -rf "$T"
manifest: skills/data/engram-summarize/SKILL.md
source content

Engram Summarize

Extract structured learnings from Claude Code and OpenClaw session history using LLM-based summarization.

When to Use

  • After completing significant work on a project
  • Before onboarding someone new to a codebase
  • Periodically to capture accumulated knowledge
  • When you want to distill decisions and patterns

What It Extracts

CategoryDescriptionExample
decisionArchitectural and design choices"Chose SQLite over PostgreSQL for local CLI"
patternCode patterns and idioms"Uses Result<T, E> for error handling"
gotchaThings that went wrong and fixes"index.json must sync with posts/"
conventionProject-specific norms"Tests colocated with source files"
contextBackground knowledge"This is a Rust 2021 edition project"

Workflow

Step 1: Set up API key

export ANTHROPIC_API_KEY=your-key

Step 2: Summarize sessions

# Summarize last 30 days for current workspace
npx engram summarize --workspace . --days 30

# Save to file
npx engram summarize --workspace . -o learnings.json

# Higher confidence threshold
npx engram summarize --workspace . --min-confidence 0.7

Step 3: Review learnings

The output includes:

  • Session count processed
  • Learnings by category
  • Top learnings ranked by confidence

Example output:

📊 Summary:
  Sessions: 12
  Learnings: 23

  By category:
    Decisions:   5
    Patterns:    8
    Gotchas:     4
    Conventions: 3
    Context:     3

📝 Top learnings:
  [gotcha] Blog index.json must be updated when posts are renamed
  [pattern] All exports go through index.ts barrel files
  [decision] Used vitest over jest for faster test execution

Step 4: Integrate with skill generation

Use summarized learnings to enhance generated skills:

# Generate skill with richer context
npx engram generate-skill --workspace . --days 30

CLI Options

OptionDescriptionDefault
-w, --workspace <path>
Workspace to filter sessions
.
-d, --days <number>
Days of history to analyze
30
--no-openclaw
Exclude OpenClaw sessionsinclude
-a, --agent <id>
OpenClaw agent ID filterall
-c, --min-confidence <n>
Confidence threshold (0-1)
0.5
-o, --output <path>
Save learnings to JSON filestdout
--json
Output as JSONpretty print

Integration with Other Skills

SkillWhen to Combine
engram-generateSummarize before generating for richer skills
engram-recallRecall + summarize for full context
describe-codebaseAdd summarized learnings to codebase description

Comparison: Generate vs Summarize

Aspectengram-generateengram-summarize
MethodPattern matchingLLM extraction
OutputStructural patternsSemantic learnings
CostFree (local)API tokens
DepthFile co-edits, commandsDecisions, rationale

Use both together for best results:

  1. summarize
    extracts the meaning
  2. generate
    captures the structure

Example Learnings

{
  "learnings": [
    {
      "category": "gotcha",
      "summary": "Blog index.json must be updated when posts are renamed",
      "detail": "The blog uses a static index.json. Renaming a post without updating causes 404 errors.",
      "files": ["index.json", "posts/*.md"],
      "confidence": 0.95
    },
    {
      "category": "decision", 
      "summary": "Chose TypeScript for type safety",
      "confidence": 0.85
    }
  ]
}

Important

  • Requires
    ANTHROPIC_API_KEY
    environment variable
  • Uses Claude Sonnet for extraction (cost-effective)
  • Review learnings before sharing (may contain sensitive info)
  • Higher confidence threshold reduces noise but may miss insights