@spardutti/claude-skills 2.33.1 → 2.33.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -133,7 +133,7 @@ Portable slash commands installed to `.claude/commands/`. Some orchestrate paral
133
133
  |---------|--------------|
134
134
  | `/ship` | Unified delivery pipeline — commit → gate → PR → merge → release. The gate is the one enforcement moment: it checks the diff's file lengths, audits it against the skills installed in the project, and mutation-tests the changed lines to prove the tests would catch a break — **fixing what it finds** rather than handing you a list. It runs before the **PR**, not before every commit: its scope is the whole branch, so gating each commit re-mutated every file the branch had ever touched. `--force` skips it. No argument steps through interactively; `/ship pr` runs through PR creation; `/ship release` runs the full pipeline |
135
135
  | `/discover` | Find the right problem before deciding what to build — diverges first: generates competing framings through blind subagents under forced constraints, stress-tests the winner with a blind critic, and refuses to converge until every open question is answered or deferred, then drafts scope, non-goals, edge cases and success criteria for you to correct. Run before `/plan-feature` |
136
- | `/plan-feature` | Integration-first feature planning, then building — 3 parallel subagents scan for reusable code, patterns and touch points, grounded clarifying questions follow, and on your go the same agent builds the plan and proves its tests with the ship gate |
136
+ | `/plan-feature` | Integration-first feature planning, then building — 3 parallel subagents scan for reusable code, patterns and touch points, grounded clarifying questions follow, and on your go the same agent builds the plan |
137
137
  | `/refactor` | Detect size / complexity / duplication / coupling issues via 4 parallel subagents, then refactor |
138
138
  | `/deep-review` | Multi-agent deep code review — 5 parallel subagents catch guard bypasses, lost async state, wrong-table queries, dead references, protocol violations |
139
139
  | `/test-review` | Write-then-verify test review — scopes to the diff, runs red-green + mutation gates, then an isolated read-only subagent proves each test would catch a regression instead of rubber-stamping it |
@@ -52,6 +52,15 @@ mutmut_unchecked() { # mutmut_unchecked <label> <base> <count> <run log>
52
52
  echo " it ahead of every host-local option."
53
53
  }
54
54
 
55
+ # mutmut forks after importing the app, so code that only runs at import survives
56
+ # every mutant. One agent baselined 39 of those as harmless.
57
+ survivor_list() { # survivor_list <survivors> <tool>
58
+ printf '%s\n' "$1" | sed 's/^/ /'
59
+ [ "$2" = mutmut ] || return 0
60
+ echo " Only runs at import (app setup, router registration)? Then it is unreachable,"
61
+ echo " not equivalent — see testing-best-practices/MUTATION-TESTING.md."
62
+ }
63
+
55
64
  # A scoped --baseline replaces only the changed modules' names. Rebuilding the whole
56
65
  # file re-mutated an entire API to accept eleven of them.
57
66
  baseline_write() { # baseline_write <baseline file> <survivors file> <scope regex, or empty>
@@ -426,7 +426,7 @@ for owner in $OWNERS; do
426
426
 
427
427
  if [ -n "$SURVIVED" ]; then
428
428
  echo " $label $TOOL — these lines can break and no test notices:"
429
- printf '%s\n' "$SURVIVED" | sed 's/^/ /'
429
+ survivor_list "$SURVIVED" "$TOOL"
430
430
  if [ "$FOUND" -gt 20 ]; then
431
431
  echo " ... $((FOUND - 20)) more not shown. Every file with findings:"
432
432
  if [ "$TOOL" = stryker ]; then
@@ -127,7 +127,7 @@ export async function setupHook(targetDir = process.cwd()) {
127
127
  console.log(` Hook installed: .claude/hooks/${AUTO_MARK_FILENAME}`);
128
128
  console.log(` Hook installed: .claude/hooks/${APPLICATION_GATE_FILENAME}`);
129
129
  console.log(` Hook installed: .claude/hooks/${GAUNTLET_FILENAME}`);
130
- console.log(` Installed: .claude/hooks/${SHIP_GATE_FILENAME} (used by /ship and /plan-feature)`);
130
+ console.log(` Installed: .claude/hooks/${SHIP_GATE_FILENAME} (used by /ship)`);
131
131
  console.log(` Hook installed: .claude/hooks/${SHIP_GATE_HOOK_FILENAME}`);
132
132
  console.log(` Settings updated: .claude/settings.json`);
133
133
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spardutti/claude-skills",
3
- "version": "2.33.1",
3
+ "version": "2.33.3",
4
4
  "description": "Guardrails for Claude Code — best-practice skills, planning commands, and delivery gates.",
5
5
  "type": "module",
6
6
  "repository": {