Claude Sessions Logger — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Claude Sessions Logger (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A local MCP server that keeps a running log of what you accomplish across Claude sessions. Each task you complete gets recorded to a daily JSONL file, and substantial work is automatically promoted to a cumulative weekly worklog — giving you a persistent, searchable record of your AI-assisted productivity.
Claude conversations are ephemeral. You finish a session, close the window, and the work you did fades into chat history. This server solves that by giving Claude a set of tools to log tasks as they happen. At the end of a week you have a clean Markdown summary of the important things you shipped, without the noise of minor fixes and formatting tweaks.
git clone https://github.com/YOUR_USERNAME/claude-session-logger.git
cd claude-session-logger
pip install -e .Verify:
python -c "from session_logger.server import mcp; print('OK')"Open the config file:
# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd the server to the mcpServers section:
{
"mcpServers": {
"session-logger": {
"command": "python",
"args": ["-m", "session_logger.server"],
"cwd": "C:\\path\\to\\claude-session-logger"
}
}
}Restart Claude Desktop after saving.
claude mcp add session-logger --scope user -- python -m session_logger.serverTo enable automatic logging, add this to your CLAUDE.md or project custom instructions:
After completing each distinct task, call session_log_task with a one-line summary, relevant tags, and status. Log automatically whenever you commit changes with Git.| Tool | Description |
|---|---|
session_log_task | Record a task to today's daily log. Substantial entries are auto-appended to the weekly worklog. |
session_view_log | View a day's entries in Markdown or JSON format. Defaults to today. |
session_list_days | List all dates with log entries, reverse chronological. |
session_daily_summary | Aggregate stats for a day: task counts by status, total duration, tags, projects. |
session_weekly_worklog | View the cumulative Mon–Sun worklog. Use rebuild=true to regenerate from raw daily data. |
| Field | Required | Description |
|---|---|---|
summary | Yes | One-line description of the completed work |
detail | No | Longer notes, context, or follow-up items |
status | No | completed (default), partial, blocked, or deferred |
tags | No | Category labels like bugfix, refactor, docs |
project | No | Project or repo name for grouping |
duration_minutes | No | Estimated time spent (0–1440) |
When a task is logged, the server classifies it as substantial or minor:
Substantial (included in the weekly worklog):
Minor (daily log only):
typo, formatting, whitespace, lint, cleanup, trivial, style, nit, or cosmeticSubstantial tasks are appended to worklog-YYYY-WNN.md as they're logged. Each ISO week (Monday–Sunday) gets its own file. The session_weekly_worklog tool can also rebuild the worklog from raw daily JSONL data if entries are edited or deleted after the fact.
~/.claude-session-logs/
├── 2026-03-31.jsonl # Daily task log (one JSON object per line)
├── 2026-04-01.jsonl
├── worklog-2026-W14.md # Weekly worklog (Mon Mar 30 – Sun Apr 5)
└── ...Set SESSION_LOG_DIR to change the log directory:
# Linux/macOS
export SESSION_LOG_DIR=~/Documents/claude-logs
# Windows (persistent)
setx SESSION_LOG_DIR "C:\Users\you\Documents\claude-logs"Default: ~/.claude-session-logs/
# View today's raw entries
cat ~/.claude-session-logs/2026-03-31.jsonl | python -m json.tool --json-lines
# View this week's worklog
cat ~/.claude-session-logs/worklog-2026-W14.md
# Count tasks by project across all logs
cat ~/.claude-session-logs/*.jsonl | python -c "
import sys, json
from collections import Counter
c = Counter(json.loads(l).get('project','(none)') for l in sys.stdin)
for proj, n in c.most_common(): print(f'{n:4d} {proj}')
"claude-session-logger/
├── pyproject.toml
├── README.md
└── session_logger/
├── __init__.py
├── sanitize.py # UTF-8 text cleaning and tag normalization
├── models.py # Pydantic schemas: TaskEntry, DailySummary, WeeklyWorklogEntry
├── store.py # File I/O: daily JSONL, weekly Markdown, summaries
└── server.py # FastMCP server and tool definitionsMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.