Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/actionlint/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "actionlint",
"version": "0.11.13",
"version": "0.11.14",
"description": "Lint GitHub Actions workflow files on edit via actionlint, surfacing findings as advisory context.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/actionlint/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `actionlint` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.11.14] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.11.13] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/actionlint/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/animation/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "animation",
"version": "0.2.2",
"version": "0.2.3",
"description": "Hand-drawn-style 2D animation as code, rendered in headless Chromium by an ink brush engine. rotoscope copies a reference clip drawing by drawing: trace to vector paths, render, measure against the source (XOR, SSIM), and fit per-shot brush overrides. learn-style measures a clip into a style pack (ships woodcut-ink) and checks films against it. produce turns a brief into approved boards, a shot list, frames, and a delivered file. setup checks ffmpeg, Node, Chromium, and Python.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/animation/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `animation` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.2.3] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.2.2] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/animation/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/autonomy/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "autonomy",
"version": "0.25.8",
"version": "0.25.9",
"description": "Contracts for governed autonomous agent operation: role topology, binding seam, telemetry, return accounting, trigger dispatch, a per-work-class guardrail matrix, a standing-routine catalog, and a runner charter. A guided setup skill writes an org's binding, wires OTLP telemetry (file default), human-attested return capture, and signal adapters behind one governed dispatch entrypoint, binds the guardrail matrix to isolation substrates after a live probe, and schedules routines.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/autonomy/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `autonomy` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.25.9] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled (#5934).
Comment thread
kyle-sexton marked this conversation as resolved.

## [0.25.8] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/autonomy/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/bash-format/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bash-format",
"version": "0.9.12",
"version": "0.9.13",
"description": "Auto-format and lint shell scripts on edit via shfmt + ShellCheck, using the consuming repo's own .editorconfig and .shellcheckrc.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/bash-format/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `bash-format` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.9.13] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.9.12] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/bash-format/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/biome-format/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "biome-format",
"version": "0.7.21",
"version": "0.7.22",
"description": "Auto-format and lint JS/TS/JSX/JSON on edit via Biome, only when a biome.json governs the repo, using the consuming repo's own Biome config.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/biome-format/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `biome-format` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.7.22] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.7.21] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/biome-format/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/context-guard/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "context-guard",
"version": "0.9.2",
"version": "0.9.3",
"description": "Per-session context-window observability. A statusline wrapper writes each session's context_window fields to a snapshot file; a resolver classifies usage into smart, acceptable, and dumb zones from zones.json. Hooks report each move into a worse zone once: the continuation menu to the operator, and only the zone to the model, noting a zone is not a decay signal. Optional blocking mode gates new mutating work in the dumb zone, except handoffs. A PostCompact hook leaves a marker.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/context-guard/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to the `context-guard` plugin.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.9.3] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.9.2] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/context-guard/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/desktop-notification/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "desktop-notification",
"version": "0.7.7",
"version": "0.7.8",
"description": "Alert you when Claude Code needs input: an audible terminal bell, an OSC 9 terminal notification, and an OS-native toast (macOS/Linux) on permission and idle prompts.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/desktop-notification/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
All notable changes to the `desktop-notification` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.7.8] - 2026-10-03

### Changed

- The shared hook library's missing-prerequisite notice says to run `/harness-ops:prerequisites` if the `harness-ops` plugin is enabled, where it said installed: an installed but disabled plugin exposes no skills, and `harness-ops` now installs disabled ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.7.7] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/desktop-notification/hooks/hook-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ hook::require_jq() {
local event="$1" plugin="$2" input="${3:-}"
if hook::notice_once "${plugin}-jq" "$input"; then
hook::emit_skip_notice "$event" \
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite."
"$plugin: jq not found on PATH — hook skipped for this session. Install jq (https://jqlang.org/download/) to enable it. If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite."
fi
exit 0
}
Expand Down Expand Up @@ -483,7 +483,7 @@ hook::require_jq_blocking() {
else
echo "Install jq (https://jqlang.org/download/) to restore the guard." >&2
fi
echo "If the harness-ops plugin is installed, run /harness-ops:prerequisites to list every missing prerequisite." >&2
echo "If the harness-ops plugin is enabled, run /harness-ops:prerequisites to list every missing prerequisite." >&2
exit 2
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/docs-hygiene/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "docs-hygiene",
"version": "0.25.1",
"version": "0.25.2",
"description": "Documentation-hygiene toolkit: compress (trim markdown with a semantic-diff check), audit-noise (classify markdown noise), extract-ssot (deduplicate into a single source of truth), audit-encapsulation (citations into skill-private files), rename-references (stale references after renames), audit-derivability (does a doc earn its existence), audit-progressive-disclosure (load tiers), write-for-agents and write-for-humans (authoring). Setup checks markdownlint-cli2.",
"author": {
"name": "Melodic Software",
Expand Down
6 changes: 6 additions & 0 deletions plugins/docs-hygiene/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog: docs-hygiene plugin

## [0.25.2] - 2026-10-03

### Changed

- Cross-plugin routing to plugins that now install disabled says "enabled" where it said "installed": an installed but disabled plugin exposes no skills ([#5934](https://github.com/melodic-software/claude-code-plugins/issues/5934)).

## [0.25.1] - 2026-10-02

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions plugins/docs-hygiene/skills/rename-references/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: "Sweep stale references after a rename, including forms token-only grep misses (slash-tokens, paths, chain prose, table rows, frontmatter globs). Use when: 'rename X to Y', 'I renamed X', 'audit rename', 'find stale refs', 'check for stragglers', 'after git mv', 'sweep references', 'rename impact preview', 'find half-renamed state', 'broken refs after rename', 'pre-PR rename check'. A whole tree against a casing rule is docs-naming:audit-file-names, if installed."
description: "Sweep stale references after a rename, including forms token-only grep misses (slash-tokens, paths, chain prose, table rows, frontmatter globs). Use when: 'rename X to Y', 'I renamed X', 'audit rename', 'find stale refs', 'check for stragglers', 'after git mv', 'sweep references', 'rename impact preview', 'find half-renamed state', 'broken refs after rename', 'pre-PR rename check'. A whole tree against a casing rule is docs-naming:audit-file-names, if enabled."
argument-hint: "[audit|preview|blocklist] [<old> [to <new>]] [--container|--identifier|--include-historical…]"
user-invocable: true
disable-model-invocation: false
Expand Down Expand Up @@ -160,7 +160,7 @@ Paths skipped from sweeps automatically:
- **Does not rename git branches**. Use `git branch -m`. Operates on file content, not git refs.
- **Does not handle framework version migrations**. Use dedicated migration tooling. Different concern: behavioral upgrade, not text rename.
- **Does not auto-fix conversation history or memory entries**. Past mentions of the old name in conversation/memory are deliberately preserved as historical record. Future renames are the user's responsibility to invoke this skill for.
- **Does not audit a whole tree against a casing rule**. If `docs-naming` is installed, `/docs-naming:audit-file-names` does. Without it, list the tree with `git ls-files`, compare each name against the rule by hand, and run `audit` here once per pair you decide to rename.
- **Does not audit a whole tree against a casing rule**. If `docs-naming` is enabled, `/docs-naming:audit-file-names` does. Without it, list the tree with `git ls-files`, compare each name against the rule by hand, and run `audit` here once per pair you decide to rename.
- **Does not run builds or tests**. Hand off to the consuming repository's build/test/verification workflow after the rename completes.
- **Does not perform general dead-reference scanning**. `audit orphans` is STRICTLY pair-driven (post-rename hygiene only). For repo-wide dead-link / dead-reference checks unrelated to a specific rename, use a codebase-audit workflow or documentation link checker if your environment provides one. Charter boundary preserves single responsibility.

Expand Down
Loading
Loading