bigpowers 2.7.2 → 2.7.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/.pi/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.7.2",
3
+ "version": "2.7.3",
4
4
  "description": "62 skills — 61 agent skills for spec-driven, test-first software development by solo developers",
5
5
  "keywords": [
6
6
  "pi-package"
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.7.3](https://github.com/danielvm-git/bigpowers/compare/v2.7.2...v2.7.3) (2026-06-20)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **catalog:** add catalog audit script and integrate into stocktake-skills ([96acaae](https://github.com/danielvm-git/bigpowers/commit/96acaae7add5e56efb41c241c2e3b613054d75fd))
7
+
1
8
  ## [2.7.2](https://github.com/danielvm-git/bigpowers/compare/v2.7.1...v2.7.2) (2026-06-20)
2
9
 
3
10
 
package/SKILL-INDEX.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > **DO NOT EDIT** — This file is auto-generated by `scripts/generate-skill-index.sh`.
4
4
  > Edit `SKILL.md` source files or `skills-lock.json` instead. Run `bash scripts/sync-skills.sh` to regenerate.
5
5
 
6
- **Generated:** 2026-06-20T19:14:41Z
6
+ **Generated:** 2026-06-20T19:16:20Z
7
7
  **Skills:** 62
8
8
 
9
9
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.7.2",
3
+ "version": "2.7.3",
4
4
  "description": "61 agent skills for spec-driven, test-first software development by solo developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env bash
2
+ # audit-catalog.sh — Verify all .pi/skills/ have matching source SKILL.md and vice versa.
3
+ # Output: "OK: N/N skills synced" or "MISMATCH: X orphans, Y missing"
4
+ # Exit code: 0 if synced, 1 if mismatch.
5
+ set -euo pipefail
6
+
7
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
9
+ cd "$REPO_ROOT"
10
+
11
+ ORPHANS=()
12
+ MISSING=()
13
+
14
+ # Check: every .pi/skills/<name>/ dir must have a matching <name>/SKILL.md source
15
+ for d in .pi/skills/*/; do
16
+ name=$(basename "$d")
17
+ if [ ! -f "$name/SKILL.md" ]; then
18
+ ORPHANS+=("$name")
19
+ fi
20
+ done
21
+
22
+ # Check: every root-level SKILL.md dir must have a matching .pi/skills/<name>/SKILL.md
23
+ for f in ./*/SKILL.md; do
24
+ name=$(echo "$f" | cut -d/ -f2)
25
+ # Skip non-skill directories
26
+ case "$name" in
27
+ docs|node_modules|scripts|specs|dashboard|test) continue ;;
28
+ esac
29
+ if [ ! -f ".pi/skills/$name/SKILL.md" ]; then
30
+ MISSING+=("$name")
31
+ fi
32
+ done
33
+
34
+ PI_COUNT=$(ls -d .pi/skills/*/ 2>/dev/null | wc -l | tr -d ' ')
35
+ SRC_COUNT=0
36
+ for f in ./*/SKILL.md; do
37
+ name=$(echo "$f" | cut -d/ -f2)
38
+ case "$name" in
39
+ docs|node_modules|scripts|specs|dashboard|test) continue ;;
40
+ esac
41
+ SRC_COUNT=$((SRC_COUNT + 1))
42
+ done
43
+
44
+ if [ "${#ORPHANS[@]}" -eq 0 ] && [ "${#MISSING[@]}" -eq 0 ]; then
45
+ echo "OK: $PI_COUNT/$SRC_COUNT skills synced"
46
+ exit 0
47
+ else
48
+ echo "MISMATCH: ${#ORPHANS[@]} orphans, ${#MISSING[@]} missing"
49
+ if [ "${#ORPHANS[@]}" -gt 0 ]; then
50
+ echo ""
51
+ echo "Orphans (in .pi/skills/ but no source SKILL.md):"
52
+ for o in "${ORPHANS[@]}"; do
53
+ echo " - $o"
54
+ done
55
+ fi
56
+ if [ "${#MISSING[@]}" -gt 0 ]; then
57
+ echo ""
58
+ echo "Missing (source SKILL.md but not in .pi/skills/):"
59
+ for m in "${MISSING[@]}"; do
60
+ echo " - $m"
61
+ done
62
+ fi
63
+ exit 1
64
+ fi