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.
Files changed (166) hide show
  1. package/.pi/package.json +1 -1
  2. package/.pi/prompts/align-grid.md +6 -1
  3. package/.pi/prompts/assess-impact.md +2 -2
  4. package/.pi/prompts/audit-code.md +2 -2
  5. package/.pi/prompts/audit-plan.md +2 -2
  6. package/.pi/prompts/build-epic.md +2 -2
  7. package/.pi/prompts/change-request.md +2 -2
  8. package/.pi/prompts/commit-message.md +2 -2
  9. package/.pi/prompts/compose-workflow.md +2 -2
  10. package/.pi/prompts/context7-mcp.md +2 -2
  11. package/.pi/prompts/craft-skill.md +2 -2
  12. package/.pi/prompts/deepen-architecture.md +2 -2
  13. package/.pi/prompts/define-language.md +2 -2
  14. package/.pi/prompts/define-success.md +2 -2
  15. package/.pi/prompts/delegate-task.md +2 -2
  16. package/.pi/prompts/deploy.md +1 -1
  17. package/.pi/prompts/design-interface.md +2 -2
  18. package/.pi/prompts/develop-tdd.md +2 -2
  19. package/.pi/prompts/diagnose-root.md +2 -2
  20. package/.pi/prompts/diagnose-stall.md +2 -2
  21. package/.pi/prompts/dispatch-agents.md +2 -2
  22. package/.pi/prompts/edit-document.md +2 -2
  23. package/.pi/prompts/elaborate-spec.md +2 -2
  24. package/.pi/prompts/enforce-first.md +2 -2
  25. package/.pi/prompts/evolve-skill.md +2 -1
  26. package/.pi/prompts/execute-plan.md +2 -2
  27. package/.pi/prompts/extract-design.md +1 -1
  28. package/.pi/prompts/fix-bug.md +4 -2
  29. package/.pi/prompts/gate-trace.md +1 -1
  30. package/.pi/prompts/grill-me.md +2 -2
  31. package/.pi/prompts/grill-with-docs.md +2 -2
  32. package/.pi/prompts/guard-git.md +2 -2
  33. package/.pi/prompts/hook-commits.md +2 -2
  34. package/.pi/prompts/inspect-quality.md +2 -2
  35. package/.pi/prompts/investigate-bug.md +2 -2
  36. package/.pi/prompts/kickoff-branch.md +2 -2
  37. package/.pi/prompts/maintain-wiki.md +1 -1
  38. package/.pi/prompts/map-codebase.md +1 -1
  39. package/.pi/prompts/migrate-spec.md +4 -1
  40. package/.pi/prompts/model-domain.md +2 -2
  41. package/.pi/prompts/orchestrate-project.md +2 -2
  42. package/.pi/prompts/organize-workspace.md +2 -2
  43. package/.pi/prompts/plan-refactor.md +2 -2
  44. package/.pi/prompts/plan-release.md +1 -0
  45. package/.pi/prompts/plan-tests.md +1 -1
  46. package/.pi/prompts/plan-work.md +1 -1
  47. package/.pi/prompts/publish-package.md +1 -1
  48. package/.pi/prompts/quick-fix.md +1 -2
  49. package/.pi/prompts/release-branch.md +2 -2
  50. package/.pi/prompts/request-review.md +2 -2
  51. package/.pi/prompts/research-first.md +2 -2
  52. package/.pi/prompts/reset-baseline.md +2 -2
  53. package/.pi/prompts/respond-review.md +2 -2
  54. package/.pi/prompts/run-benchmark.md +2 -2
  55. package/.pi/prompts/run-evals.md +2 -2
  56. package/.pi/prompts/run-planning.md +1 -0
  57. package/.pi/prompts/scope-work.md +1 -1
  58. package/.pi/prompts/search-skills.md +2 -2
  59. package/.pi/prompts/security-review.md +2 -2
  60. package/.pi/prompts/seed-conventions.md +2 -2
  61. package/.pi/prompts/session-state.md +2 -2
  62. package/.pi/prompts/setup-environment.md +2 -2
  63. package/.pi/prompts/simulate-agents.md +2 -2
  64. package/.pi/prompts/slice-tasks.md +1 -1
  65. package/.pi/prompts/smoke-test.md +1 -1
  66. package/.pi/prompts/spike-prototype.md +2 -2
  67. package/.pi/prompts/stocktake-skills.md +2 -2
  68. package/.pi/prompts/survey-context.md +2 -2
  69. package/.pi/prompts/terse-mode.md +2 -2
  70. package/.pi/prompts/trace-requirement.md +2 -2
  71. package/.pi/prompts/using-bigpowers.md +2 -2
  72. package/.pi/prompts/validate-contracts.md +1 -1
  73. package/.pi/prompts/validate-fix.md +2 -2
  74. package/.pi/prompts/verify-work.md +2 -2
  75. package/.pi/prompts/visual-dashboard.md +2 -2
  76. package/.pi/prompts/wire-ci.md +1 -1
  77. package/.pi/prompts/wire-observability.md +2 -2
  78. package/.pi/prompts/write-document.md +2 -2
  79. package/.pi/skills/align-grid/SKILL.md +6 -2
  80. package/.pi/skills/assess-impact/SKILL.md +1 -2
  81. package/.pi/skills/audit-code/SKILL.md +1 -2
  82. package/.pi/skills/audit-plan/SKILL.md +1 -2
  83. package/.pi/skills/build-epic/SKILL.md +1 -2
  84. package/.pi/skills/change-request/SKILL.md +1 -2
  85. package/.pi/skills/commit-message/SKILL.md +1 -2
  86. package/.pi/skills/compose-workflow/SKILL.md +1 -2
  87. package/.pi/skills/context7-mcp/SKILL.md +1 -2
  88. package/.pi/skills/craft-skill/SKILL.md +1 -2
  89. package/.pi/skills/deepen-architecture/SKILL.md +1 -2
  90. package/.pi/skills/define-language/SKILL.md +1 -2
  91. package/.pi/skills/define-success/SKILL.md +1 -2
  92. package/.pi/skills/delegate-task/SKILL.md +1 -2
  93. package/.pi/skills/deploy/SKILL.md +1 -2
  94. package/.pi/skills/design-interface/SKILL.md +1 -2
  95. package/.pi/skills/develop-tdd/SKILL.md +1 -2
  96. package/.pi/skills/diagnose-root/SKILL.md +1 -2
  97. package/.pi/skills/diagnose-stall/SKILL.md +1 -2
  98. package/.pi/skills/dispatch-agents/SKILL.md +1 -2
  99. package/.pi/skills/edit-document/SKILL.md +1 -2
  100. package/.pi/skills/elaborate-spec/SKILL.md +1 -2
  101. package/.pi/skills/enforce-first/SKILL.md +1 -2
  102. package/.pi/skills/evolve-skill/SKILL.md +1 -1
  103. package/.pi/skills/execute-plan/SKILL.md +1 -2
  104. package/.pi/skills/extract-design/SKILL.md +1 -2
  105. package/.pi/skills/fix-bug/SKILL.md +3 -2
  106. package/.pi/skills/gate-trace/SKILL.md +1 -2
  107. package/.pi/skills/grill-me/SKILL.md +1 -2
  108. package/.pi/skills/grill-with-docs/SKILL.md +1 -2
  109. package/.pi/skills/guard-git/SKILL.md +1 -2
  110. package/.pi/skills/hook-commits/SKILL.md +1 -2
  111. package/.pi/skills/inspect-quality/SKILL.md +1 -2
  112. package/.pi/skills/investigate-bug/SKILL.md +1 -2
  113. package/.pi/skills/kickoff-branch/SKILL.md +1 -2
  114. package/.pi/skills/maintain-wiki/SKILL.md +1 -2
  115. package/.pi/skills/map-codebase/SKILL.md +1 -2
  116. package/.pi/skills/migrate-spec/SKILL.md +3 -1
  117. package/.pi/skills/model-domain/SKILL.md +1 -2
  118. package/.pi/skills/orchestrate-project/SKILL.md +1 -2
  119. package/.pi/skills/organize-workspace/SKILL.md +1 -2
  120. package/.pi/skills/plan-refactor/SKILL.md +1 -2
  121. package/.pi/skills/plan-release/SKILL.md +1 -1
  122. package/.pi/skills/plan-tests/SKILL.md +1 -2
  123. package/.pi/skills/plan-work/SKILL.md +1 -2
  124. package/.pi/skills/publish-package/SKILL.md +1 -2
  125. package/.pi/skills/quick-fix/SKILL.md +1 -3
  126. package/.pi/skills/release-branch/SKILL.md +1 -2
  127. package/.pi/skills/request-review/SKILL.md +1 -2
  128. package/.pi/skills/research-first/SKILL.md +1 -2
  129. package/.pi/skills/reset-baseline/SKILL.md +1 -2
  130. package/.pi/skills/respond-review/SKILL.md +1 -2
  131. package/.pi/skills/run-benchmark/SKILL.md +1 -2
  132. package/.pi/skills/run-evals/SKILL.md +1 -2
  133. package/.pi/skills/run-planning/SKILL.md +1 -1
  134. package/.pi/skills/scope-work/SKILL.md +1 -2
  135. package/.pi/skills/search-skills/SKILL.md +1 -2
  136. package/.pi/skills/security-review/SKILL.md +1 -2
  137. package/.pi/skills/seed-conventions/SKILL.md +1 -2
  138. package/.pi/skills/session-state/SKILL.md +1 -2
  139. package/.pi/skills/setup-environment/SKILL.md +1 -2
  140. package/.pi/skills/simulate-agents/SKILL.md +1 -2
  141. package/.pi/skills/slice-tasks/SKILL.md +1 -2
  142. package/.pi/skills/smoke-test/SKILL.md +1 -2
  143. package/.pi/skills/spike-prototype/SKILL.md +1 -2
  144. package/.pi/skills/stocktake-skills/SKILL.md +1 -2
  145. package/.pi/skills/survey-context/SKILL.md +1 -2
  146. package/.pi/skills/terse-mode/SKILL.md +1 -2
  147. package/.pi/skills/trace-requirement/SKILL.md +1 -2
  148. package/.pi/skills/using-bigpowers/SKILL.md +1 -2
  149. package/.pi/skills/validate-contracts/SKILL.md +1 -2
  150. package/.pi/skills/validate-fix/SKILL.md +1 -2
  151. package/.pi/skills/verify-work/SKILL.md +1 -2
  152. package/.pi/skills/visual-dashboard/SKILL.md +1 -2
  153. package/.pi/skills/wire-ci/SKILL.md +1 -2
  154. package/.pi/skills/wire-observability/SKILL.md +1 -2
  155. package/.pi/skills/write-document/SKILL.md +1 -2
  156. package/CHANGELOG.md +7 -0
  157. package/SKILL-INDEX.md +1 -1
  158. package/package.json +1 -1
  159. package/scripts/adapters/cursor.sh +13 -0
  160. package/scripts/adapters/gemini.sh +15 -1
  161. package/scripts/adapters/pi.sh +14 -0
  162. package/scripts/lib/srp-engine.py +245 -0
  163. package/scripts/sync-skills.sh +9 -27
  164. package/skills/define-success/SKILL.md +1 -1
  165. package/skills-lock.json +2 -2
  166. package/tests/test-srp-engine.sh +101 -0
@@ -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
- skill_count=0
79
- while IFS= read -r skill_dir; do
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
- for adapter_name in "${SKILL_ADAPTERS[@]}"; do
98
- adapter_script="$REPO_ROOT/scripts/adapters/${adapter_name}.sh"
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
- [[ "$OKF_MODE" -eq 1 ]] && render_okf_concept
105
- skill_count=$((skill_count + 1))
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": "4e29bd8dcabbce88",
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