Skip to content

Releases: ClaudeCodeCafe/pickel

v1.0.1

14 May 21:03

Choose a tag to compare

v1.0.1

Cleanup release following v1.0.0.

  • Remove empty hooks/ directory
  • Remove dead code left from hook removal (_project_name_from_cwd, _sanitize_project_name, _format_age, _format_size, unused Optional import)
  • Sanitize model names in cost output
  • Rewrite CLAUDE.md in English
  • Add docs/briefs/ and docs/superpowers/ to .gitignore

v1.0.0 — Pure CLI Tool

14 May 20:49

Choose a tag to compare

pickel v1.0.0 — Pure CLI Tool

Breaking change: All hooks removed. pickel is now a pure conversation log analysis tool.

Removed

  • mine command (PreCompact hook)
  • recall command (SessionStart hook)
  • wrap command (SessionEnd hook)
  • ores command (ore management)
  • All hook registrations (hooks.json is now empty)
  • ~2,000 lines of hook-related code

Why

Memory management (session recording, context injection, cross-session recall) is better handled by dedicated tools like claude-mem. pickel focuses on what it does uniquely: parsing raw JSONL conversation logs.

What remains

Command Description
search Full-text search across all conversations
cost Estimate token costs by model
last Show last session summary
projects List all projects with session counts
context Show session context
chat Show conversation in chat format
errors Extract corrections and API errors
tools Show tool usage frequency

Also

  • Dead code cleanup (Codex review)
  • Sanitize model names in cost output
  • Version bump to 1.0.0, status Alpha → Beta

v0.6.1 — PreCompact pipeline fix + noise filter

14 May 18:20

Choose a tag to compare

Fixes

PreCompact → SessionStart:compact pipeline

  • Breaking fix: PreCompact hooks don't support additionalContext — the v0.6.0 hook output was silently rejected by Claude Code runtime
  • New 2-step pipeline: PreCompact saves to file → SessionStart:compact reads and injects via stdout
  • Added SessionStart:compact matcher to hooks/hooks.json

Pattern matching noise reduction

  • Added _MINE_SKIP_PATTERNS (7 patterns) to filter Bash output, compact summaries, tool rejection messages
  • Added _MINE_SKIP_FIRST_LINE (7 patterns) to filter assistant boilerplate (把握しました, 了解!, 完了!, etc.)
  • Removed false-positive patterns: \b404\b, \bfound\b
  • Tightened correction patterns: ちょっと待って^ちょっと待って, widened だめ/ダメ coverage
  • Restricted _MINE_UNFINISHED_RE to user entries only

Security hardening

  • Session-scoped relay files: .last-mine-{session_id}.md (no global file collision)
  • _safe_session_id(): allowlist [A-Za-z0-9._-], reject .., max 64 chars
  • Atomic writes via tempfile + os.replace() for all relay files
  • Atomic consume in recall via os.replace() + finally cleanup
  • Sanitized session_id in _ore_save() path construction

Other

  • Version bump: __init__.py synced to 0.6.1
  • Standalone pickel script synced with cli.py

Tests

55 smoke tests (was 50) — 5 new tests for pipeline, noise filter, and E2E flow.

Codex Review

4 rounds: 8 → 3 → 4 → 2 findings. All actionable findings resolved.

v0.6.0 — mine → wrap → recall ⛏️🧠

14 May 16:31

Choose a tag to compare

The Memory Cycle

pickel now remembers across sessions. Install the plugin and your AI never forgets.

SessionStart → recall (load previous context)
  ↓ work
PreCompact → mine (rescue context before compact)
  ↓ more work
SessionEnd → wrap (save session summary)
  ↓ next time
SessionStart → recall (remember what happened)

New Commands

Command Hook What it does
pickel recall SessionStart Loads previous session context on startup
pickel wrap SessionEnd Saves session summary to ~/.pickel/ores/
pickel ores CLI List and view saved ores

Security

  • Ore files created with restrictive permissions (0o700 dirs, 0o600 files)
  • Project name sanitization prevents path traversal
  • stdin transcript paths validated under projects directory
  • Project identity uses org-repo structure to prevent cross-project leakage

Quality

  • 50 smoke tests passing
  • Codex review: 3 rounds, 8 findings fixed, 0 remaining
  • ruff clean

Full Changelog

v0.5.1...v0.6.0

v0.5.1 — Japanese README

14 May 15:36

Choose a tag to compare

What's new

  • README.ja.md — Full Japanese translation of the README
  • Language switcher[English](README.md) | [日本語](README.ja.md) badges on both READMEs

Full Changelog

v0.5.0...v0.5.1

v0.5.0 — pickel mine ⛏️

14 May 15:16

Choose a tag to compare

pickel mine — Auto-rescue context on compact

Install the plugin and forget. When Claude Code compacts your conversation, pickel automatically extracts and preserves key context.

What's new

  • pickel mine — Extracts decisions, discoveries, errors & fixes, and unfinished tasks from conversation logs
  • PreCompact hook — Automatically registered when installed as a Claude Code plugin. Zero configuration
  • Security hardened — stdin transcript paths validated under projects dir, hook mode prevents cross-project leakage
  • Manual modepickel mine --dry-run to preview, --transcript to target a specific session

How it works

Compact triggered
  → PreCompact hook fires
  → pickel mine reads the conversation log
  → Pattern-matches key context (decisions, discoveries, errors, unfinished)
  → Injects up to 10,000 chars back into the compacted context
  → Claude doesn't lose track of what happened

Install

/plugin marketplace add ClaudeCodeCafe/pickel
/plugin install pickel@pickel

Quality

  • 43 smoke tests passing
  • Codex review: 3 rounds, 17 findings fixed, 0 remaining
  • ruff clean

Full Changelog

v0.4.0...v0.5.0

v0.4.0 — Claude Code Plugin

13 May 23:55

Choose a tag to compare

What's New

Claude Code Marketplace Plugin

pickel is now available as a Claude Code plugin:

/plugin marketplace add ClaudeCodeCafe/pickel
/plugin install pickel@pickel

Commands:

  • /pickel:search — Search conversation logs
  • /pickel:last — Show last session for a project
  • /pickel:cost — Estimate token costs
  • /pickel:setup — Check dependencies

Skill:

  • Auto-detects questions about past sessions ("前のセッションで何やった?", "did we solve this before?") and runs pickel automatically

CI / Automation

  • version-sync.yml — Auto-syncs plugin version when pyproject.toml changes
  • ci.yml — Plugin version consistency check added to sync-check job

Full Changelog

v0.3.2...v0.4.0

v0.3.2 — Codex Round 3-9 (0 findings)

13 May 19:28

Choose a tag to compare

Fixed

  • Remaining 25 findings across Rounds 3-9
  • Total: 79 fixes across 9 Codex review rounds → FINDINGS: 0

Highlights

  • Robust handling of malformed JSONL, non-string fields, race conditions
  • Cache token tracking in cost estimates
  • Complete smoke test suite (35 tests)
  • CHANGELOG.md, Security/Privacy docs

This is the first fully Codex-reviewed release.

v0.3.1 — Codex Round 2

13 May 19:28

Choose a tag to compare

Fixed

  • 25 Codex review items: robustness, edge cases, test coverage
  • ANSI escape injection prevention
  • --quiet flag, ambiguous match detection, --limit for projects

v0.3.0 — Codex Round 1

13 May 19:28

Choose a tag to compare

Fixed

  • 29 Codex review items: input validation, error handling, output sanitization
  • Project name normalization for hyphenated repos
  • .gitignore, Python version classifiers, test fixtures