Releases: thoeltig/claude-code-toolkit
v1.18.0.0
Added
- read-efficient plugin (v1.1.1.0): New plugin for machine-efficient file reading
- Token-efficient file reading for Claude Code with 30-70% token reduction
- Converts files to compact JSON and removes redundant whitespace
- Supports 10+ formats: JSON, CSV, YAML, XML, HTML, Markdown, SQL, logs, and plain text
- Format-specific parsing: Markdown anchor line extraction, SQL AST parsing, log file auto-detection
- Property-level minification with intelligent type conversion (
"true"→ boolean,"123"→ number) - Single-file and batch processing with optional disk caching
- 533+ comprehensive tests validating all parsers and edge cases
- Zero information loss with graceful fallback to plaintext on parse errors
Fixed
- smart-compact plugin (evolved to v2.2.3.0): Critical bug fix
- Fix division error in
block_idle_session.pyhook with inverted logic and None safety check - Prevents "unsupported operand type(s) for /: 'NoneType' and 'int'" error
- Fix division error in
Changed
-
smart-compact plugin (evolved from v2.2.1.0 to v2.2.3.0): Code organization and bug fixes
- v2.2.2.0: Moved configuration and duplicate logic into
const_models_and_config.pyto eliminate duplication across hook files - v2.2.3.0: Fixed critical division error in idle session blocker and added None safety checks
- v2.2.2.0: Moved configuration and duplicate logic into
-
fetch-full-content plugin (evolved to v1.2.1.0): Improved output formatting
- Warning output when hidden content is filtered remains in stdout but removed from markdown file to reduce duplicate tokens
-
project-intel plugin (evolved to v1.6.0.0): Enhanced scan batching
- Scan output batching: Files are now pre-batched in scanner (8 files per batch) instead of requiring model to create batches
- Scan.json structure:
filesToScanis now array of arrays (batches) instead of flat array - Reduces model overhead and simplifies slash command implementation
Full Changelog: v1.17.0.0...v1.18.0.0
v1.17.0.0
Added
- smart-compact plugin evolved from v1.4.1.0 to v2.2.1.0:
- v2.0.0.0: Complete algorithm rewrite from backward-iterating to forward-chaining for improved clarity and efficiency
- Forward-chaining dedup: Processes reads chronologically per file for intuitive duplicate detection
- Keep-last strategy: Latest occurrence represents current state (aligns with LLM token reading preference)
- Content type auto-detection: Line-level diffing for multiline, character-level for single-line (JSON)
- Configurable thresholds: Min bytes, context margins via environment variables
- Raw content extraction: Detects Write → Read edge cases
- Improved output formats: Short format (
Savings: XXX bytes (~YYY tokens)) and normal reporting
- v2.1.0.0: Extended deduplication to bash and grep operations
- Bash dedup: Treats file-reading commands (cat, head, tail, wc) like Read operations
- Grep dedup: Safely deduplicates grep searches when later reads exist
- Unified operation stream: Process all operations (Read, Write, Bash, Grep, Edit) chronologically
- Edit tracking: Validates dedup safety between grep and reads
- v2.1.1.0: Smart edit overlap detection and extended bash patterns
- Smart overlap: Only skip dedup if edits touch exact lines matched by grep (no false negatives)
- Extended patterns: Support head, tail, wc with flags; bash -c wrapped commands
- Line number extraction: Parse grep output to enable safe overlap checking
- v2.2.0.0: Bash script execution deduplication
- Script output dedup: Detect identical python, npm, node, dotnet, ruby, java, go outputs
- Keep-last for scripts: Earlier identical runs marked redundant, latest output kept
- Pattern recognition: Auto-identify script invocations (python script.py, npm test, etc.)
- Context-aware markers: Separate messages for file reads vs script outputs
- v2.2.1.0: Code restructuring and maintainability improvements
- Package refactoring: Split 1299-line monolithic script into focused Python package
- Modular structure: const_models_and_config, content, detection, extract, init modules
- 72% complexity reduction in main script (1299 → 368 lines)
- Single responsibility per module: Easier to test, extend, understand
- Backward compatibility: All tests pass (edge cases, smart overlap, pattern matching)
- v2.0.0.0: Complete algorithm rewrite from backward-iterating to forward-chaining for improved clarity and efficiency
Changed
-
smart-compact internal structure: Reorganized from monolithic script to modular package
const_models_and_config.py(141 lines): Data models, enums, configuration, markerscontent.py(197 lines): Content type detection and diffingdetection.py(106 lines): Pattern detection for grep, bash, edit operationsextract.py(377 lines): Transcript I/O and operation extraction__init__.py(71 lines): Clean public API with all exports- Enhanced maintainability without changing external behavior or functionality
-
Reduced allowed tools scope: Restrict tools to minimum necessary for each skill/command
- changelog plugin: Removed
allowed-toolsfrommanaging-changelogskill (informational only, auto-allows tools) - documentation plugin: Removed
allowed-toolsfrommanaging-documentationskill (informational only, auto-allows tools) - fetch-full-content plugin: Restricted
Bash(python:*)→Bash(python ${CLAUDE_PLUGIN_ROOT}/scripts/fetch_full_content.py *)(specific script only) - project-intel plugin: Restricted
Bash(node:*)→Bash(node ${CLAUDE_PLUGIN_ROOT}/scripts/dist/ctx.js *)(specific script only) - session-protocol plugin: Restricted
Bash→Bash(git rev-parse *)(git-only operations) - Improved security and predictability by preventing unintended tool usage
- changelog plugin: Removed
Full Changelog: v1.16.0.0...v1.17.0.0
v1.16.0.0
Added
- smart-compact plugin (evolved from v1.0.0.0 to v1.4.1.0): Major improvements to deduplication and user notifications
- User notification system: Stop hook displays duplicate summaries (e.g., "Duplication in conversation: 15.4K characters (14.5K tokens, 7.2% of total context window)")
- Configurable notification and cache validation thresholds via environment variables
- Cross-platform system notifications via cross-platform-notification plugin (Windows, macOS, Linux)
- Self-documenting deduplication markers for better LLM understanding
- Human-readable formatting for bytes (KB, MB) and tokens (K)
- Token estimation calculations improved (now uses standard ~4 bytes ≈ 1 token conversion)
- Byte counting for resumed sessions now uses actual message content for accuracy
Changed
- Plugin infrastructure and configuration
- Updated all plugin.json files and cleaned up marketplace.json for consistency
- Fixed tsConfig in project-intel project for proper build configuration
Fixed
- project-intel plugin (v1.5.2.0): Scan command refinement
- Fixed scan output example format in
/scanslash command (prevented example output from overriding subagent format)
- Fixed scan output example format in
Full Changelog: v1.15.0.0...v1.16.0.0
v1.15.0.0
Added
- transcript-duplicate-scrubber plugin (v1.0.0.0): New plugin for automatic transcript deduplication
- Hash-based duplicate detection (SHA256) for file content comparison
- Two-level deduplication strategy: Write priority (Rule 1) and token priority for Reads (Rule 2)
- Integration modes: Automatic via SessionEnd hook or manual CLI with
--dry-runpreview - Support for minified JSONL and pretty-printed JSON transcript formats
- Unicode path support for non-ASCII characters
- Detailed reporting with transparency markers for removed duplicates
- O(n) time complexity with no false positives, reversible changes
Full Changelog: v1.14.0.0...v1.15.0.0
v1.14.0.0
Changed
-
project-intel plugin (v1.4.0.0): Stability improvements
- Fixed entry ordering when loading and saving from summaries
- Fixed merge logic to avoid obsolete entry deletion
- Improved ignore patterns to include dotfiles with selective filtering for build/cache directories
- Fixed summary lookup map building during merge
- Fixed file modification date comparison for accurate staleness detection
-
project-intel plugin (v1.5.0.0): Code organization and discovery logic improvements
- Extracted constants and types into dedicated types.ts file for better maintainability
- Fixed knowledge directory discovery with early exit when location/process directory is higher in structure
- Fixed unused calledFromHook early exit logic
- Fixed git detection to check for git repo in location instead of only checking if git is installed
- Simplified file system search logic in findKnowledgeDir for better reliability
-
project-intel plugin (v1.5.1.0): Bug fixes for partial summaries and record structure
- Fixed error when knowledgeDir argument wasn't provided on merge
- Fixed remaining usages of old files and directories record structure, now uses map structure consistently
- Corrected total sizes returned on scan/merge operations
- Fixed deletion of obsolete directory entries
-
session-protocol plugin (v1.2.0.0): Command simplification and improved session workflow
- Breaking: Removed
/save-session-protocoland/load-session-protocolslash commands - managing-session-continuity skill can be invoked directly if necessary - Improved assistant instruction in session start hook: complete workflow provided when session protocol exists
- Breaking: Removed
Full Changelog: v1.13.0.0...v1.14.0.0
v1.13.0.0
Changed
-
project-intel plugin (v1.2.0.0): Session automation and intelligent knowledge maintenance
- SessionStart hook with automatic notifications (total files, files needing update, scan suggestions)
- Automatic deletion cleanup: Files and directories removed from scan location are cleaned from summaries
- Filesystem modification date detection for parity with git-based change detection
- Dynamic knowledgeDir discovery with intelligent fallback chain (explicit arg → location-based → process-based)
- Eliminates need to repeatedly specify
--knowledgeDirfor same-directory operations
-
project-intel plugin (v1.3.0.0): Query optimization with improved output structure and per-file technologies
- Per-file technologies tracking: Each file captures its technologies (TypeScript, Python, JSON, etc.) during scan for granular matching
- Optimized query output: Removed redundant
pathfield in grouped format, now usesfileName+folderPathto eliminate duplication - Removed
lastUpdatedfrom query results (now irrelevant with SessionStart hook showing staleness) - Changed default query format to
grouped(hierarchical organization by directory) for better architectural context - Flat format includes per-file technologies for detailed cross-file comparisons
- Improved documentation: Clear guidance on when to use grouped vs flat output with use-case descriptions
-
fetch-full-content plugin (v1.2.0.0): Security enhancements with prompt injection filtering
- Basic prompt injection filtering for common hidden content vectors (comments, visibility, font-size, opacity, color alpha)
- Warning output when hidden content is filtered (both stdout and markdown file)
- Enhanced security notice clarifying filtering scope and limitations
Full Changelog: v1.12.0.0...v1.13.0.0
v1.12.0.0
Changed
- project-intel plugin (v1.1.0.0): Performance enhancement with Git-based incremental scanning
- Only re-analyze files modified since last scan (80-95% reduction on subsequent scans)
- Automatic git tracking detection with filesystem fallback
- Modification timestamp tracking from git history for accurate staleness detection
Full Changelog: v1.11.0.0...v1.12.0.0
v1.11.0.0
Added
- project-intel plugin (v1.0.0.0): Lightweight reconnaissance system that provides direction before exploration
/scancommand: Generate semantic summaries of project files and directories (one-time setup)/querycommand: Search summaries by semantic relevance before reading files- Semantic scoring system matching on purpose, summary, exports/imports, technologies, and path
- Wave-based parallel processing: Max 10 concurrent agents for large projects
- Persistent storage:
.knowledge/summaries.jsonsurvives across sessions - Directory and file summary generation with purpose, role, exports, imports, and technologies tracking
- File modification timestamp tracking for staleness detection
- Scope filtering: Limit queries to specific directories with
--scopeparameter - Result limiting: Control query results with
--maxparameter - Incremental updates: Re-scan merges new summaries with existing knowledge
- Best practices guide for maintenance strategy and query approaches
- Performance characteristics: Cost estimates for projects of different sizes
- Troubleshooting guide with common issues and solutions
- Comparison to alternatives: vs. Explore agent, Grep/Glob, direct file reading
- Design decision documentation: Why persistent storage, wave-based processing, semantic scoring, query-first workflow, and user-managed staleness
- Support for semantic matching on conceptual terms, not just keywords
- Project structure guidance: When to use project-intel, when to skip it, breakeven analysis
Full Changelog: v1.10.0.0...v1.11.0.0
v1.10.0.0
Added
- documentation plugin (v1.0.0.0): New plugin for creating and maintaining high-quality project documentation
- managing-documentation skill with 4 core workflows (WF1-WF4) for documentation lifecycle management
- WF1: Creating New Documentation - define purpose, plan structure, write for global audience, ensure inclusivity, validate quality
- WF2: Updating Existing Documentation - assess state, prioritize improvements, update content, verify changes
- WF3: Validating Documentation Quality - check content quality, clarity, inclusivity, completeness
- WF4: Applying Agile/Lean Principles - document late, update constantly, with purpose, choose best medium
- Support for multiple documentation types: guides, API docs, README files, architecture documentation
- ARID principles: Accept Repetition, Skimmable, Exemplary, Consistent, Current
- Global audience support: simple language, defined abbreviations, concrete examples, no idioms
- Inclusive language standards: no ableist, gendered, violent, or culturally specific language
- Quality checklists by document type (Guides, API Docs, README, Architecture)
- Validation patterns for problematic terms: ableist, gendered, violent language, time-based references, excessive claims, overused politeness
- Writing style principles: tone, voice, techniques, things to avoid
- Tool usage patterns: finding docs, validating content, understanding context, large-scale operations
- Common issues and fixes table with diagnosis and solutions
- Implementation approach with 6-step methodology
- Anti-patterns guide including outdated information, too much detail, unclear jargon, inconsistent terminology, cultural insensitivity
- Comprehensive documentation standards for clarity, accessibility, and inclusivity
- Support for Read, Write, Edit, Glob, Grep and Task tools
Changed
- fetch-full-content plugin (v1.1.0.0): Enhanced configuration flexibility
- Made folder argument optional with default cache directory
- Restricted allowed-tools to Python only (removed other tool types)
Full Changelog: v1.9.0.0...v1.10.0.0
v1.9.0.0
Added
- cross-platform-notification plugin (v1.0.0.0): New plugin for native system notifications
- Support for Windows, macOS, and Linux with platform-specific notification systems
- Windows toast notifications via PowerShell
- macOS notifications via terminal-notifier
- Linux notifications via notify-send
- Automatic fallback to console output when native notifications unavailable
- Hooks into Claude Code events for automated notifications
Changed
-
session-protocol plugin (v1.1.0.0):
- Breaking: Removed notification hook and related notification infrastructure
- Notification functionality separated into dedicated cross-platform-notification plugin for cleaner feature separation
- Simplified to focus on session continuity management
- Removed PreCompact hook
- SessionStart hook remains for auto-detection of existing session protocols
-
claude-code-capabilities plugin (v1.8.0.0):
- Removed
/list-skillsslash command - Claude Code v2.1.0 added a built-in/skillscommand, making the custom command obsolete
- Removed
Full Changelog: v1.8.1.0...v1.9.0.0