Codex

memory-log-render

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

104 stars

Best use case

memory-log-render is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

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

Teams using memory-log-render should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/memory-log-render/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/memory-log-render/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/memory-log-render/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How memory-log-render Compares

Feature / Agentmemory-log-renderStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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.jsonl` → `log.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:

```markdown
## [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.
```

6. **Write output** — overwrite the `log.md` file (this is a generated view, not an append).
7. **Log event** — append a `log-render` entry to `.log.jsonl` via `memory-log-append`.

## Rendered Format

```markdown
# 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:

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

## Schema Reference

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

Related Skills

ralph-memory

104
from jmagly/aiwg

Manage Al semantic memory entries — list, query, and clear lessons learned across loop iterations

Codex

memory-query-capture

104
from jmagly/aiwg

Capture query synthesis as durable pages in semantic memory

Codex

memory-log-append

104
from jmagly/aiwg

Append a structured event to a consumer's semantic memory log

Codex

memory-ingest

104
from jmagly/aiwg

Ingest a source into any consumer's semantic memory by reading the topology contract

Codex

memory-forensics

104
from jmagly/aiwg

Volatility 3 memory forensics workflows covering acquisition with LiME and WinPmem, and structured analysis using Volatility 3 plugin reference

Codex

debug-memory

104
from jmagly/aiwg

Query and manage the executable feedback debug memory

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.

pytest-runner

104
from jmagly/aiwg

Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.

vitest-runner

104
from jmagly/aiwg

Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.

eslint-checker

104
from jmagly/aiwg

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

repo-analyzer

104
from jmagly/aiwg

Analyze GitHub repositories for structure, documentation, dependencies, and contribution patterns. Use for codebase understanding and health assessment.