Skip to content

1.13.0

Latest

Choose a tag to compare

@CaseReed CaseReed released this 07 Aug 11:50
· 1 commit to main since this release

Added

  • skills/workspace-discipline/SKILL.md is a new skill covering five rules on confirming repository root, branch, and worktree state before a write, each tied to a real incident.
  • hooks/workspace-guard.sh is a new non-blocking PreToolUse hook nudging toward explicit-path staging on indiscriminate git add/git stage, and separately on git commit -a/-am/--all, each with its own reminder. A plain git commit, git commit -m, or git commit --amend stays quiet, and it ships with no PowerShell counterpart, following verify-reminder.sh's precedent since it gates nothing.
  • tools/test-workspace-guard.sh is a new 37-case test suite exercising workspace-guard.sh's staging and commit reminders across matching, non-matching, and off-topic Bash commands, plus a reduced-PATH run matching tools/doctor.sh's own environment.
  • .gitignore gains a docs/ rule keeping local design and planning notes untracked, since they quote incident material from private repositories rather than public ones.

Changed

  • skills/test-discipline/SKILL.md extends its never-asserted-from-memory rule to claims about external systems: an API's behavior, a flag, a library version, or whether a practice is current.
  • skills/mission-control/SKILL.md and skills/design-fidelity/SKILL.md replace their own restated source-checking instructions with a pointer to test-discipline's rule, keeping only their local specifics.
  • skills/mission-control/SKILL.md's concision section now also governs merge-request and pull-request descriptions, tickets, and messages written for a team, not only its own reports.
  • skills/mission-control/SKILL.md's worktree explanation keeps its existing summary intact and adds a pointer to the new workspace-discipline skill for full lifecycle doctrine. Nothing was removed, so the file grows rather than shrinks, and the summary alone still suffices when workspace-discipline is not installed.
  • skills/mission-control/SKILL.md's PLAN step 3 now flags that a clean file split can still hide a shared invariant, a count, an enumeration, or a dependency one lot's file assumes. It must be named and assigned to a lot's done criteria or checked at VERIFY, and a corrective lot given only known occurrences must find every one itself.
  • README.md, tools/doctor.sh, and RELEASING.md now enumerate the fifth skill and fourth hook everywhere the package lists its components by hand.
  • RELEASING.md's doctor confirmation step now cites a count verified against a real full-install fixture rather than computed by hand.

Fixed

  • hooks/workspace-guard.sh's matching now fires when a flag abuts a closing quote, such as bash -c "git add -A", which previously slipped through undetected. The accepted trade is one narrow new false positive on a quoted string containing a control operator, documented in the script and in hooks/HOOKS.md.
  • hooks/workspace-guard.sh now blanks quoted -m/-am/--message content and tightens the flag group between git and the subcommand, closing the quoted-flag and git checkout stage . false positives.
  • tools/doctor.sh's hook-execution check and its jq-missing fallback had both omitted workspace-guard.sh, so a registered but non-running hook still reported healthy. Two stale comments naming only two PreToolUse hooks are corrected to name three.
  • README.md and tools/doctor.sh told users to run the deprecated /output-style command in six places, including doctor's remediation text; all now point to /config or the outputStyle setting. The command was deprecated in Claude Code v2.1.73 and removed in v2.1.91.
  • tools/doctor.sh's hook-execution check now catches a registered hook that starts, fails mid-run on a missing dependency, and still exits 0, since every shipped hook is documented fail-open. A broken hook like this previously reported as healthy and left the exit code unaffected; it now reports BROKEN and fails the check.
  • hooks/workspace-guard.sh now recognizes a VAR=value prefix before git and a quoted flag argument like git -C "dir" as valid segment starts, closing two missed reminders. It also blanks a -m message flag whose quote abuts it with no space, such as -m"docs: explain the -a flag".