Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Chronicle

ASecurity

Memory & context steward — view session history, manage the global reference store (repos, projects, ideas), check context size, and record or consolidate project learnings. Use to review past sessions, remember/recall/forget a reference, check how full the context is, or capture/consolidate learnings.

14 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentsrustgobashgit

Works with

claude codecli

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add Alexander-Tyagunov/magician --skill chronicle --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Chronicle?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Chronicle
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alexander-tyagunov-chronicle/badge)](https://www.skillsdirectory.com/skills/alexander-tyagunov-chronicle)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: chronicle
description: Memory & context steward — view session history, manage the global reference store (repos, projects, ideas), check context size, and record or consolidate project learnings. Use to review past sessions, remember/recall/forget a reference, check how full the context is, or capture/consolidate learnings.
allowed-tools: Read, Glob, AskUserQuestion, Bash(ctx pct *), Bash(ctx learn --add *), Bash(ctx consolidate), Edit(~/.claude/plugins/data/magician-*/references.md)
argument-hint: "[status | learn <fact> [--global] | consolidate | last N | remember <fact> | references | forget <text> | clear N]"
---

# /chronicle — Memory, History & Context Steward

Three stores, all global to this machine and kept in the magician plugin data folder `${CLAUDE_PLUGIN_DATA}` (they survive across projects and sessions):

- **Session history** — `${CLAUDE_PLUGIN_DATA}/chronicle/` — one small JSON record per session, written from git by the Stop hook (the newest 50 are kept). Turned off by the plugin's `session_history` option.
- **Global references** — `${CLAUDE_PLUGIN_DATA}/references.md` — repos, projects, and ideas worth remembering. Session start adds it to context.
- **Project learnings** — `${CLAUDE_PLUGIN_DATA}/projects/<project-hash>/learnings.jsonl`, managed by the bundled **`ctx`** CLI. The internals and honest limits are in [references/context-mgmt.md](references/context-mgmt.md).

## Context size & learnings (`ctx`)

| Command | Does |
|---|---|
| `/chronicle status` | `ctx pct --transcript <path>` → current context %, plus the project learnings count (the first line of `ctx consolidate`). The path is this session's transcript: Glob `*/${CLAUDE_SESSION_ID}.jsonl` under `~/.claude/projects/`. `ctx pct` reads only the token numbers from the file's latest `usage` entry and the model id — no message content is stored or printed. |
| `/chronicle learn "<fact>" [--global]` | `ctx learn --add "<fact>"` (this project) or `ctx learn --add "<fact>" --global` (adds it to references.md). **Confirm before `--global`.** |
| `/chronicle consolidate` | `ctx consolidate` → show recurring project learnings; offer to promote high-frequency ones to global references (**confirm each**). |

Honest limits (never overclaim): a plugin can't read a live token count (`ctx pct` uses the latest `usage` numbers in the transcript file it is given — accurate, one turn stale), and **can't force or steer compaction** — only the user (`/compact`) or the auto-threshold compacts. Details: [references/context-mgmt.md](references/context-mgmt.md).

## Session history

Each record is `${CLAUDE_PLUGIN_DATA}/chronicle/<start-time>-<session-id>.json`: `{ timestamp, session_id, session_start, working_dir, branch, commits, changed_files, summary }` — git facts only, no prompt or response text.

To show the last N sessions (default 10): Glob `${CLAUDE_PLUGIN_DATA}/chronicle/*.json`, take the newest N (the file names start with the session start time, so they sort by time), Read each, and print one line per record: date · branch · summary.

## Global references (cross-session memory)

The reference store holds things you want every future session to know: repositories you work in, projects and their goals, and ideas to revisit. Session start adds it to context, so once remembered, a fact is available everywhere.

It is deliberately an **explicit, legible artifact** — a plain markdown file the user can read and edit directly (an "idea file" / personal knowledge base), not opaque implicit memory. Keep entries terse and durable, and prune stale ones with `forget`: an overgrown store distracts the model more than it helps.

**Always confirm before writing to or deleting from the global store** — it persists across all projects. State exactly what you'll save or remove, then gate with **AskUserQuestion** (Approve / Cancel); end your turn at the call and act only on Approve.

To **view** the store: Read `${CLAUDE_PLUGIN_DATA}/references.md` (if it does not exist, say "no references yet").

To **remember** a fact (after the user confirms): classify it as `Repositories`, `Projects` or `Ideas`, then edit `${CLAUDE_PLUGIN_DATA}/references.md` — add a `- <entry>` line directly under the `## <Section>` heading. If the file does not exist, create it starting with:

```markdown
# Magician — Global References
<!-- Remembered across all sessions. Managed by /chronicle. -->
```

and add the `## <Section>` heading if it is missing.

To **forget**, show the matching lines, confirm, then remove them with an Edit.

## Process

1. Parse the request from `$ARGUMENTS` (or ask): `status`, `learn <fact> [--global]`, `consolidate`, `last N`, `branch X`, `since DATE`, `clear N`, `remember <fact>`, `references`, `forget <text>`. **If you must ask, end your turn and wait.**
2. For reads (history view, `references`, `status`): read or run, then present the results.
3. For `remember` / `learn --global`: classify the fact, state what you'll save, then gate with **AskUserQuestion** (Save / Cancel) — end your turn at the call — and write only on Save (the global store persists across all projects). Project-scoped `learn` (no `--global`) needs no confirmation question — it's local and cheap.
4. For `forget` / `clear` / `consolidate` pruning: show what will be removed, then gate with **AskUserQuestion** (Delete / Cancel) before removing anything (this is permanent); end your turn at the call and delete only on Delete.

## Clearing old chronicles (uses the N you were given)

List the records older than N days:

```bash
find "${CLAUDE_PLUGIN_DATA}/chronicle" -name '*.json' -mtime +N
```

Show the list, confirm with **AskUserQuestion** (Delete / Cancel), and only on Delete remove exactly those files with `rm`. Claude Code asks for permission before the `rm` — that prompt is expected for a permanent delete. The Stop hook already keeps only the newest 50 records, so this is only needed to drop older history sooner.

## Model note

If a remembered project would benefit from a more capable model than the current session (see [lore/models.md](../../lore/models.md)), mention it when the reference surfaces — don't switch silently.

## Obstacles

/chronicle is the persistence target for the plugin's obstacle-memory: consumer skills (/orchestrate, /weave, /scrutinize, /divine, /transmute, /manifest) route a confirmed recurring obstacle pattern here to be memorized — via `ctx learn --add "<fact>" [--global]` (which this skill wraps), so a future run reads it up front and pre-empts the obstacle. As the confirm-before-global gate, it redacts secrets/credentials/PII and persists a distilled, self-authored signature — never verbatim untrusted worker text — so a poisoned or sensitive obstacle cannot ride into memory a later run will act on. It is not itself dispatched as a work unit, so it emits no upward Obstacles block. See [lore/obstacles.md](../../lore/obstacles.md).

## Completion Signal

"Chronicle done. <N sessions recorded> · <M references stored>."

Attribution

Alexander-TyagunovAlexander-Tyagunov
View sourceMore from Alexander-Tyagunov →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →