bigpowers 2.2.0 → 2.4.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 (147) hide show
  1. package/.pi/package.json +16 -0
  2. package/.pi/prompts/assess-impact.md +76 -0
  3. package/.pi/prompts/audit-code.md +156 -0
  4. package/.pi/prompts/build-epic.md +44 -0
  5. package/.pi/prompts/change-request.md +105 -0
  6. package/.pi/prompts/commit-message.md +135 -0
  7. package/.pi/prompts/compose-workflow.md +40 -0
  8. package/.pi/prompts/craft-skill.md +150 -0
  9. package/.pi/prompts/deepen-architecture.md +235 -0
  10. package/.pi/prompts/define-language.md +79 -0
  11. package/.pi/prompts/define-success.md +62 -0
  12. package/.pi/prompts/delegate-task.md +76 -0
  13. package/.pi/prompts/design-interface.md +96 -0
  14. package/.pi/prompts/develop-tdd.md +375 -0
  15. package/.pi/prompts/diagnose-root.md +23 -0
  16. package/.pi/prompts/dispatch-agents.md +83 -0
  17. package/.pi/prompts/edit-document.md +22 -0
  18. package/.pi/prompts/elaborate-spec.md +81 -0
  19. package/.pi/prompts/enforce-first.md +77 -0
  20. package/.pi/prompts/evolve-skill.md +38 -0
  21. package/.pi/prompts/execute-plan.md +54 -0
  22. package/.pi/prompts/fix-bug.md +36 -0
  23. package/.pi/prompts/grill-me.md +95 -0
  24. package/.pi/prompts/grill-with-docs.md +37 -0
  25. package/.pi/prompts/guard-git.md +212 -0
  26. package/.pi/prompts/hook-commits.md +93 -0
  27. package/.pi/prompts/inspect-quality.md +105 -0
  28. package/.pi/prompts/investigate-bug.md +117 -0
  29. package/.pi/prompts/kickoff-branch.md +99 -0
  30. package/.pi/prompts/map-codebase.md +70 -0
  31. package/.pi/prompts/migrate-spec.md +482 -0
  32. package/.pi/prompts/model-domain.md +227 -0
  33. package/.pi/prompts/orchestrate-project.md +161 -0
  34. package/.pi/prompts/organize-workspace.md +159 -0
  35. package/.pi/prompts/plan-refactor.md +77 -0
  36. package/.pi/prompts/plan-release.md +145 -0
  37. package/.pi/prompts/plan-work.md +161 -0
  38. package/.pi/prompts/release-branch.md +158 -0
  39. package/.pi/prompts/request-review.md +70 -0
  40. package/.pi/prompts/research-first.md +62 -0
  41. package/.pi/prompts/reset-baseline.md +20 -0
  42. package/.pi/prompts/respond-review.md +70 -0
  43. package/.pi/prompts/run-evals.md +56 -0
  44. package/.pi/prompts/run-planning.md +26 -0
  45. package/.pi/prompts/scope-work.md +23 -0
  46. package/.pi/prompts/search-skills.md +21 -0
  47. package/.pi/prompts/seed-conventions.md +132 -0
  48. package/.pi/prompts/session-state.md +146 -0
  49. package/.pi/prompts/setup-environment.md +23 -0
  50. package/.pi/prompts/simulate-agents.md +25 -0
  51. package/.pi/prompts/slice-tasks.md +23 -0
  52. package/.pi/prompts/spike-prototype.md +94 -0
  53. package/.pi/prompts/stocktake-skills.md +40 -0
  54. package/.pi/prompts/survey-context.md +129 -0
  55. package/.pi/prompts/terse-mode.md +37 -0
  56. package/.pi/prompts/trace-requirement.md +68 -0
  57. package/.pi/prompts/using-bigpowers.md +105 -0
  58. package/.pi/prompts/validate-fix.md +98 -0
  59. package/.pi/prompts/verify-work.md +125 -0
  60. package/.pi/prompts/visual-dashboard.md +51 -0
  61. package/.pi/prompts/wire-observability.md +92 -0
  62. package/.pi/prompts/write-document.md +244 -0
  63. package/.pi/skills/assess-impact/SKILL.md +77 -0
  64. package/.pi/skills/audit-code/SKILL.md +157 -0
  65. package/.pi/skills/build-epic/SKILL.md +45 -0
  66. package/.pi/skills/change-request/SKILL.md +106 -0
  67. package/.pi/skills/commit-message/SKILL.md +136 -0
  68. package/.pi/skills/compose-workflow/SKILL.md +41 -0
  69. package/.pi/skills/craft-skill/SKILL.md +151 -0
  70. package/.pi/skills/deepen-architecture/SKILL.md +236 -0
  71. package/.pi/skills/define-language/SKILL.md +80 -0
  72. package/.pi/skills/define-success/SKILL.md +63 -0
  73. package/.pi/skills/delegate-task/SKILL.md +77 -0
  74. package/.pi/skills/design-interface/SKILL.md +97 -0
  75. package/.pi/skills/develop-tdd/SKILL.md +376 -0
  76. package/.pi/skills/diagnose-root/SKILL.md +24 -0
  77. package/.pi/skills/dispatch-agents/SKILL.md +84 -0
  78. package/.pi/skills/edit-document/SKILL.md +23 -0
  79. package/.pi/skills/elaborate-spec/SKILL.md +82 -0
  80. package/.pi/skills/enforce-first/SKILL.md +78 -0
  81. package/.pi/skills/evolve-skill/SKILL.md +39 -0
  82. package/.pi/skills/execute-plan/SKILL.md +55 -0
  83. package/.pi/skills/fix-bug/SKILL.md +37 -0
  84. package/.pi/skills/grill-me/SKILL.md +96 -0
  85. package/.pi/skills/grill-with-docs/SKILL.md +38 -0
  86. package/.pi/skills/guard-git/SKILL.md +213 -0
  87. package/.pi/skills/hook-commits/SKILL.md +94 -0
  88. package/.pi/skills/inspect-quality/SKILL.md +106 -0
  89. package/.pi/skills/investigate-bug/SKILL.md +118 -0
  90. package/.pi/skills/kickoff-branch/SKILL.md +100 -0
  91. package/.pi/skills/map-codebase/SKILL.md +71 -0
  92. package/.pi/skills/migrate-spec/SKILL.md +483 -0
  93. package/.pi/skills/model-domain/SKILL.md +228 -0
  94. package/.pi/skills/orchestrate-project/SKILL.md +162 -0
  95. package/.pi/skills/organize-workspace/SKILL.md +160 -0
  96. package/.pi/skills/plan-refactor/SKILL.md +78 -0
  97. package/.pi/skills/plan-release/SKILL.md +146 -0
  98. package/.pi/skills/plan-work/SKILL.md +162 -0
  99. package/.pi/skills/release-branch/SKILL.md +159 -0
  100. package/.pi/skills/request-review/SKILL.md +71 -0
  101. package/.pi/skills/research-first/SKILL.md +63 -0
  102. package/.pi/skills/reset-baseline/SKILL.md +21 -0
  103. package/.pi/skills/respond-review/SKILL.md +71 -0
  104. package/.pi/skills/run-evals/SKILL.md +57 -0
  105. package/.pi/skills/run-planning/SKILL.md +27 -0
  106. package/.pi/skills/scope-work/SKILL.md +24 -0
  107. package/.pi/skills/search-skills/SKILL.md +22 -0
  108. package/.pi/skills/seed-conventions/SKILL.md +133 -0
  109. package/.pi/skills/session-state/SKILL.md +147 -0
  110. package/.pi/skills/setup-environment/SKILL.md +24 -0
  111. package/.pi/skills/simulate-agents/SKILL.md +26 -0
  112. package/.pi/skills/slice-tasks/SKILL.md +24 -0
  113. package/.pi/skills/spike-prototype/SKILL.md +95 -0
  114. package/.pi/skills/stocktake-skills/SKILL.md +41 -0
  115. package/.pi/skills/survey-context/SKILL.md +130 -0
  116. package/.pi/skills/terse-mode/SKILL.md +38 -0
  117. package/.pi/skills/trace-requirement/SKILL.md +69 -0
  118. package/.pi/skills/using-bigpowers/SKILL.md +106 -0
  119. package/.pi/skills/validate-fix/SKILL.md +99 -0
  120. package/.pi/skills/verify-work/SKILL.md +126 -0
  121. package/.pi/skills/visual-dashboard/SKILL.md +52 -0
  122. package/.pi/skills/wire-observability/SKILL.md +93 -0
  123. package/.pi/skills/write-document/SKILL.md +245 -0
  124. package/CHANGELOG.md +14 -0
  125. package/README.md +27 -1
  126. package/deepen-architecture/SKILL.md +2 -0
  127. package/define-language/SKILL.md +2 -0
  128. package/diagnose-root/SKILL.md +2 -0
  129. package/edit-document/SKILL.md +2 -0
  130. package/fix-bug/SKILL.md +3 -1
  131. package/grill-me/SKILL.md +3 -1
  132. package/grill-with-docs/SKILL.md +3 -1
  133. package/investigate-bug/SKILL.md +5 -11
  134. package/map-codebase/SKILL.md +3 -1
  135. package/model-domain/SKILL.md +2 -0
  136. package/package.json +11 -2
  137. package/plan-release/SKILL.md +1 -1
  138. package/plan-work/SKILL.md +3 -1
  139. package/release-branch/SKILL.md +4 -2
  140. package/run-planning/SKILL.md +3 -2
  141. package/scope-work/SKILL.md +3 -1
  142. package/scripts/sync-skills.sh +48 -3
  143. package/scripts/validate-doctrine.sh +24 -9
  144. package/seed-conventions/SKILL.md +2 -0
  145. package/slice-tasks/SKILL.md +3 -1
  146. package/survey-context/SKILL.md +3 -1
  147. package/write-document/SKILL.md +2 -0
@@ -1,11 +1,13 @@
1
1
  ---
2
2
  name: scope-work
3
- description: Define what is in and out of scope for the current effort and save as specs/product/SCOPE_LATEST.yaml. Use when user wants a PRD, scope definition, or before plan-release on a new initiative.
3
+ description: "PLANNING SPINE STEP 1 of 3 — Scope the work: define what is in and out of scope and save as specs/product/SCOPE_LATEST.yaml. Use before slice-tasks or plan-release on any new initiative. Not a substitute for slice-tasks (step 2) or plan-work (step 3)."
4
4
  model: sonnet
5
5
  ---
6
6
 
7
7
  # Scope Work
8
8
 
9
+ > **Spine position:** Step 1 — scope-work → slice-tasks → plan-work.
10
+
9
11
  Turn the current conversation into a bounded PRD at `specs/product/SCOPE_LATEST.yaml`.
10
12
 
11
13
  ## Process
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # sync-skills.sh — generate Cursor and Gemini CLI artifacts from SKILL.md source files
2
+ # sync-skills.sh — generate Cursor, Gemini CLI, and pi artifacts from SKILL.md source files
3
3
  # Run this after adding or updating any skill. Symlinks carry changes through automatically.
4
4
  set -euo pipefail
5
5
 
@@ -9,12 +9,17 @@ GEMINI_EXT_DIR="$REPO_ROOT/.gemini/extensions/bigpowers"
9
9
  GEMINI_SKILLS="$GEMINI_EXT_DIR/skills"
10
10
  GEMINI_COMMANDS="$GEMINI_EXT_DIR/commands"
11
11
  GEMINI_MANIFEST="$GEMINI_EXT_DIR/gemini-extension.json"
12
+ PI_SKILLS="$REPO_ROOT/.pi/skills"
13
+ PI_PROMPTS="$REPO_ROOT/.pi/prompts"
14
+ PI_PACKAGE_JSON="$REPO_ROOT/.pi/package.json"
12
15
 
13
- mkdir -p "$CURSOR_RULES" "$GEMINI_SKILLS" "$GEMINI_COMMANDS"
16
+ mkdir -p "$CURSOR_RULES" "$GEMINI_SKILLS" "$GEMINI_COMMANDS" "$PI_SKILLS" "$PI_PROMPTS"
14
17
 
15
18
  # Clear old artifacts to ensure a clean sync
16
19
  rm -rf "${GEMINI_SKILLS:?}"/*
17
20
  rm -rf "${GEMINI_COMMANDS:?}"/*
21
+ rm -rf "${PI_SKILLS:?}"/*
22
+ rm -rf "${PI_PROMPTS:?}"/*
18
23
 
19
24
  # We'll collect metadata for the manifest if needed,
20
25
  # though skills/commands are auto-discovered.
@@ -82,6 +87,28 @@ for skill_dir in "$REPO_ROOT"/*/; do
82
87
  echo "prompt = \"@{$prompt_file}\""
83
88
  } > "$GEMINI_COMMANDS/$name.toml"
84
89
 
90
+ # 4. Write pi skill: .pi/skills/<name>/SKILL.md
91
+ # Pi implements the Agent Skills standard — same YAML frontmatter + body format
92
+ mkdir -p "$PI_SKILLS/$name"
93
+ {
94
+ echo "---"
95
+ echo "name: $name"
96
+ echo "description: \"$description\""
97
+ echo "---"
98
+ echo ""
99
+ echo "$body"
100
+ } > "$PI_SKILLS/$name/SKILL.md"
101
+
102
+ # 5. Write pi prompt template: .pi/prompts/<name>.md
103
+ # Slash-command templates expandable via /<name> in pi's editor
104
+ {
105
+ echo "---"
106
+ echo "description: $description"
107
+ echo "---"
108
+ echo ""
109
+ echo "$body"
110
+ } > "$PI_PROMPTS/$name.md"
111
+
85
112
  skill_count=$((skill_count + 1))
86
113
  done
87
114
 
@@ -94,7 +121,22 @@ jq -n --arg name "bigpowers" \
94
121
  --arg desc "${skill_count} skills — ${pkg_desc}" \
95
122
  '{name: $name, version: $version, description: $desc}' > "$GEMINI_MANIFEST"
96
123
 
97
- # 4. Write OpenCode configuration: opencode.json (minimal project-level config)
124
+ # 6. Write pi package config: .pi/package.json
125
+ # Enables pi install (local path, npm, or git) with auto-discovered skills and prompts
126
+ jq -n --arg version "$pkg_version" \
127
+ --arg desc "${skill_count} skills — ${pkg_desc}" \
128
+ '{
129
+ "name": "bigpowers",
130
+ "version": $version,
131
+ "description": $desc,
132
+ "keywords": ["pi-package"],
133
+ "pi": {
134
+ "skills": ["./skills"],
135
+ "prompts": ["./prompts"]
136
+ }
137
+ }' > "$PI_PACKAGE_JSON"
138
+
139
+ # 7. Write OpenCode configuration: opencode.json (minimal project-level config)
98
140
  # Skills are loaded on-demand via opencode's native skill tool, not instructions.
99
141
  # Full opencode integration lives in the bigpowers-opencode repo.
100
142
  {
@@ -140,6 +182,9 @@ echo " → .cursor/rules/ ($skill_count .mdc files)"
140
182
  echo " → .gemini/extensions/bigpowers/skills/ (Agent Skills)"
141
183
  echo " → .gemini/extensions/bigpowers/commands/ (Slash Commands)"
142
184
  echo " → .gemini/extensions/bigpowers/gemini-extension.json"
185
+ echo " → .pi/skills/ ($skill_count skill dirs — pi Agent Skills)"
186
+ echo " → .pi/prompts/ ($skill_count prompt templates — pi slash commands)"
187
+ echo " → .pi/package.json (pi package manifest)"
143
188
  echo " → opencode.json (CLAUDE.md + CONVENTIONS.md instructions)"
144
189
  [[ -n "$OPN_TARGET" ]] && echo " → bigpowers-opencode: $opencode_count skills"
145
190
 
@@ -40,23 +40,21 @@ else
40
40
  done
41
41
  fi
42
42
 
43
- # ── Epic 1: Legacy MD artifact names in docs/ (excluding historical file-structure/) ──
44
- # docs/file-structure/ is intentional historical comparison material (Epic 6 archives it).
43
+ # ── Epic 1: Legacy MD artifact names in live docs/ (docs/archive/ exempt) ─────
44
+ # docs/archive/ holds historical/exploratory material (Epic 6); legacy names there are expected.
45
45
  echo "--- [Epic 1] legacy MD artifact names in docs/ ---"
46
46
  LEGACY_HITS=$(grep -rE "PLAN\.md|STATE\.md|PROJECT\.md|CONTEXT\.md|SUMMARY\.md|VERIFICATION\.md|RESEARCH\.md|RELEASE-PLAN\.md" \
47
47
  docs/ 2>/dev/null \
48
- | grep -v "docs/file-structure/" \
49
- | grep -v "docs/report-gsd-integration.md" \
48
+ | grep -v "docs/archive/" \
50
49
  | grep -v "specs/archive" \
51
50
  | wc -l | tr -d ' ') || true
52
51
  if [[ "$LEGACY_HITS" -eq 0 ]]; then
53
- pass "no legacy MD artifact names in docs/ (outside file-structure/)"
52
+ pass "no legacy MD artifact names in live docs/ (docs/archive/ exempt)"
54
53
  else
55
54
  fail "legacy MD artifact names found in docs/ ($LEGACY_HITS occurrences)"
56
55
  grep -rE "PLAN\.md|STATE\.md|PROJECT\.md|CONTEXT\.md|SUMMARY\.md|VERIFICATION\.md|RESEARCH\.md|RELEASE-PLAN\.md" \
57
56
  docs/ 2>/dev/null \
58
- | grep -v "docs/file-structure/" \
59
- | grep -v "docs/report-gsd-integration.md" \
57
+ | grep -v "docs/archive/" \
60
58
  | grep -v "specs/archive" | head -20 >&2
61
59
  fi
62
60
 
@@ -80,7 +78,7 @@ echo "--- [Epic 2] canonical specs/ subpaths ---"
80
78
  LEGACY_SPECS=$(grep -rE "specs/(requirements|plans|audit)\b" \
81
79
  --include="*.md" --include="*.sh" --include="*.yaml" --include="*.yml" --include="*.json" . \
82
80
  2>/dev/null \
83
- | grep -v "specs/archive\|specs/epics/archive\|\.git\|node_modules\|\.gemini\|\.cursor" \
81
+ | grep -v "specs/archive\|specs/epics/archive\|docs/archive/\|\.git\|node_modules\|\.gemini\|\.cursor" \
84
82
  | grep -v "CHANGELOG\.md\|specs/verifications/reports/\|PLAN-evolve-structure\.md" \
85
83
  | wc -l | tr -d ' ') || true
86
84
  if [[ "$LEGACY_SPECS" -eq 0 ]]; then
@@ -90,7 +88,7 @@ else
90
88
  grep -rE "specs/(requirements|plans|audit)\b" \
91
89
  --include="*.md" --include="*.sh" --include="*.yaml" --include="*.yml" --include="*.json" . \
92
90
  2>/dev/null \
93
- | grep -v "specs/archive\|specs/epics/archive\|\.git\|node_modules\|\.gemini\|\.cursor" \
91
+ | grep -v "specs/archive\|specs/epics/archive\|docs/archive/\|\.git\|node_modules\|\.gemini\|\.cursor" \
94
92
  | grep -v "CHANGELOG\.md\|specs/verifications/reports/\|PLAN-evolve-structure\.md" \
95
93
  | head -10 >&2
96
94
  fi
@@ -117,6 +115,23 @@ else
117
115
  bash "$REPO_ROOT/scripts/check-skill-size.sh" 2>&1 | grep "^FAIL:" >&2 || true
118
116
  fi
119
117
 
118
+ # ── Epic 5: Critical-path skills document a handoff target ─────────────────────
119
+ echo "--- [Epic 5] critical-path handoff targets ---"
120
+ CRITICAL_HANDOFF=(survey-context plan-work develop-tdd verify-work audit-code release-branch kickoff-branch commit-message)
121
+ MISSING_HANDOFF=()
122
+ for s in "${CRITICAL_HANDOFF[@]}"; do
123
+ if [[ -f "$s/SKILL.md" ]] && ! grep -qiE "handoff|next_skill|next:" "$s/SKILL.md"; then
124
+ MISSING_HANDOFF+=("$s")
125
+ fi
126
+ done
127
+ if [[ ${#MISSING_HANDOFF[@]} -eq 0 ]]; then
128
+ pass "all critical-path skills document a handoff target"
129
+ else
130
+ for s in "${MISSING_HANDOFF[@]}"; do
131
+ fail "critical-path skill '$s' has no documented handoff/next_skill"
132
+ done
133
+ fi
134
+
120
135
  # ── Summary ────────────────────────────────────────────────────────────────────
121
136
  echo "---"
122
137
  if [[ "$ERRORS" -eq 0 ]]; then
@@ -53,6 +53,8 @@ echo "# Specs\n\nAll planning documents for this project." > specs/README.md
53
53
 
54
54
  **Note:** `specs/state.yaml.lock` is NOT pre-created — acquired/released dynamically.
55
55
 
56
+ `specs/state.yaml` carries a top-level `workflow_mode` key (`team-pr` | `solo-git`, default `team-pr`). This is the **canonical integrate-mode signal** for all skills — set it once here and skills such as `release-branch` read it from this file instead of sniffing profile files.
57
+
56
58
  ## Verify
57
59
 
58
60
  - [ ] CLAUDE.md exists and is populated
@@ -1,11 +1,13 @@
1
1
  ---
2
2
  name: slice-tasks
3
- description: Break a plan or PRD into vertical-slice stories in specs/epics/ (replaces legacy TASKS.md). Use after scope-work or plan-release, before plan-work.
3
+ description: "PLANNING SPINE STEP 2 of 3 — Slice the work: break a scoped PRD into vertical-slice stories in specs/epics/. Use after scope-work (step 1), before plan-work (step 3). Not a substitute for scope-work or plan-work."
4
4
  model: sonnet
5
5
  ---
6
6
 
7
7
  # Slice Tasks
8
8
 
9
+ > **Spine position:** Step 2 — scope-work → slice-tasks → plan-work.
10
+
9
11
  Produce **epic capsule story tasks** in `specs/epics/eNN-slug/` — vertical slices, each independently deliverable and testable. Output: decoupled `eNNsYY-tasks.yaml` files with runnable verify commands. Legacy `specs/epics/ (see slice-tasks)` is deprecated; use capsule dirs + `execution-status.yaml`.
10
12
 
11
13
  ## Process
@@ -1,13 +1,15 @@
1
1
  ---
2
2
  name: survey-context
3
3
  model: haiku
4
- description: Per-task context survey — reads specs/ and CONVENTIONS.md, maps the current lifecycle phase, and suggests the next skill to invoke. Use at the start of any new task, when returning to a project after a break, or when unsure what to do next.
4
+ description: Per-task context bootstrap — reads existing specs/ and tech-architecture docs to map the current lifecycle phase and suggest the next skill. Use at the start of any task, when returning after a break, or when unsure what to do next. For deriving a tech-stack doc from scratch, use map-codebase first.
5
5
  ---
6
6
 
7
7
  # Survey Context
8
8
 
9
9
  Read the project's current state and give a phase map + next-skill recommendation. This is the "where am I?" skill — run it at the start of every task.
10
10
 
11
+ > **Use this vs map-codebase:** `survey-context` consumes existing specs and docs (fast; does not re-derive). `map-codebase` builds the tech-stack doc from scratch by scanning the codebase. Run `map-codebase` when `specs/tech-architecture/tech-stack.md` doesn't exist yet; run `survey-context` when it does.
12
+
11
13
  > **HARD GATE** — Read specs/ files before suggesting next steps. If state.yaml is stale or contradicts the codebase, request clarification rather than assuming intent.
12
14
 
13
15
  Orchestrate-project 6 phases: Phase 1 Discover - Phase 2 Elaborate - Phase 3 Plan - Phase 4 Build - Phase 5 Verify - Phase 6 Release
@@ -8,6 +8,8 @@ description: Write, organize, and sync high-integrity technical documents using
8
8
 
9
9
  Create high-signal technical documentation that serves as an expert collaborator for both humans and AI. This skill enforces the BMAD principles to prevent context rot and ensure architectural durability.
10
10
 
11
+ **Distinct from `edit-document`:** Use this skill to create a document that does not yet exist. Use `edit-document` when a document already exists and needs restructuring, clarity, or prose improvements.
12
+
11
13
  > **HARD GATE** — Every document must have a clear "Reason for Existence." If a document doesn't provide actionable leverage for a caller or test, do not create it.
12
14
 
13
15
  ## The BMAD Principles