v0.2.0: Renamed from changelog-tools to doc-tools — scope expanded from CHANGELOG-only to general documentation lifecycle (CHANGELOG.md / README.md / CLAUDE.md / changelog/ all in scope). NEW Stop hook (doc-update-guard.sh) absorbs the user-level changelog-update.sh hook from che-claude-config: blocks turn-end when HEAD commit changed ≥3 code files but updated none of CHANGELOG.md / README.md / CLAUDE.md / changelog/ — original design rationale preserved (per-commit not per-day because compact-aware; Stop+block intentional because doc updates are clearly actionable; 3-file threshold heuristic for 'significant change'; code-extension allowlist for user's primary languages R/sh/sql/py/ts/swift/go/rs/etc; stop_hook_active=true bypass for infinite-loop protection). Three-tier config injection (precedence high→low): <repo>/.claude/doc-tools.json (per-project) → ~/.cache/doc-tools/config.json (per-machine) → built-in defaults; plus ~/.cache/doc-tools/disabled flag for one-touch kill switch. Config schema: {enabled, min_changed_files, code_extensions[], doc_files[], skip_paths[]}. NEW references/doc-update-design.md captures full rationale including implicit decisions never previously documented (3-file threshold, code-extension list source, 4-doc-files acceptance set, Stop+block trade-off vs PostToolUse warn-only). Old user-level hook in ~/.claude/hooks/changelog-update.sh kept on disk as fallback but unregistered from settings.json to prevent double-fire. v0.1.1: Validator + normalize improvements after PsychQuant marketplace dogfood. Validator's 'description must start with vX.Y.Z:' rule relaxed to 'description must mention vX.Y.Z in first 400 chars' (PsychQuant convention leads with product tagline, not version prefix — 30 false-positive drifts disappear). Version header parser now accepts placeholder dates like '(date unknown — please fill in)' so init-output entries are still parsed; ISO-format check happens separately and reports placeholder as a violation user can fill in later. Normalize mode extended: now also remaps common non-KAC section names (### Changes → ### Changed, ### Migration → ### Changed, ### Bug Fixes → ### Fixed, etc.) and injects KAC preamble if missing. v0.1.0: Original changelog-tools — KAC 1.1.0 enforcement + 3-way sync (CHANGELOG.md / plugin.json / marketplace.json descriptions) + 35-plugin marketplace migration. Skills: changelog-validate (CI exit codes 0/1/2/3/4), changelog-init (bootstrap from plugin.json description with git-pickaxe date resolution), changelog-migrate (batch init across marketplace). Enforces Keep a Changelog (https://keepachangelog.com) format + three-way sync between CHANGELOG.md latest entry / plugin.json description / marketplace.json description. Skills: changelog-validate (KAC compliance + sync drift detection, exit-coded for CI), changelog-init (initialize CHANGELOG.md from plugin.json description by parsing existing vX.Y.Z: segments → KAC entries), changelog-migrate (batch one-shot mode that runs init across an entire marketplace — designed to backfill plugins that store release history in plugin.json description as a monster string). Phase 1 of two-phase rollout: Phase 2 will add changelog-add (interactive Unreleased entry creation, Composio changelog-generator integration as commit-parsing engine) + changelog-release (Unreleased → vX.Y.Z + DATE promotion with semver auto-bump from Added/Breaking/Fixed sections + 3-way description sync) + hooks integration into plugin-deploy / mcp-deploy / cli-deploy freshness check. Closes the discoverability gap where 35 of 36 PsychQuant plugins had no CHANGELOG.md and stuffed all release history into plugin.json description as run-on prose, making release history unreadable in the marketplace UI and triggering plugin-deploy's CHANGELOG-based README freshness check to silently no-op.
Add the marketplace
/plugin marketplace add PsychQuant/psychquant-claude-pluginsInstall plugins
/pluginRun these commands in Claude Code to add this plugin to your environment. The marketplace must be added before you can install its plugins.
From Marketplace