bigpowers 2.42.1 → 2.43.1
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 +2 -2
- package/.pi/prompts/extract-design.md +131 -0
- package/.pi/skills/extract-design/SKILL.md +133 -0
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +119 -0
- package/SKILL-INDEX.md +2 -2
- package/extract-design/REFERENCE.md +52 -0
- package/extract-design/SKILL.md +77 -0
- package/extract-design/extract-design.feature +23 -0
- package/extract-design/scripts/classify-colors.js +21 -0
- package/extract-design/scripts/classify-rounded.js +10 -0
- package/extract-design/scripts/classify-spacing.js +14 -0
- package/extract-design/scripts/classify-typography.js +9 -0
- package/extract-design/scripts/collect-styles.js +149 -0
- package/extract-design/scripts/detect-components.js +12 -0
- package/extract-design/scripts/extract.js +306 -0
- package/extract-design/scripts/generate-prose.js +38 -0
- package/extract-design/scripts/lib/browser.js +206 -0
- package/extract-design/scripts/lib/constants.js +9 -0
- package/extract-design/scripts/lib/logging.js +8 -0
- package/extract-design/scripts/lib/retry.js +13 -0
- package/extract-design/scripts/lib/state.js +15 -0
- package/extract-design/scripts/lib/validator.js +11 -0
- package/extract-design/scripts/write-designd.js +16 -0
- package/extract-design/tests/fixtures/glassmorphism-dark/expected-tokens.json +1 -0
- package/extract-design/tests/fixtures/glassmorphism-dark/prototype.html +7 -0
- package/extract-design/tests/fixtures/minimal-no-styles/expected-tokens.json +1 -0
- package/extract-design/tests/fixtures/minimal-no-styles/prototype.html +2 -0
- package/extract-design/tests/fixtures/swiss-grid/expected-tokens.json +1 -0
- package/extract-design/tests/fixtures/swiss-grid/prototype.html +6 -0
- package/extract-design/tests/test-extraction.js +315 -0
- package/package.json +1 -1
- package/scripts/add-model-frontmatter.sh +9 -61
- package/scripts/generate-skill-index.sh +21 -81
- package/scripts/regenerate-lockfile.sh +6 -1
- package/scripts/sync-skills.sh +7 -0
- package/skills-lock.json +5 -0
|
@@ -3,72 +3,20 @@
|
|
|
3
3
|
set -euo pipefail
|
|
4
4
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
5
|
|
|
6
|
-
declare -A
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[define-language]=sonnet
|
|
15
|
-
[grill-me]=sonnet
|
|
16
|
-
[grill-with-docs]=opus
|
|
17
|
-
[deepen-architecture]=sonnet
|
|
18
|
-
[design-interface]=opus
|
|
19
|
-
[assess-impact]=sonnet
|
|
20
|
-
[change-request]=sonnet
|
|
21
|
-
[scope-work]=sonnet
|
|
22
|
-
[slice-tasks]=sonnet
|
|
23
|
-
[define-success]=sonnet
|
|
24
|
-
[plan-work]=opus
|
|
25
|
-
[plan-refactor]=sonnet
|
|
26
|
-
[plan-release]=sonnet
|
|
27
|
-
[spike-prototype]=sonnet
|
|
28
|
-
[kickoff-branch]=haiku
|
|
29
|
-
[guard-git]=haiku
|
|
30
|
-
[hook-commits]=haiku
|
|
31
|
-
[seed-conventions]=sonnet
|
|
32
|
-
[develop-tdd]=sonnet
|
|
33
|
-
[enforce-first]=haiku
|
|
34
|
-
[delegate-task]=sonnet
|
|
35
|
-
[dispatch-agents]=sonnet
|
|
36
|
-
[execute-plan]=haiku
|
|
37
|
-
[wire-observability]=sonnet
|
|
38
|
-
[verify-work]=haiku
|
|
39
|
-
[run-evals]=sonnet
|
|
40
|
-
[investigate-bug]=sonnet
|
|
41
|
-
[diagnose-root]=sonnet
|
|
42
|
-
[validate-fix]=haiku
|
|
43
|
-
[audit-code]=haiku
|
|
44
|
-
[request-review]=opus
|
|
45
|
-
[respond-review]=sonnet
|
|
46
|
-
[trace-requirement]=haiku
|
|
47
|
-
[commit-message]=haiku
|
|
48
|
-
[release-branch]=haiku
|
|
49
|
-
[inspect-quality]=sonnet
|
|
50
|
-
[organize-workspace]=haiku
|
|
51
|
-
[stocktake-skills]=sonnet
|
|
52
|
-
[evolve-skill]=opus
|
|
53
|
-
[terse-mode]=haiku
|
|
54
|
-
[craft-skill]=sonnet
|
|
55
|
-
[edit-document]=sonnet
|
|
56
|
-
[session-state]=haiku
|
|
57
|
-
[migrate-spec]=sonnet
|
|
58
|
-
[visual-dashboard]=sonnet
|
|
59
|
-
[write-document]=sonnet
|
|
60
|
-
[setup-environment]=haiku
|
|
61
|
-
[reset-baseline]=haiku
|
|
62
|
-
[search-skills]=haiku
|
|
63
|
-
[compose-workflow]=sonnet
|
|
64
|
-
[simulate-agents]=sonnet
|
|
65
|
-
)
|
|
6
|
+
# Bash 3.2-compatible model mapping (no declare -A)
|
|
7
|
+
get_model() {
|
|
8
|
+
case "$1" in
|
|
9
|
+
survey-context|verify-work|validate-fix|audit-code|enforce-first|trace-requirement|commit-message|release-branch|kickoff-branch|guard-git|hook-commits|execute-plan|organize-workspace|terse-mode|session-state|search-skills|setup-environment|reset-baseline) echo "haiku" ;;
|
|
10
|
+
elaborate-spec|grill-with-docs|design-interface|plan-work|request-review|evolve-skill) echo "opus" ;;
|
|
11
|
+
*) echo "sonnet" ;;
|
|
12
|
+
esac
|
|
13
|
+
}
|
|
66
14
|
|
|
67
15
|
for skill_dir in "$REPO_ROOT"/*/; do
|
|
68
16
|
skill_md="$skill_dir/SKILL.md"
|
|
69
17
|
[[ -f "$skill_md" ]] || continue
|
|
70
18
|
name=$(basename "$skill_dir")
|
|
71
|
-
model
|
|
19
|
+
model=$(get_model "$name")
|
|
72
20
|
if grep -q '^model:' "$skill_md" 2>/dev/null; then
|
|
73
21
|
continue
|
|
74
22
|
fi
|
|
@@ -14,85 +14,25 @@ if [[ ! -f "$LOCKFILE" ]]; then
|
|
|
14
14
|
fi
|
|
15
15
|
|
|
16
16
|
# Phase categorization — maps each skill to a lifecycle phase
|
|
17
|
-
declare -A
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
[scope-work]="Plan"
|
|
37
|
-
[slice-tasks]="Plan"
|
|
38
|
-
[plan-work]="Plan"
|
|
39
|
-
[plan-release]="Plan"
|
|
40
|
-
[plan-refactor]="Plan"
|
|
41
|
-
[assess-impact]="Plan"
|
|
42
|
-
[change-request]="Plan"
|
|
43
|
-
[run-planning]="Plan"
|
|
44
|
-
[seed-conventions]="Plan"
|
|
45
|
-
# Build
|
|
46
|
-
[develop-tdd]="Build"
|
|
47
|
-
[kickoff-branch]="Build"
|
|
48
|
-
[execute-plan]="Build"
|
|
49
|
-
[build-epic]="Build"
|
|
50
|
-
[spike-prototype]="Build"
|
|
51
|
-
[craft-skill]="Build"
|
|
52
|
-
[quick-fix]="Build"
|
|
53
|
-
[setup-environment]="Build"
|
|
54
|
-
[wire-observability]="Build"
|
|
55
|
-
[wire-ci]="Build"
|
|
56
|
-
[publish-package]="Build"
|
|
57
|
-
[align-grid]="Build"
|
|
58
|
-
[orchestrate-project]="Build"
|
|
59
|
-
[guard-git]="Build"
|
|
60
|
-
[hook-commits]="Build"
|
|
61
|
-
[deploy]="Build"
|
|
62
|
-
[smoke-test]="Build"
|
|
63
|
-
[validate-contracts]="Build"
|
|
64
|
-
# Verify
|
|
65
|
-
[verify-work]="Verify"
|
|
66
|
-
[validate-fix]="Verify"
|
|
67
|
-
[audit-code]="Verify"
|
|
68
|
-
[enforce-first]="Verify"
|
|
69
|
-
[run-evals]="Verify"
|
|
70
|
-
[investigate-bug]="Verify"
|
|
71
|
-
[diagnose-root]="Verify"
|
|
72
|
-
[fix-bug]="Verify"
|
|
73
|
-
[inspect-quality]="Verify"
|
|
74
|
-
[request-review]="Verify"
|
|
75
|
-
[respond-review]="Verify"
|
|
76
|
-
[trace-requirement]="Verify"
|
|
77
|
-
# Release
|
|
78
|
-
[release-branch]="Release"
|
|
79
|
-
[commit-message]="Release"
|
|
80
|
-
# Sustain
|
|
81
|
-
[session-state]="Sustain"
|
|
82
|
-
[edit-document]="Sustain"
|
|
83
|
-
[write-document]="Sustain"
|
|
84
|
-
[organize-workspace]="Sustain"
|
|
85
|
-
[reset-baseline]="Sustain"
|
|
86
|
-
[stocktake-skills]="Sustain"
|
|
87
|
-
[evolve-skill]="Sustain"
|
|
88
|
-
[run-benchmark]="Sustain"
|
|
89
|
-
[terse-mode]="Sustain"
|
|
90
|
-
[delegate-task]="Sustain"
|
|
91
|
-
[dispatch-agents]="Sustain"
|
|
92
|
-
[simulate-agents]="Sustain"
|
|
93
|
-
[compose-workflow]="Sustain"
|
|
94
|
-
[migrate-spec]="Sustain"
|
|
95
|
-
)
|
|
17
|
+
# Uses a case statement for bash 3.2 compatibility (macOS default bash lacks declare -A)
|
|
18
|
+
get_phase() {
|
|
19
|
+
case "$1" in
|
|
20
|
+
# Discover
|
|
21
|
+
survey-context|research-first|search-skills|using-bigpowers|map-codebase|elaborate-spec|audit-plan) echo "Discover" ;;
|
|
22
|
+
# Design
|
|
23
|
+
model-domain|define-language|grill-me|grill-with-docs|deepen-architecture|design-interface|define-success) echo "Design" ;;
|
|
24
|
+
# Plan
|
|
25
|
+
scope-work|slice-tasks|plan-work|plan-release|plan-refactor|assess-impact|change-request|run-planning|seed-conventions) echo "Plan" ;;
|
|
26
|
+
# Build
|
|
27
|
+
develop-tdd|kickoff-branch|execute-plan|build-epic|spike-prototype|craft-skill|quick-fix|setup-environment|wire-observability|wire-ci|publish-package|align-grid|orchestrate-project|guard-git|hook-commits|deploy|smoke-test|validate-contracts) echo "Build" ;;
|
|
28
|
+
# Verify
|
|
29
|
+
verify-work|validate-fix|audit-code|enforce-first|run-evals|investigate-bug|diagnose-root|fix-bug|inspect-quality|request-review|respond-review|trace-requirement) echo "Verify" ;;
|
|
30
|
+
# Release
|
|
31
|
+
release-branch|commit-message) echo "Release" ;;
|
|
32
|
+
# Sustain
|
|
33
|
+
session-state|edit-document|write-document|organize-workspace|reset-baseline|stocktake-skills|evolve-skill|run-benchmark|terse-mode|delegate-task|dispatch-agents|simulate-agents|compose-workflow|migrate-spec) echo "Sustain" ;;
|
|
34
|
+
esac
|
|
35
|
+
}
|
|
96
36
|
|
|
97
37
|
# Phase order for display
|
|
98
38
|
PHASE_ORDER=("Discover" "Design" "Plan" "Build" "Verify" "Release" "Sustain")
|
|
@@ -123,7 +63,7 @@ DESC_COL_WIDTH=56
|
|
|
123
63
|
for phase in "${PHASE_ORDER[@]}"; do
|
|
124
64
|
phase_skills=()
|
|
125
65
|
for name in $(jq -r '.skills | keys[]' "$LOCKFILE" | sort); do
|
|
126
|
-
[[ "$
|
|
66
|
+
[[ "$(get_phase "$name")" == "$phase" ]] && phase_skills+=("$name")
|
|
127
67
|
done
|
|
128
68
|
count=${#phase_skills[@]}
|
|
129
69
|
total=$((total + count))
|
|
@@ -144,7 +84,7 @@ DESC_COL_WIDTH=56
|
|
|
144
84
|
row=0
|
|
145
85
|
for phase in "${PHASE_ORDER[@]}"; do
|
|
146
86
|
for name in $(jq -r '.skills | keys[]' "$LOCKFILE" | sort); do
|
|
147
|
-
[[ "$
|
|
87
|
+
[[ "$(get_phase "$name")" != "$phase" ]] && continue
|
|
148
88
|
row=$((row + 1))
|
|
149
89
|
desc=$(jq -r --arg n "$name" '.skills[$n].description // ""' "$LOCKFILE" | head -c 80)
|
|
150
90
|
echo "| $row | $phase | \`$name\` | $desc | ✅ Active |"
|
|
@@ -20,7 +20,12 @@ for skill_dir in "$REPO_ROOT"/*/; do
|
|
|
20
20
|
| tr -d '\n' | sed -E 's/[[:space:]]+/ /g')
|
|
21
21
|
|
|
22
22
|
# Compute SHA-256 of full SKILL.md content (first 16 hex chars for compact uniqueness)
|
|
23
|
-
|
|
23
|
+
# Falls back to shasum for macOS where sha256sum is not installed by default
|
|
24
|
+
if command -v sha256sum &>/dev/null; then
|
|
25
|
+
sha256=$(sha256sum "$skill_md" | cut -c1-16)
|
|
26
|
+
else
|
|
27
|
+
sha256=$(shasum -a 256 "$skill_md" | cut -c1-16)
|
|
28
|
+
fi
|
|
24
29
|
|
|
25
30
|
# Relative path from repo root
|
|
26
31
|
relpath="${skill_dir#$REPO_ROOT/}SKILL.md"
|
package/scripts/sync-skills.sh
CHANGED
|
@@ -230,6 +230,13 @@ if [[ -f "$validate_script" ]] && command -v python3 &>/dev/null; then
|
|
|
230
230
|
fi
|
|
231
231
|
fi
|
|
232
232
|
|
|
233
|
+
# Regression guard (BUG-2026-07-02T103911): no bash 4+ features in install-chain scripts
|
|
234
|
+
# macOS ships bash 3.2 which lacks declare -A (associative arrays)
|
|
235
|
+
if grep -rn '^declare -A\|^[[:space:]]*declare -A' scripts/sync-skills.sh scripts/generate-skill-index.sh scripts/regenerate-lockfile.sh scripts/build-skill-index.sh 2>/dev/null; then
|
|
236
|
+
echo "sync-skills: FAIL — bash 4+ features detected in install-chain scripts (not macOS-compatible)" >&2
|
|
237
|
+
exit 1
|
|
238
|
+
fi
|
|
239
|
+
|
|
233
240
|
# Regenerate derived reference tables from live SKILL.md frontmatter
|
|
234
241
|
# Only in dev context (with .git) — not during consumer npm install where docs/ is excluded
|
|
235
242
|
if [[ -d "$REPO_ROOT/.git" ]]; then
|
package/skills-lock.json
CHANGED
|
@@ -116,6 +116,11 @@
|
|
|
116
116
|
"sha256": "844f2a3069f75f30",
|
|
117
117
|
"path": "execute-plan/SKILL.md"
|
|
118
118
|
},
|
|
119
|
+
"extract-design": {
|
|
120
|
+
"description": "\"Extract a Google DESIGN.md file from an HTML prototype (claude.ai/design or any styled page) using Puppeteer, producing machine-readable tokens and AI-generated prose. Use when the user has an HTML prototype and wants a DESIGN.md to anchor their project's visual identity, or when seed-conventions has just scaffolded a new project.\"",
|
|
121
|
+
"sha256": "70fc3bc315b10b80",
|
|
122
|
+
"path": "extract-design/SKILL.md"
|
|
123
|
+
},
|
|
119
124
|
"fix-bug": {
|
|
120
125
|
"description": "Bug fix orchestrator — active_flow fix_bug; reads specs/bugs/BUG-*.md; chains investigate-bug, develop-tdd, validate-fix. Use when user reports a defect.",
|
|
121
126
|
"sha256": "aa6fe406ba87a648",
|