Skip to main content
AI/MLjmagly

memory-log-render

Generate a human-readable Markdown view from a consumer's JSON Lines event log

Stars
141
Source
jmagly/aiwg
Updated
2026-05-31
Slug
jmagly--aiwg--memory-log-render
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jmagly/aiwg/HEAD/agentic/code/addons/semantic-memory/skills/memory-log-render/SKILL.md -o .claude/skills/memory-log-render.md

Drops the SKILL.md into .claude/skills/memory-log-render.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

memory-log-render

Convert a consumer's .log.jsonl into a readable log.md Markdown file. The rendered view uses greppable line prefixes and groups events by date.

When to Use

  • On demand: user asks "show me the log" or "render the activity log"
  • After bulk operations: post-ingest or post-lint when the log has grown
  • As part of memory-lint --fix: regenerate the rendered view if stale

Parameters

--consumer (optional)

Consumer ID. Resolved via ADR-021 D4 precedence: explicit > wrapper > auto-detect.

--tail (optional, default: all)

Only render the last N entries. Useful for large logs.

--since (optional)

Only render entries after this ISO 8601 date.

--output (optional)

Override output path. Defaults to sibling of .log.jsonllog.md (e.g., .aiwg/research/.log.jsonl.aiwg/research/log.md).

Operation

  1. Resolve consumer — determine which log to render.
  2. Load topology — read memory.topology.log path from consumer's manifest.json.
  3. Read JSONL — parse each line as JSON. Skip malformed lines (warn in output).
  4. Group by date — cluster entries by ts date portion.
  5. Render Markdown — for each entry, produce:
## [2026-04-14] ingest | anthropic-2024-constitutional.pdf
Touched 3 pages: anthropic.md, constitutional-ai.md, summaries/2024-constitutional-ai.md.
Duration: 14.2s. No contradictions.
  1. Write output — overwrite the log.md file (this is a generated view, not an append).
  2. Log event — append a log-render entry to .log.jsonl via memory-log-append.

Rendered Format

# Memory Log — research-complete

> Generated from `.aiwg/research/.log.jsonl` on 2026-04-14T16:00:00Z
> 47 events total

---

## [2026-04-14] ingest | paper.pdf
Touched 3 pages: entities/anthropic.md, concepts/constitutional-ai.md, summaries/paper.md.
Duration: 14.2s. No contradictions.

## [2026-04-14] lint | health check
0 errors, 2 warnings, 5 suggestions. Duration: 3.4s.

## [2026-04-13] query-capture | Constitutional AI comparison
Created synthesis/constitutional-ai-comparison.md (comparison).
Added 2 cross-references.

---

*Rendered by memory-log-render*

Line Prefix Convention

Every operation line starts with ## [YYYY-MM-DD] <op> | <subject> — this makes the rendered log greppable:

grep "^## \[" .aiwg/research/log.md | tail -5
grep "ingest" .aiwg/research/log.md

Schema Reference

@semantic-memory/schemas/memory-log-event.md