bigpowers 2.74.12 → 2.75.0
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 +1 -1
- package/.pi/prompts/align-grid.md +6 -1
- package/.pi/prompts/assess-impact.md +2 -2
- package/.pi/prompts/audit-code.md +2 -2
- package/.pi/prompts/audit-plan.md +2 -2
- package/.pi/prompts/build-epic.md +2 -2
- package/.pi/prompts/change-request.md +2 -2
- package/.pi/prompts/commit-message.md +2 -2
- package/.pi/prompts/compose-workflow.md +2 -2
- package/.pi/prompts/context7-mcp.md +2 -2
- package/.pi/prompts/craft-skill.md +2 -2
- package/.pi/prompts/deepen-architecture.md +2 -2
- package/.pi/prompts/define-language.md +2 -2
- package/.pi/prompts/define-success.md +2 -2
- package/.pi/prompts/delegate-task.md +2 -2
- package/.pi/prompts/deploy.md +1 -1
- package/.pi/prompts/design-interface.md +2 -2
- package/.pi/prompts/develop-tdd.md +2 -2
- package/.pi/prompts/diagnose-root.md +2 -2
- package/.pi/prompts/diagnose-stall.md +2 -2
- package/.pi/prompts/dispatch-agents.md +2 -2
- package/.pi/prompts/edit-document.md +2 -2
- package/.pi/prompts/elaborate-spec.md +2 -2
- package/.pi/prompts/enforce-first.md +2 -2
- package/.pi/prompts/evolve-skill.md +2 -1
- package/.pi/prompts/execute-plan.md +2 -2
- package/.pi/prompts/extract-design.md +1 -1
- package/.pi/prompts/fix-bug.md +4 -2
- package/.pi/prompts/gate-trace.md +1 -1
- package/.pi/prompts/grill-me.md +2 -2
- package/.pi/prompts/grill-with-docs.md +2 -2
- package/.pi/prompts/guard-git.md +2 -2
- package/.pi/prompts/hook-commits.md +2 -2
- package/.pi/prompts/inspect-quality.md +2 -2
- package/.pi/prompts/investigate-bug.md +2 -2
- package/.pi/prompts/kickoff-branch.md +2 -2
- package/.pi/prompts/maintain-wiki.md +1 -1
- package/.pi/prompts/map-codebase.md +1 -1
- package/.pi/prompts/migrate-spec.md +4 -1
- package/.pi/prompts/model-domain.md +2 -2
- package/.pi/prompts/orchestrate-project.md +2 -2
- package/.pi/prompts/organize-workspace.md +2 -2
- package/.pi/prompts/plan-refactor.md +2 -2
- package/.pi/prompts/plan-release.md +1 -0
- package/.pi/prompts/plan-tests.md +1 -1
- package/.pi/prompts/plan-work.md +1 -1
- package/.pi/prompts/publish-package.md +1 -1
- package/.pi/prompts/quick-fix.md +1 -2
- package/.pi/prompts/release-branch.md +2 -2
- package/.pi/prompts/request-review.md +2 -2
- package/.pi/prompts/research-first.md +2 -2
- package/.pi/prompts/reset-baseline.md +2 -2
- package/.pi/prompts/respond-review.md +2 -2
- package/.pi/prompts/run-benchmark.md +2 -2
- package/.pi/prompts/run-evals.md +2 -2
- package/.pi/prompts/run-planning.md +1 -0
- package/.pi/prompts/scope-work.md +1 -1
- package/.pi/prompts/search-skills.md +2 -2
- package/.pi/prompts/security-review.md +2 -2
- package/.pi/prompts/seed-conventions.md +2 -2
- package/.pi/prompts/session-state.md +2 -2
- package/.pi/prompts/setup-environment.md +2 -2
- package/.pi/prompts/simulate-agents.md +2 -2
- package/.pi/prompts/slice-tasks.md +1 -1
- package/.pi/prompts/smoke-test.md +1 -1
- package/.pi/prompts/spike-prototype.md +2 -2
- package/.pi/prompts/stocktake-skills.md +2 -2
- package/.pi/prompts/survey-context.md +2 -2
- package/.pi/prompts/terse-mode.md +2 -2
- package/.pi/prompts/trace-requirement.md +2 -2
- package/.pi/prompts/using-bigpowers.md +2 -2
- package/.pi/prompts/validate-contracts.md +1 -1
- package/.pi/prompts/validate-fix.md +2 -2
- package/.pi/prompts/verify-work.md +2 -2
- package/.pi/prompts/visual-dashboard.md +2 -2
- package/.pi/prompts/wire-ci.md +1 -1
- package/.pi/prompts/wire-observability.md +2 -2
- package/.pi/prompts/write-document.md +2 -2
- package/.pi/skills/align-grid/SKILL.md +6 -2
- package/.pi/skills/assess-impact/SKILL.md +1 -2
- package/.pi/skills/audit-code/SKILL.md +1 -2
- package/.pi/skills/audit-plan/SKILL.md +1 -2
- package/.pi/skills/build-epic/SKILL.md +1 -2
- package/.pi/skills/change-request/SKILL.md +1 -2
- package/.pi/skills/commit-message/SKILL.md +1 -2
- package/.pi/skills/compose-workflow/SKILL.md +1 -2
- package/.pi/skills/context7-mcp/SKILL.md +1 -2
- package/.pi/skills/craft-skill/SKILL.md +1 -2
- package/.pi/skills/deepen-architecture/SKILL.md +1 -2
- package/.pi/skills/define-language/SKILL.md +1 -2
- package/.pi/skills/define-success/SKILL.md +1 -2
- package/.pi/skills/delegate-task/SKILL.md +1 -2
- package/.pi/skills/deploy/SKILL.md +1 -2
- package/.pi/skills/design-interface/SKILL.md +1 -2
- package/.pi/skills/develop-tdd/SKILL.md +1 -2
- package/.pi/skills/diagnose-root/SKILL.md +1 -2
- package/.pi/skills/diagnose-stall/SKILL.md +1 -2
- package/.pi/skills/dispatch-agents/SKILL.md +1 -2
- package/.pi/skills/edit-document/SKILL.md +1 -2
- package/.pi/skills/elaborate-spec/SKILL.md +1 -2
- package/.pi/skills/enforce-first/SKILL.md +1 -2
- package/.pi/skills/evolve-skill/SKILL.md +1 -1
- package/.pi/skills/execute-plan/SKILL.md +1 -2
- package/.pi/skills/extract-design/SKILL.md +1 -2
- package/.pi/skills/fix-bug/SKILL.md +3 -2
- package/.pi/skills/gate-trace/SKILL.md +1 -2
- package/.pi/skills/grill-me/SKILL.md +1 -2
- package/.pi/skills/grill-with-docs/SKILL.md +1 -2
- package/.pi/skills/guard-git/SKILL.md +1 -2
- package/.pi/skills/hook-commits/SKILL.md +1 -2
- package/.pi/skills/inspect-quality/SKILL.md +1 -2
- package/.pi/skills/investigate-bug/SKILL.md +1 -2
- package/.pi/skills/kickoff-branch/SKILL.md +1 -2
- package/.pi/skills/maintain-wiki/SKILL.md +1 -2
- package/.pi/skills/map-codebase/SKILL.md +1 -2
- package/.pi/skills/migrate-spec/SKILL.md +3 -1
- package/.pi/skills/model-domain/SKILL.md +1 -2
- package/.pi/skills/orchestrate-project/SKILL.md +1 -2
- package/.pi/skills/organize-workspace/SKILL.md +1 -2
- package/.pi/skills/plan-refactor/SKILL.md +1 -2
- package/.pi/skills/plan-release/SKILL.md +1 -1
- package/.pi/skills/plan-tests/SKILL.md +1 -2
- package/.pi/skills/plan-work/SKILL.md +1 -2
- package/.pi/skills/publish-package/SKILL.md +1 -2
- package/.pi/skills/quick-fix/SKILL.md +1 -3
- package/.pi/skills/release-branch/SKILL.md +1 -2
- package/.pi/skills/request-review/SKILL.md +1 -2
- package/.pi/skills/research-first/SKILL.md +1 -2
- package/.pi/skills/reset-baseline/SKILL.md +1 -2
- package/.pi/skills/respond-review/SKILL.md +1 -2
- package/.pi/skills/run-benchmark/SKILL.md +1 -2
- package/.pi/skills/run-evals/SKILL.md +1 -2
- package/.pi/skills/run-planning/SKILL.md +1 -1
- package/.pi/skills/scope-work/SKILL.md +1 -2
- package/.pi/skills/search-skills/SKILL.md +1 -2
- package/.pi/skills/security-review/SKILL.md +1 -2
- package/.pi/skills/seed-conventions/SKILL.md +1 -2
- package/.pi/skills/session-state/SKILL.md +1 -2
- package/.pi/skills/setup-environment/SKILL.md +1 -2
- package/.pi/skills/simulate-agents/SKILL.md +1 -2
- package/.pi/skills/slice-tasks/SKILL.md +1 -2
- package/.pi/skills/smoke-test/SKILL.md +1 -2
- package/.pi/skills/spike-prototype/SKILL.md +1 -2
- package/.pi/skills/stocktake-skills/SKILL.md +1 -2
- package/.pi/skills/survey-context/SKILL.md +1 -2
- package/.pi/skills/terse-mode/SKILL.md +1 -2
- package/.pi/skills/trace-requirement/SKILL.md +1 -2
- package/.pi/skills/using-bigpowers/SKILL.md +1 -2
- package/.pi/skills/validate-contracts/SKILL.md +1 -2
- package/.pi/skills/validate-fix/SKILL.md +1 -2
- package/.pi/skills/verify-work/SKILL.md +1 -2
- package/.pi/skills/visual-dashboard/SKILL.md +1 -2
- package/.pi/skills/wire-ci/SKILL.md +1 -2
- package/.pi/skills/wire-observability/SKILL.md +1 -2
- package/.pi/skills/write-document/SKILL.md +1 -2
- package/CHANGELOG.md +7 -0
- package/SKILL-INDEX.md +1 -1
- package/package.json +1 -1
- package/scripts/adapters/cursor.sh +13 -0
- package/scripts/adapters/gemini.sh +15 -1
- package/scripts/adapters/pi.sh +14 -0
- package/scripts/lib/srp-engine.py +245 -0
- package/scripts/sync-skills.sh +9 -27
- package/skills/define-success/SKILL.md +1 -1
- package/skills-lock.json +2 -2
- package/tests/test-srp-engine.sh +101 -0
package/scripts/sync-skills.sh
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
+
# story: e48s15
|
|
2
3
|
# story: e05s01
|
|
3
4
|
# story: e12s01
|
|
4
5
|
# story: e12s02
|
|
@@ -58,6 +59,8 @@ PI_PACKAGE_JSON="$REPO_ROOT/.pi/package.json"
|
|
|
58
59
|
OKF_WIKI_SKILLS="$REPO_ROOT/specs/skills-wiki/skills"
|
|
59
60
|
OKF_WIKI_DIR="$REPO_ROOT/specs/skills-wiki"
|
|
60
61
|
|
|
62
|
+
export CURSOR_RULES GEMINI_EXT_DIR GEMINI_SKILLS GEMINI_COMMANDS GEMINI_MANIFEST PI_SKILLS PI_PROMPTS PI_PACKAGE_JSON OKF_WIKI_SKILLS OKF_WIKI_DIR
|
|
63
|
+
|
|
61
64
|
mkdir -p "$CURSOR_RULES" "$GEMINI_SKILLS" "$GEMINI_COMMANDS" "$PI_SKILLS" "$PI_PROMPTS"
|
|
62
65
|
rm -rf "${GEMINI_SKILLS:?}"/* "${GEMINI_COMMANDS:?}"/* "${PI_SKILLS:?}"/* "${PI_PROMPTS:?}"/*
|
|
63
66
|
|
|
@@ -75,35 +78,14 @@ else
|
|
|
75
78
|
SKILL_ADAPTERS=(cursor gemini pi)
|
|
76
79
|
fi
|
|
77
80
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
skill_md="$skill_dir/SKILL.md"
|
|
81
|
-
|
|
82
|
-
if [[ "$OKF_MODE" -eq 1 ]]; then
|
|
83
|
-
parse_frontmatter_okf "$skill_md" || continue
|
|
84
|
-
else
|
|
85
|
-
parse_frontmatter "$skill_md" || continue
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
IR_NAME="$_PF_NAME"
|
|
89
|
-
IR_MODEL="$_PF_MODEL"
|
|
90
|
-
IR_DESCRIPTION="$_PF_DESCRIPTION"
|
|
91
|
-
IR_DESC_ESCAPED=$(echo "$IR_DESCRIPTION" | sed 's/\\/\\\\/g; s/\"/\\"/g')
|
|
92
|
-
[[ -z "$IR_NAME" ]] && continue
|
|
93
|
-
|
|
94
|
-
IR_BODY=$(build_body "$skill_md" "$skill_dir")
|
|
95
|
-
SKILL_MD_PATH="$skill_md"
|
|
81
|
+
OKF_FLAG=""
|
|
82
|
+
[[ "$OKF_MODE" -eq 1 ]] && OKF_FLAG="--okf"
|
|
96
83
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
# shellcheck source=/dev/null
|
|
100
|
-
source "$adapter_script"
|
|
101
|
-
render_skill
|
|
102
|
-
done
|
|
84
|
+
# Run srp-engine.py --all to process all skills in Python
|
|
85
|
+
python3 "$REPO_ROOT/scripts/lib/srp-engine.py" --all $OKF_FLAG
|
|
103
86
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
done < <(iterate_skills)
|
|
87
|
+
# Count generated skills
|
|
88
|
+
skill_count=$(find "$CURSOR_RULES" -maxdepth 1 -name "*.mdc" | wc -l | tr -d ' ')
|
|
107
89
|
|
|
108
90
|
opencode_count=0
|
|
109
91
|
[[ -n "$OPN_TARGET" ]] && sync_opencode_copy && opencode_count="${SYNC_OPENCODE_COUNT:-0}"
|
|
@@ -4,7 +4,7 @@ ARCHIVED: content absorbed into plan-work
|
|
|
4
4
|
name: define-success
|
|
5
5
|
model: sonnet
|
|
6
6
|
effort: standard
|
|
7
|
-
description: Convert an imperative task statement into explicit "step → verify: <cmd>" pairs before implementation begins. Use before plan-work when success criteria are unclear, when a task lacks verifiable checkpoints, or when user says "how will we know this is done?".
|
|
7
|
+
description: 'Convert an imperative task statement into explicit "step → verify: <cmd>" pairs before implementation begins. Use before plan-work when success criteria are unclear, when a task lacks verifiable checkpoints, or when user says "how will we know this is done?".'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Define Success
|
package/skills-lock.json
CHANGED
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
"path": "skills/define-languageSKILL.md"
|
|
63
63
|
},
|
|
64
64
|
"define-success": {
|
|
65
|
-
"description": "Convert an imperative task statement into explicit \"step → verify: <cmd>\" pairs before implementation begins. Use before plan-work when success criteria are unclear, when a task lacks verifiable checkpoints, or when user says \"how will we know this is done?\".",
|
|
66
|
-
"sha256": "
|
|
65
|
+
"description": "'Convert an imperative task statement into explicit \"step → verify: <cmd>\" pairs before implementation begins. Use before plan-work when success criteria are unclear, when a task lacks verifiable checkpoints, or when user says \"how will we know this is done?\".'",
|
|
66
|
+
"sha256": "458d06a29b0a5b67",
|
|
67
67
|
"path": "skills/define-successSKILL.md"
|
|
68
68
|
},
|
|
69
69
|
"delegate-task": {
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# story: e48s15
|
|
3
|
+
# Tests srp-engine.py functionality
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
+
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
8
|
+
|
|
9
|
+
echo "=== Running srp-engine.py Tests ==="
|
|
10
|
+
|
|
11
|
+
# Check if script exists
|
|
12
|
+
if [ ! -f "$REPO_ROOT/scripts/lib/srp-engine.py" ]; then
|
|
13
|
+
echo "FAIL: scripts/lib/srp-engine.py does not exist"
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
# Run dry-run parse on skills/plan-work/SKILL.md
|
|
18
|
+
JSON_OUT=$(python3 "$REPO_ROOT/scripts/lib/srp-engine.py" "$REPO_ROOT/skills/plan-work/SKILL.md" --dry-run)
|
|
19
|
+
|
|
20
|
+
# Validate it is valid JSON and extract fields
|
|
21
|
+
NAME=$(echo "$JSON_OUT" | jq -r '.name')
|
|
22
|
+
DESC=$(echo "$JSON_OUT" | jq -r '.description')
|
|
23
|
+
BODY=$(echo "$JSON_OUT" | jq -r '.body')
|
|
24
|
+
|
|
25
|
+
echo "Parsed skill: $NAME"
|
|
26
|
+
|
|
27
|
+
if [ "$NAME" != "plan-work" ]; then
|
|
28
|
+
echo "FAIL: Expected name to be 'plan-work', got '$NAME'"
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
if [ -z "$DESC" ] || [ "$DESC" = "null" ]; then
|
|
33
|
+
echo "FAIL: Description is missing or null"
|
|
34
|
+
exit 1
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
if [ -z "$BODY" ] || [ "$BODY" = "null" ]; then
|
|
38
|
+
echo "FAIL: Body is missing or null"
|
|
39
|
+
exit 1
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# Test 2: Pipe synthetic JSON to cursor.sh adapter
|
|
43
|
+
echo "=== Test 2: Pipe synthetic JSON to cursor.sh ==="
|
|
44
|
+
rm -f "$REPO_ROOT/.cursor/rules/test-skill.mdc"
|
|
45
|
+
echo '{"name":"test-skill","description":"test desc","body":"test body"}' | CURSOR_RULES="$REPO_ROOT/.cursor/rules" bash "$REPO_ROOT/scripts/adapters/cursor.sh"
|
|
46
|
+
|
|
47
|
+
if [ ! -f "$REPO_ROOT/.cursor/rules/test-skill.mdc" ]; then
|
|
48
|
+
echo "FAIL: .cursor/rules/test-skill.mdc was not created"
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
MDC_CONTENT=$(cat "$REPO_ROOT/.cursor/rules/test-skill.mdc")
|
|
53
|
+
if [[ "$MDC_CONTENT" != *"description: \"test desc\""* ]] || [[ "$MDC_CONTENT" != *"test body"* ]]; then
|
|
54
|
+
echo "FAIL: .cursor/rules/test-skill.mdc content is invalid"
|
|
55
|
+
echo "$MDC_CONTENT"
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
rm -f "$REPO_ROOT/.cursor/rules/test-skill.mdc"
|
|
59
|
+
|
|
60
|
+
# Test 3: Run full pipeline using --target cursor on srp-engine.py
|
|
61
|
+
echo "=== Test 3: Run full pipeline using --target cursor ==="
|
|
62
|
+
rm -f "$REPO_ROOT/.cursor/rules/plan-work.mdc"
|
|
63
|
+
python3 "$REPO_ROOT/scripts/lib/srp-engine.py" "$REPO_ROOT/skills/plan-work/SKILL.md" --target cursor
|
|
64
|
+
|
|
65
|
+
if [ ! -f "$REPO_ROOT/.cursor/rules/plan-work.mdc" ]; then
|
|
66
|
+
echo "FAIL: .cursor/rules/plan-work.mdc was not created by --target"
|
|
67
|
+
exit 1
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
MDC_CONTENT_PW=$(cat "$REPO_ROOT/.cursor/rules/plan-work.mdc")
|
|
71
|
+
if [[ "$MDC_CONTENT_PW" != *"description:"* ]] || [[ "$MDC_CONTENT_PW" != *"Plan the work:"* ]]; then
|
|
72
|
+
echo "FAIL: .cursor/rules/plan-work.mdc content is invalid"
|
|
73
|
+
echo "$MDC_CONTENT_PW"
|
|
74
|
+
exit 1
|
|
75
|
+
fi
|
|
76
|
+
rm -f "$REPO_ROOT/.cursor/rules/plan-work.mdc"
|
|
77
|
+
|
|
78
|
+
# Test 4: Run full pipeline using --target gemini on srp-engine.py
|
|
79
|
+
echo "=== Test 4: Run full pipeline using --target gemini ==="
|
|
80
|
+
rm -rf "$REPO_ROOT/.gemini/extensions/bigpowers/skills/plan-work"
|
|
81
|
+
rm -f "$REPO_ROOT/.gemini/extensions/bigpowers/commands/prompts/plan-work.md"
|
|
82
|
+
GEMINI_EXT_DIR="$REPO_ROOT/.gemini/extensions/bigpowers" GEMINI_SKILLS="$REPO_ROOT/.gemini/extensions/bigpowers/skills" GEMINI_COMMANDS="$REPO_ROOT/.gemini/extensions/bigpowers/commands" python3 "$REPO_ROOT/scripts/lib/srp-engine.py" "$REPO_ROOT/skills/plan-work/SKILL.md" --target gemini
|
|
83
|
+
|
|
84
|
+
if [ ! -f "$REPO_ROOT/.gemini/extensions/bigpowers/skills/plan-work/SKILL.md" ] || [ ! -f "$REPO_ROOT/.gemini/extensions/bigpowers/commands/prompts/plan-work.md" ]; then
|
|
85
|
+
echo "FAIL: gemini artifacts were not created by --target"
|
|
86
|
+
exit 1
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
# Test 5: Run full pipeline using --target pi on srp-engine.py
|
|
90
|
+
echo "=== Test 5: Run full pipeline using --target pi ==="
|
|
91
|
+
rm -rf "$REPO_ROOT/.pi/skills/plan-work"
|
|
92
|
+
rm -f "$REPO_ROOT/.pi/prompts/plan-work.md"
|
|
93
|
+
PI_SKILLS="$REPO_ROOT/.pi/skills" PI_PROMPTS="$REPO_ROOT/.pi/prompts" python3 "$REPO_ROOT/scripts/lib/srp-engine.py" "$REPO_ROOT/skills/plan-work/SKILL.md" --target pi
|
|
94
|
+
|
|
95
|
+
if [ ! -f "$REPO_ROOT/.pi/skills/plan-work/SKILL.md" ] || [ ! -f "$REPO_ROOT/.pi/prompts/plan-work.md" ]; then
|
|
96
|
+
echo "FAIL: pi artifacts were not created by --target"
|
|
97
|
+
exit 1
|
|
98
|
+
fi
|
|
99
|
+
|
|
100
|
+
echo "PASS: srp-engine.py parses SKILL.md correctly"
|
|
101
|
+
exit 0
|