@pennyfarthing/core 11.0.0 → 11.1.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.
Files changed (401) hide show
  1. package/README.md +81 -23
  2. package/package.json +1 -1
  3. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.d.ts +20 -0
  4. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.d.ts.map +1 -0
  5. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.js +278 -0
  6. package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.js.map +1 -0
  7. package/packages/core/dist/cli/utils/constants.d.ts +8 -2
  8. package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
  9. package/packages/core/dist/cli/utils/constants.js +4 -1
  10. package/packages/core/dist/cli/utils/constants.js.map +1 -1
  11. package/packages/core/dist/cli/utils/constants.test.d.ts +10 -0
  12. package/packages/core/dist/cli/utils/constants.test.d.ts.map +1 -0
  13. package/packages/core/dist/cli/utils/constants.test.js +38 -0
  14. package/packages/core/dist/cli/utils/constants.test.js.map +1 -0
  15. package/packages/core/dist/consultation/consultation-protocol.d.ts +139 -0
  16. package/packages/core/dist/consultation/consultation-protocol.d.ts.map +1 -0
  17. package/packages/core/dist/consultation/consultation-protocol.js +178 -0
  18. package/packages/core/dist/consultation/consultation-protocol.js.map +1 -0
  19. package/packages/core/dist/consultation/consultation-protocol.test.d.ts +20 -0
  20. package/packages/core/dist/consultation/consultation-protocol.test.d.ts.map +1 -0
  21. package/packages/core/dist/consultation/consultation-protocol.test.js +474 -0
  22. package/packages/core/dist/consultation/consultation-protocol.test.js.map +1 -0
  23. package/packages/core/dist/consultation/dialogue-manager.d.ts +75 -0
  24. package/packages/core/dist/consultation/dialogue-manager.d.ts.map +1 -0
  25. package/packages/core/dist/consultation/dialogue-manager.js +334 -0
  26. package/packages/core/dist/consultation/dialogue-manager.js.map +1 -0
  27. package/packages/core/dist/consultation/dialogue-manager.test.d.ts +19 -0
  28. package/packages/core/dist/consultation/dialogue-manager.test.d.ts.map +1 -0
  29. package/packages/core/dist/consultation/dialogue-manager.test.js +444 -0
  30. package/packages/core/dist/consultation/dialogue-manager.test.js.map +1 -0
  31. package/packages/core/dist/public/js/react/react.js +3 -3
  32. package/packages/core/dist/scripts/theme-detail.test.d.ts +10 -0
  33. package/packages/core/dist/scripts/theme-detail.test.js +199 -0
  34. package/packages/core/dist/server/api/git.d.ts +13 -1
  35. package/packages/core/dist/server/api/git.d.ts.map +1 -1
  36. package/packages/core/dist/server/api/git.js +53 -34
  37. package/packages/core/dist/server/api/git.js.map +1 -1
  38. package/packages/core/dist/server/api/health-score.d.ts.map +1 -1
  39. package/packages/core/dist/server/api/health-score.js +25 -1
  40. package/packages/core/dist/server/api/health-score.js.map +1 -1
  41. package/packages/core/dist/server/api/settings.d.ts.map +1 -1
  42. package/packages/core/dist/server/api/settings.js +63 -1
  43. package/packages/core/dist/server/api/settings.js.map +1 -1
  44. package/packages/core/dist/server/api/theme-agents.d.ts.map +1 -1
  45. package/packages/core/dist/server/api/theme-agents.js +61 -0
  46. package/packages/core/dist/server/api/theme-agents.js.map +1 -1
  47. package/packages/core/dist/server/server.d.ts.map +1 -1
  48. package/packages/core/dist/server/server.js +17 -12
  49. package/packages/core/dist/server/server.js.map +1 -1
  50. package/packages/core/dist/shared/skill-search.test.js +2 -2
  51. package/packages/core/dist/workflow/gate-file-validation.d.ts +49 -0
  52. package/packages/core/dist/workflow/gate-file-validation.d.ts.map +1 -0
  53. package/packages/core/dist/workflow/gate-file-validation.js +157 -0
  54. package/packages/core/dist/workflow/gate-file-validation.js.map +1 -0
  55. package/packages/core/dist/workflow/gate-file-validation.test.d.ts +19 -0
  56. package/packages/core/dist/workflow/gate-file-validation.test.d.ts.map +1 -0
  57. package/packages/core/dist/workflow/gate-file-validation.test.js +536 -0
  58. package/packages/core/dist/workflow/gate-file-validation.test.js.map +1 -0
  59. package/packages/core/dist/workflow/gate-schema-validation.test.d.ts +14 -0
  60. package/packages/core/dist/workflow/gate-schema-validation.test.d.ts.map +1 -0
  61. package/packages/core/dist/workflow/gate-schema-validation.test.js +339 -0
  62. package/packages/core/dist/workflow/gate-schema-validation.test.js.map +1 -0
  63. package/packages/core/dist/workflow/handoff.js +2 -2
  64. package/packages/core/dist/workflow/handoff.js.map +1 -1
  65. package/packages/core/dist/workflow/handoff.test.js +16 -0
  66. package/packages/core/dist/workflow/handoff.test.js.map +1 -1
  67. package/packages/core/dist/workflow/workflow-schema.d.ts +4 -2
  68. package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
  69. package/packages/core/dist/workflow/workflow-schema.js +43 -8
  70. package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
  71. package/pennyfarthing-dist/agents/README.md +6 -14
  72. package/pennyfarthing-dist/agents/architect.md +43 -29
  73. package/pennyfarthing-dist/agents/ba.md +30 -29
  74. package/pennyfarthing-dist/agents/dev.md +32 -43
  75. package/pennyfarthing-dist/agents/devops.md +57 -21
  76. package/pennyfarthing-dist/agents/orchestrator.md +3 -10
  77. package/pennyfarthing-dist/agents/pm.md +45 -31
  78. package/pennyfarthing-dist/agents/reviewer.md +20 -66
  79. package/pennyfarthing-dist/agents/sm-setup.md +2 -2
  80. package/pennyfarthing-dist/agents/sm.md +8 -30
  81. package/pennyfarthing-dist/agents/tea.md +25 -41
  82. package/pennyfarthing-dist/agents/tech-writer.md +33 -90
  83. package/pennyfarthing-dist/agents/ux-designer.md +39 -39
  84. package/pennyfarthing-dist/commands/benchmark-control.md +8 -64
  85. package/pennyfarthing-dist/commands/benchmark.md +8 -480
  86. package/pennyfarthing-dist/commands/job-fair.md +8 -97
  87. package/pennyfarthing-dist/commands/pf-benchmark-control.md +70 -0
  88. package/pennyfarthing-dist/commands/pf-benchmark.md +486 -0
  89. package/pennyfarthing-dist/commands/pf-chore.md +4 -4
  90. package/pennyfarthing-dist/commands/pf-ci.md +40 -0
  91. package/pennyfarthing-dist/commands/pf-close-epic.md +9 -27
  92. package/pennyfarthing-dist/commands/pf-continue-session.md +9 -213
  93. package/pennyfarthing-dist/commands/pf-create-branches-from-story.md +11 -353
  94. package/pennyfarthing-dist/commands/pf-docs.md +28 -0
  95. package/pennyfarthing-dist/commands/pf-epic.md +67 -0
  96. package/pennyfarthing-dist/commands/pf-git-cleanup.md +11 -52
  97. package/pennyfarthing-dist/commands/pf-git.md +75 -0
  98. package/pennyfarthing-dist/commands/pf-help.md +110 -128
  99. package/pennyfarthing-dist/commands/pf-job-fair.md +102 -0
  100. package/pennyfarthing-dist/commands/pf-new-work.md +9 -18
  101. package/pennyfarthing-dist/commands/pf-parallel-work.md +6 -66
  102. package/pennyfarthing-dist/commands/pf-release.md +11 -76
  103. package/pennyfarthing-dist/commands/pf-repo-status.md +11 -44
  104. package/pennyfarthing-dist/commands/pf-run-ci.md +8 -111
  105. package/pennyfarthing-dist/commands/pf-session.md +51 -0
  106. package/pennyfarthing-dist/commands/pf-solo.md +447 -0
  107. package/pennyfarthing-dist/commands/pf-sprint-planning.md +8 -104
  108. package/pennyfarthing-dist/commands/pf-standalone.md +1 -1
  109. package/pennyfarthing-dist/commands/pf-start-epic.md +9 -163
  110. package/pennyfarthing-dist/commands/pf-sync-epic-to-jira.md +8 -179
  111. package/pennyfarthing-dist/commands/pf-sync-work-with-sprint.md +8 -368
  112. package/pennyfarthing-dist/commands/pf-update-domain-docs.md +8 -78
  113. package/pennyfarthing-dist/commands/solo.md +8 -442
  114. package/pennyfarthing-dist/guides/agent-behavior.md +13 -13
  115. package/pennyfarthing-dist/guides/agent-coordination.md +7 -7
  116. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +6 -5
  117. package/pennyfarthing-dist/guides/bikerack.md +128 -0
  118. package/pennyfarthing-dist/guides/brownfield-tools.md +133 -0
  119. package/pennyfarthing-dist/guides/command-tag-taxonomy.md +2 -2
  120. package/pennyfarthing-dist/guides/gate-schema.md +227 -0
  121. package/pennyfarthing-dist/guides/gates.md +120 -0
  122. package/pennyfarthing-dist/guides/handoff-cli.md +116 -0
  123. package/pennyfarthing-dist/guides/hooks.md +86 -4
  124. package/pennyfarthing-dist/guides/output-styles.md +65 -0
  125. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +5 -5
  126. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +4 -4
  127. package/pennyfarthing-dist/guides/prompt-patterns.md +5 -5
  128. package/pennyfarthing-dist/guides/reflector.md +4 -4
  129. package/pennyfarthing-dist/guides/session-artifacts.md +1 -1
  130. package/pennyfarthing-dist/guides/skill-schema.md +1 -1
  131. package/pennyfarthing-dist/guides/tandem-protocol.md +13 -1
  132. package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
  133. package/pennyfarthing-dist/guides/xml-tags.md +5 -4
  134. package/pennyfarthing-dist/personas/themes/hogans-heroes.yaml +11 -22
  135. package/pennyfarthing-dist/personas/themes/stephen-king.yaml +13 -24
  136. package/pennyfarthing-dist/scripts/core/dialogue-manager.sh +322 -0
  137. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +1 -1
  138. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +19 -14
  139. package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +191 -57
  140. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +26 -10
  141. package/pennyfarthing-dist/skills/pf-changelog/SKILL.md +4 -4
  142. package/pennyfarthing-dist/skills/pf-sprint/skill.md +1 -1
  143. package/pennyfarthing-dist/skills/skill-registry.schema.json +4 -0
  144. package/pennyfarthing-dist/skills/skill-registry.yaml +5 -0
  145. package/pennyfarthing-dist/workflows/2party-tdd.yaml +11 -0
  146. package/pennyfarthing-dist/workflows/agent-docs.yaml +2 -0
  147. package/pennyfarthing-dist/workflows/bdd-tandem.yaml +4 -0
  148. package/pennyfarthing-dist/workflows/bdd.yaml +4 -0
  149. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
  150. package/pennyfarthing-dist/workflows/tdd-tandem.yaml +3 -0
  151. package/pennyfarthing-dist/workflows/tdd.yaml +3 -0
  152. package/pennyfarthing-dist/workflows/trivial.yaml +2 -0
  153. package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  154. package/pennyfarthing_scripts/__pycache__/bellmode_hook.cpython-314.pyc +0 -0
  155. package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
  156. package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
  157. package/pennyfarthing_scripts/__pycache__/context.cpython-314.pyc +0 -0
  158. package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
  159. package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
  160. package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
  161. package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
  162. package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
  163. package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
  164. package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
  165. package/pennyfarthing_scripts/__pycache__/pretooluse_hook.cpython-314.pyc +0 -0
  166. package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
  167. package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
  168. package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
  169. package/pennyfarthing_scripts/bc/__pycache__/__init__.cpython-314.pyc +0 -0
  170. package/pennyfarthing_scripts/bc/__pycache__/cli.cpython-314.pyc +0 -0
  171. package/pennyfarthing_scripts/bc/__pycache__/focus.cpython-314.pyc +0 -0
  172. package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
  173. package/pennyfarthing_scripts/bikerack/__pycache__/__main__.cpython-314.pyc +0 -0
  174. package/pennyfarthing_scripts/bikerack/__pycache__/background_panel.cpython-314.pyc +0 -0
  175. package/pennyfarthing_scripts/bikerack/__pycache__/base_panel.cpython-314.pyc +0 -0
  176. package/pennyfarthing_scripts/bikerack/__pycache__/changed_panel.cpython-314.pyc +0 -0
  177. package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
  178. package/pennyfarthing_scripts/bikerack/__pycache__/debug_panel.cpython-314.pyc +0 -0
  179. package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
  180. package/pennyfarthing_scripts/bikerack/__pycache__/git_panel.cpython-314.pyc +0 -0
  181. package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
  182. package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
  183. package/pennyfarthing_scripts/bikerack/__pycache__/tui.cpython-314.pyc +0 -0
  184. package/pennyfarthing_scripts/bikerack/__pycache__/ws_client.cpython-314.pyc +0 -0
  185. package/pennyfarthing_scripts/bikerack/cli.py +10 -11
  186. package/pennyfarthing_scripts/bikerack/debug_panel.py +218 -0
  187. package/pennyfarthing_scripts/bikerack/diffs_panel.py +203 -27
  188. package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
  189. package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
  190. package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
  191. package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
  192. package/pennyfarthing_scripts/cli.py +114 -0
  193. package/pennyfarthing_scripts/codemarkers/__pycache__/__init__.cpython-314.pyc +0 -0
  194. package/pennyfarthing_scripts/codemarkers/__pycache__/__main__.cpython-314.pyc +0 -0
  195. package/pennyfarthing_scripts/codemarkers/__pycache__/analyze.cpython-314.pyc +0 -0
  196. package/pennyfarthing_scripts/codemarkers/__pycache__/cli.cpython-314.pyc +0 -0
  197. package/pennyfarthing_scripts/codemarkers/__pycache__/formatters.cpython-314.pyc +0 -0
  198. package/pennyfarthing_scripts/codemarkers/__pycache__/models.cpython-314.pyc +0 -0
  199. package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
  200. package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
  201. package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
  202. package/pennyfarthing_scripts/common/__pycache__/themes.cpython-314.pyc +0 -0
  203. package/pennyfarthing_scripts/complexity/__pycache__/__init__.cpython-314.pyc +0 -0
  204. package/pennyfarthing_scripts/complexity/__pycache__/__main__.cpython-314.pyc +0 -0
  205. package/pennyfarthing_scripts/complexity/__pycache__/analyze.cpython-314.pyc +0 -0
  206. package/pennyfarthing_scripts/complexity/__pycache__/cli.cpython-314.pyc +0 -0
  207. package/pennyfarthing_scripts/complexity/__pycache__/formatters.cpython-314.pyc +0 -0
  208. package/pennyfarthing_scripts/complexity/__pycache__/models.cpython-314.pyc +0 -0
  209. package/pennyfarthing_scripts/deadcode/__pycache__/__init__.cpython-314.pyc +0 -0
  210. package/pennyfarthing_scripts/deadcode/__pycache__/__main__.cpython-314.pyc +0 -0
  211. package/pennyfarthing_scripts/deadcode/__pycache__/analyze.cpython-314.pyc +0 -0
  212. package/pennyfarthing_scripts/deadcode/__pycache__/cli.cpython-314.pyc +0 -0
  213. package/pennyfarthing_scripts/deadcode/__pycache__/formatters.cpython-314.pyc +0 -0
  214. package/pennyfarthing_scripts/deadcode/__pycache__/models.cpython-314.pyc +0 -0
  215. package/pennyfarthing_scripts/dependencies/__pycache__/__init__.cpython-314.pyc +0 -0
  216. package/pennyfarthing_scripts/dependencies/__pycache__/__main__.cpython-314.pyc +0 -0
  217. package/pennyfarthing_scripts/dependencies/__pycache__/analyze.cpython-314.pyc +0 -0
  218. package/pennyfarthing_scripts/dependencies/__pycache__/cli.cpython-314.pyc +0 -0
  219. package/pennyfarthing_scripts/dependencies/__pycache__/formatters.cpython-314.pyc +0 -0
  220. package/pennyfarthing_scripts/dependencies/__pycache__/models.cpython-314.pyc +0 -0
  221. package/pennyfarthing_scripts/epic/__init__.py +0 -0
  222. package/pennyfarthing_scripts/epic/cli.py +64 -0
  223. package/pennyfarthing_scripts/gate/__init__.py +1 -0
  224. package/pennyfarthing_scripts/gate/__pycache__/__init__.cpython-314.pyc +0 -0
  225. package/pennyfarthing_scripts/gate/__pycache__/cli.cpython-314.pyc +0 -0
  226. package/pennyfarthing_scripts/gate/__pycache__/validate.cpython-314.pyc +0 -0
  227. package/pennyfarthing_scripts/gate/cli.py +56 -0
  228. package/pennyfarthing_scripts/gate/validate.py +266 -0
  229. package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
  230. package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
  231. package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
  232. package/pennyfarthing_scripts/git_group/__init__.py +0 -0
  233. package/pennyfarthing_scripts/git_group/cli.py +100 -0
  234. package/pennyfarthing_scripts/handoff/__init__.py +1 -0
  235. package/pennyfarthing_scripts/handoff/__pycache__/__init__.cpython-314.pyc +0 -0
  236. package/pennyfarthing_scripts/handoff/__pycache__/cli.cpython-314.pyc +0 -0
  237. package/pennyfarthing_scripts/handoff/__pycache__/complete_phase.cpython-314.pyc +0 -0
  238. package/pennyfarthing_scripts/handoff/__pycache__/gate_file.cpython-314.pyc +0 -0
  239. package/pennyfarthing_scripts/handoff/__pycache__/gate_runner.cpython-314.pyc +0 -0
  240. package/pennyfarthing_scripts/handoff/__pycache__/marker.cpython-314.pyc +0 -0
  241. package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.cpython-314.pyc +0 -0
  242. package/pennyfarthing_scripts/handoff/cli.py +120 -0
  243. package/pennyfarthing_scripts/handoff/complete_phase.py +155 -0
  244. package/pennyfarthing_scripts/handoff/gate_file.py +105 -0
  245. package/pennyfarthing_scripts/handoff/gate_runner.py +152 -0
  246. package/pennyfarthing_scripts/handoff/marker.py +109 -0
  247. package/pennyfarthing_scripts/handoff/resolve_gate.py +152 -0
  248. package/pennyfarthing_scripts/healthscore/__pycache__/__init__.cpython-314.pyc +0 -0
  249. package/pennyfarthing_scripts/healthscore/__pycache__/__main__.cpython-314.pyc +0 -0
  250. package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
  251. package/pennyfarthing_scripts/healthscore/__pycache__/cli.cpython-314.pyc +0 -0
  252. package/pennyfarthing_scripts/healthscore/__pycache__/formatters.cpython-314.pyc +0 -0
  253. package/pennyfarthing_scripts/healthscore/__pycache__/models.cpython-314.pyc +0 -0
  254. package/pennyfarthing_scripts/hotspots/__pycache__/__init__.cpython-314.pyc +0 -0
  255. package/pennyfarthing_scripts/hotspots/__pycache__/__main__.cpython-314.pyc +0 -0
  256. package/pennyfarthing_scripts/hotspots/__pycache__/analyze.cpython-314.pyc +0 -0
  257. package/pennyfarthing_scripts/hotspots/__pycache__/cli.cpython-314.pyc +0 -0
  258. package/pennyfarthing_scripts/hotspots/__pycache__/formatters.cpython-314.pyc +0 -0
  259. package/pennyfarthing_scripts/hotspots/__pycache__/models.cpython-314.pyc +0 -0
  260. package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
  261. package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
  262. package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
  263. package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
  264. package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
  265. package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
  266. package/pennyfarthing_scripts/jira/__pycache__/create.cpython-314.pyc +0 -0
  267. package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
  268. package/pennyfarthing_scripts/jira/__pycache__/operations.cpython-314.pyc +0 -0
  269. package/pennyfarthing_scripts/jira/__pycache__/reconcile.cpython-314.pyc +0 -0
  270. package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
  271. package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -0
  272. package/pennyfarthing_scripts/launch/__pycache__/__init__.cpython-314.pyc +0 -0
  273. package/pennyfarthing_scripts/launch/__pycache__/cli.cpython-314.pyc +0 -0
  274. package/pennyfarthing_scripts/migration/__pycache__/__init__.cpython-314.pyc +0 -0
  275. package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
  276. package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
  277. package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
  278. package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
  279. package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
  280. package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
  281. package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
  282. package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
  283. package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
  284. package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
  285. package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
  286. package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
  287. package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
  288. package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
  289. package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
  290. package/pennyfarthing_scripts/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
  291. package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
  292. package/pennyfarthing_scripts/prime/workflow.py +39 -0
  293. package/pennyfarthing_scripts/session/__init__.py +0 -0
  294. package/pennyfarthing_scripts/session/cli.py +87 -0
  295. package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
  296. package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
  297. package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
  298. package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
  299. package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
  300. package/pennyfarthing_scripts/sprint/__pycache__/epic_add.cpython-314.pyc +0 -0
  301. package/pennyfarthing_scripts/sprint/__pycache__/epic_update.cpython-314.pyc +0 -0
  302. package/pennyfarthing_scripts/sprint/__pycache__/import_epic.cpython-314.pyc +0 -0
  303. package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
  304. package/pennyfarthing_scripts/sprint/__pycache__/status.cpython-314.pyc +0 -0
  305. package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
  306. package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
  307. package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
  308. package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
  309. package/pennyfarthing_scripts/sprint/__pycache__/validator.cpython-314.pyc +0 -0
  310. package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
  311. package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
  312. package/pennyfarthing_scripts/sprint/story_finish.py +14 -0
  313. package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
  314. package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
  315. package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
  316. package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
  317. package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
  318. package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
  319. package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
  320. package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
  321. package/pennyfarthing_scripts/tests/__pycache__/test_108_2_remove_handoff_fallback.cpython-314-pytest-9.0.2.pyc +0 -0
  322. package/pennyfarthing_scripts/tests/__pycache__/test_archive_epic.cpython-314-pytest-9.0.2.pyc +0 -0
  323. package/pennyfarthing_scripts/tests/__pycache__/test_bc.cpython-314-pytest-9.0.2.pyc +0 -0
  324. package/pennyfarthing_scripts/tests/__pycache__/test_bikerack.cpython-314-pytest-9.0.2.pyc +0 -0
  325. package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
  326. package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
  327. package/pennyfarthing_scripts/tests/__pycache__/test_cli_normalization.cpython-314-pytest-9.0.2.pyc +0 -0
  328. package/pennyfarthing_scripts/tests/__pycache__/test_codemarkers.cpython-314-pytest-9.0.2.pyc +0 -0
  329. package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
  330. package/pennyfarthing_scripts/tests/__pycache__/test_epic_shard_validation.cpython-314-pytest-9.0.2.pyc +0 -0
  331. package/pennyfarthing_scripts/tests/__pycache__/test_gate_file_resolution.cpython-314-pytest-9.0.2.pyc +0 -0
  332. package/pennyfarthing_scripts/tests/__pycache__/test_gate_runner.cpython-314-pytest-9.0.2.pyc +0 -0
  333. package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
  334. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_cli.cpython-314-pytest-9.0.2.pyc +0 -0
  335. package/pennyfarthing_scripts/tests/__pycache__/test_handoff_e2e.cpython-314-pytest-9.0.2.pyc +0 -0
  336. package/pennyfarthing_scripts/tests/__pycache__/test_healthscore.cpython-314-pytest-9.0.2.pyc +0 -0
  337. package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
  338. package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
  339. package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
  340. package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
  341. package/pennyfarthing_scripts/tests/__pycache__/test_resolve_gate_file_field.cpython-314-pytest-9.0.2.pyc +0 -0
  342. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
  343. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_panel.cpython-314-pytest-9.0.2.pyc +0 -0
  344. package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
  345. package/pennyfarthing_scripts/tests/__pycache__/test_story_add.cpython-314-pytest-9.0.2.pyc +0 -0
  346. package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
  347. package/pennyfarthing_scripts/tests/__pycache__/test_story_update.cpython-314-pytest-9.0.2.pyc +0 -0
  348. package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
  349. package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
  350. package/pennyfarthing_scripts/tests/__pycache__/test_topology_loader.cpython-314-pytest-9.0.2.pyc +0 -0
  351. package/pennyfarthing_scripts/tests/__pycache__/test_tui_focus.cpython-314-pytest-9.0.2.pyc +0 -0
  352. package/pennyfarthing_scripts/tests/__pycache__/test_tui_panel_persistence.cpython-314-pytest-9.0.2.pyc +0 -0
  353. package/pennyfarthing_scripts/tests/__pycache__/test_validate_cmd.cpython-314-pytest-9.0.2.pyc +0 -0
  354. package/pennyfarthing_scripts/tests/__pycache__/test_version_sentinel.cpython-314-pytest-9.0.2.pyc +0 -0
  355. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
  356. package/pennyfarthing_scripts/tests/__pycache__/test_yaml_io.cpython-314-pytest-9.0.2.pyc +0 -0
  357. package/pennyfarthing_scripts/tests/test_108_1_gate_migration.py +540 -0
  358. package/pennyfarthing_scripts/tests/test_108_2_remove_handoff_fallback.py +339 -0
  359. package/pennyfarthing_scripts/tests/test_confidence_sm_evaluation.py +253 -0
  360. package/pennyfarthing_scripts/tests/test_confidence_sm_gate.py +315 -0
  361. package/pennyfarthing_scripts/tests/test_gate_file_resolution.py +341 -0
  362. package/pennyfarthing_scripts/tests/test_gate_runner.py +620 -0
  363. package/pennyfarthing_scripts/tests/test_handoff_cli.py +929 -0
  364. package/pennyfarthing_scripts/tests/test_handoff_e2e.py +454 -0
  365. package/pennyfarthing_scripts/tests/test_resolve_gate_file_field.py +464 -0
  366. package/pennyfarthing_scripts/theme/__pycache__/__init__.cpython-314.pyc +0 -0
  367. package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
  368. package/pennyfarthing_scripts/validate/__pycache__/__init__.cpython-314.pyc +0 -0
  369. package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
  370. package/pennyfarthing_scripts/validate/adapters/__pycache__/__init__.cpython-314.pyc +0 -0
  371. package/pennyfarthing_scripts/validate/adapters/__pycache__/agent.cpython-314.pyc +0 -0
  372. package/pennyfarthing_scripts/validate/adapters/__pycache__/schema.cpython-314.pyc +0 -0
  373. package/pennyfarthing_scripts/validate/adapters/__pycache__/skill_command.cpython-314.pyc +0 -0
  374. package/pennyfarthing_scripts/validate/adapters/__pycache__/sprint.cpython-314.pyc +0 -0
  375. package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
  376. package/pennyfarthing_scripts/validate/adapters/skill_command.py +200 -0
  377. package/pennyfarthing_scripts/validate/adapters/workflow.py +64 -0
  378. package/pennyfarthing_scripts/validate/cli.py +15 -4
  379. package/packages/core/dist/scripts/benchmark-integration.d.ts +0 -182
  380. package/packages/core/dist/scripts/benchmark-integration.d.ts.map +0 -1
  381. package/packages/core/dist/scripts/benchmark-integration.js +0 -691
  382. package/packages/core/dist/scripts/benchmark-integration.js.map +0 -1
  383. package/packages/core/dist/scripts/job-fair-aggregator.d.ts +0 -150
  384. package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
  385. package/packages/core/dist/scripts/job-fair-aggregator.js +0 -547
  386. package/packages/core/dist/scripts/job-fair-aggregator.js.map +0 -1
  387. package/pennyfarthing-dist/agents/handoff.md +0 -250
  388. package/pennyfarthing-dist/agents/sm-handoff.md +0 -152
  389. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -112
  390. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  391. package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  392. package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
  393. package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
  394. package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
  395. package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
  396. package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
  397. package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
  398. package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
  399. package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
  400. package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
  401. package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
@@ -0,0 +1,67 @@
1
+ ---
2
+ description: Epic lifecycle - start epics for development and close completed epics
3
+ args: "[start|close] <epic-id>"
4
+ ---
5
+
6
+ # Epic Management
7
+
8
+ <purpose>
9
+ Manage epic lifecycle. Start an epic by moving it to the current sprint and generating tech context. Close an epic by verifying completion, updating status, and archiving context.
10
+ </purpose>
11
+
12
+ ## Commands
13
+
14
+ ### `/pf-epic start <epic-id>`
15
+
16
+ Start an epic — move to current sprint and generate technical context.
17
+
18
+ ```bash
19
+ pf epic start 79
20
+ pf epic start epic-79
21
+ ```
22
+
23
+ <workflow>
24
+ 1. Parse epic ID (strip `epic-` prefix if present)
25
+ 2. Check epic location (current sprint or backlog)
26
+ 3. Move to current sprint if needed, set status to `in-progress`
27
+ 4. Invoke SM agent for `epic-tech-context` task
28
+ 5. Generate tech context to `sprint/context/context-epic-{N}.md`
29
+ </workflow>
30
+
31
+ ### `/pf-epic close <epic-id>`
32
+
33
+ Close an epic — verify completion, update status, and archive context.
34
+
35
+ ```bash
36
+ pf epic close 79
37
+ pf epic close epic-79
38
+ ```
39
+
40
+ <workflow>
41
+ 1. Parse epic ID
42
+ 2. Verify all stories have `status: done`
43
+ 3. Update epic: `status: done`, calculate `completed_points`
44
+ 4. Recalculate sprint summary totals
45
+ 5. Transition Jira epic to Done (if jira key exists)
46
+ 6. Archive context file to `sprint/archive/`
47
+ 7. Commit and push sprint changes
48
+ </workflow>
49
+
50
+ ## Quick Reference
51
+
52
+ | Command | Description |
53
+ |---------|-------------|
54
+ | `/pf-epic start <id>` | Start epic for development |
55
+ | `/pf-epic close <id>` | Close completed epic |
56
+
57
+ ## CLI Equivalent
58
+
59
+ ```bash
60
+ pf epic start <epic-id>
61
+ pf epic close <epic-id>
62
+ ```
63
+
64
+ ## Related
65
+
66
+ - `/pf-sprint` — Sprint management
67
+ - `/sm` — Scrum Master for epic tech context
@@ -1,57 +1,16 @@
1
1
  ---
2
- description: Clean up git repos by organizing changes into proper commits/branches by initiative
3
- workflow: git-cleanup
2
+ deprecated: true
3
+ redirect: pf-git
4
+ description: "DEPRECATED: Use /pf-git cleanup instead."
4
5
  ---
5
6
 
6
- # Git Cleanup Command
7
+ # /git-cleanup - DEPRECATED
7
8
 
8
- Organize uncommitted changes into proper commits and branches across **all configured repos**.
9
+ Git commands have been consolidated into `/pf-git`. Use:
9
10
 
10
- ## Quick Start
11
-
12
- Run `/git-cleanup` to start the stepped workflow.
13
-
14
- ## Multi-Repo Support
15
-
16
- This workflow handles multiple repos defined in `.claude/project/pennyfarthing-settings.yaml`.
17
-
18
- **CRITICAL:** Always use the multi-repo status script, not plain `git status`:
19
-
20
- ```bash
21
- .pennyfarthing/scripts/git/git-status-all.sh
22
- ```
23
-
24
- For operations in a specific repo, use `git -C {repo_path}`:
25
-
26
- ```bash
27
- git -C pennyfarthing status --short
28
- git -C pennyfarthing diff
29
- ```
30
-
31
- ## Workflow Steps
32
-
33
- | Step | Name | Purpose |
34
- |------|------|---------|
35
- | 1 | Analyze | Gather status from ALL repos |
36
- | 2 | Categorize | Group changes by initiative (may span repos) |
37
- | 3 | Execute | Create branches, commit, merge in each repo |
38
- | 4 | Verify | Confirm clean state across all repos |
39
- | 5 | Complete | Push and summary |
40
-
41
- ## Critical Rules
42
-
43
- - **NEVER** commit directly to develop (use branches)
44
- - **NEVER** force push
45
- - **ALWAYS** use `git -C {repo_path}` for subrepo operations
46
- - **ALWAYS** check ALL repos, not just the orchestrator
47
-
48
- ## Commit Types
49
-
50
- | Prefix | Use For |
51
- |--------|---------|
52
- | `feat:` | New features |
53
- | `fix:` | Bug fixes |
54
- | `chore:` | Maintenance |
55
- | `docs:` | Documentation |
56
- | `refactor:` | Code improvement |
57
- | `test:` | Test changes |
11
+ | Old Command | New Command |
12
+ |-------------|-------------|
13
+ | `/repo-status` | `/pf-git status` |
14
+ | `/git-cleanup` | `/pf-git cleanup` |
15
+ | `/create-branches-from-story` | `/pf-git branches` |
16
+ | `/release` | `/pf-git release` |
@@ -0,0 +1,75 @@
1
+ ---
2
+ description: Repository operations - status, cleanup, branches, and release management
3
+ args: "[status|cleanup|branches|release] [args...]"
4
+ ---
5
+
6
+ # Git Operations
7
+
8
+ <purpose>
9
+ Manage git operations across all configured repos. Consolidates repository status, git cleanup, branch creation, and release management into a single resource group.
10
+ </purpose>
11
+
12
+ ## Commands
13
+
14
+ ### `/pf-git status`
15
+
16
+ Check git status of all project repos.
17
+
18
+ ```bash
19
+ pf git status [--brief]
20
+ ```
21
+
22
+ Shows branch, uncommitted changes, and ahead/behind status for each configured repo.
23
+
24
+ ### `/pf-git cleanup`
25
+
26
+ Organize uncommitted changes into proper commits and branches.
27
+
28
+ ```bash
29
+ pf git cleanup
30
+ ```
31
+
32
+ Starts the git-cleanup stepped workflow via BikeLane. Handles multiple repos.
33
+
34
+ ### `/pf-git branches <story-id>`
35
+
36
+ Create feature branches in both repos from a story.
37
+
38
+ ```bash
39
+ pf git branches 86-3
40
+ ```
41
+
42
+ ### `/pf-git release`
43
+
44
+ Interactive release with verification gates.
45
+
46
+ ```bash
47
+ pf git release
48
+ ```
49
+
50
+ Starts the release stepped workflow — an 11-step process with gates at each stage.
51
+
52
+ ## Quick Reference
53
+
54
+ | Command | Description |
55
+ |---------|-------------|
56
+ | `/pf-git status` | Check all repo status |
57
+ | `/pf-git cleanup` | Organize changes into commits/branches |
58
+ | `/pf-git branches <id>` | Create feature branches from story |
59
+ | `/pf-git release` | Interactive release workflow |
60
+
61
+ ## CLI Equivalent
62
+
63
+ All commands are also available via `pf git`:
64
+
65
+ ```bash
66
+ pf git status
67
+ pf git cleanup
68
+ pf git branches 86-3
69
+ pf git release
70
+ ```
71
+
72
+ ## Related
73
+
74
+ - `/pf-chore` — Quick commit for small changes
75
+ - `/pf-standalone` — Wrap changes into standalone story + PR
@@ -7,23 +7,15 @@ Get help with Pennyfarthing commands, agents, themes, and workflows.
7
7
  Provides quick-start guidance for new users and context-aware suggestions based on current work state.
8
8
  </purpose>
9
9
 
10
- <when-to-use>
11
- - New to Pennyfarthing and need orientation
12
- - Looking for a specific command or agent
13
- - Want to understand the TDD workflow
14
- - Need to check available themes
15
- - Forgot what command to use next
16
- </when-to-use>
17
-
18
10
  <quick-start>
19
11
 
20
12
  ## New to Pennyfarthing?
21
13
 
22
14
  Start here:
23
15
 
24
- 1. **`/work`** - Smart entry point (resumes existing work or starts new)
25
- 2. **`/new-work`** - Start a fresh work session from backlog
26
- 3. **`/health-check`** - Verify your installation is working
16
+ 1. **`/pf-work`** - Smart entry point (resumes existing work or starts new)
17
+ 2. **`/pf-session new`** - Start a fresh work session from backlog
18
+ 3. **`/pf-health-check`** - Verify your installation is working
27
19
 
28
20
  ### First Time Setup
29
21
 
@@ -52,120 +44,127 @@ SM → TEA → Dev → Reviewer → SM (finish)
52
44
  | Review | Reviewer | `/reviewer` | Code review, quality enforcement |
53
45
  | Finish | SM | `/sm` | Merge PR, archive session |
54
46
 
55
- ### Workflow Commands
56
-
57
- | Command | Description |
58
- |---------|-------------|
59
- | `/new-work` | Start a new work session with Pennyfarthing |
60
- | `/work` | Resume work or start new - smart entry point |
61
- | `/sm` | Scrum Master - Story coordination and sprint management |
62
- | `/tea` | Test Engineer/Architect - Test strategy and TDD |
63
- | `/dev` | Developer - Feature implementation and coding |
64
- | `/reviewer` | Code Reviewer - Critical code review and quality enforcement |
65
- | `/check` | Run quality gates (lint, type check, tests) before handoff |
66
-
67
47
  </workflow>
68
48
 
69
- <agents>
70
-
71
- ## All Agents (24)
72
-
73
- ### TDD Workflow Agents
74
-
75
- | Agent | Command | Role |
76
- |-------|---------|------|
77
- | SM | `/sm` | Scrum Master - Story coordination, sprint management, workflow entry/exit |
78
- | TEA | `/tea` | Test Engineer - Test strategy, TDD design, RED phase |
79
- | Dev | `/dev` | Developer - Implementation, feature shipping, GREEN phase |
80
- | Reviewer | `/reviewer` | Code Reviewer - Quality enforcement, adversarial review |
49
+ <commands>
81
50
 
82
- ### Specialist Agents
51
+ ## Resource Groups
83
52
 
84
- | Agent | Command | Role |
85
- |-------|---------|------|
86
- | Architect | `/architect` | System Architect - Technical design and architecture |
87
- | PM | `/pm` | Product Manager - Strategic planning and prioritization |
88
- | DevOps | `/devops` | DevOps Engineer - Infrastructure and deployment automation |
89
- | Tech-Writer | `/tech-writer` | Technical Writer - Documentation creation and maintenance |
90
- | UX-Designer | `/ux-designer` | UX Designer - User experience design and UI patterns |
91
- | Orchestrator | `/orchestrator` | Orchestrator - Coordinator of all agents and meta operations |
53
+ Commands are organized by resource. Each group is accessible via both slash commands and CLI.
92
54
 
93
- </agents>
55
+ ### Sprint — `/pf-sprint` · `pf sprint`
94
56
 
95
- <commands>
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | `/pf-sprint` | Show sprint status |
60
+ | `/pf-sprint backlog` | Available stories |
61
+ | `/pf-sprint work [id\|next]` | Start work on a story |
62
+ | `/pf-sprint archive <id>` | Archive completed story |
63
+ | `/pf-sprint plan` | Sprint planning session |
64
+ | `/pf-sprint sync` | Sync work with sprint |
65
+ | `/pf-sprint story [show\|add\|update\|size\|finish]` | Story operations |
66
+ | `/pf-sprint epic [show\|add\|promote\|archive]` | Epic operations |
96
67
 
97
- ## All Commands (43)
68
+ ### Git `/pf-git` · `pf git`
98
69
 
99
- ### TDD Workflow (7)
100
70
  | Command | Description |
101
71
  |---------|-------------|
102
- | `/new-work` | Start a new work session with Pennyfarthing |
103
- | `/work` | Resume work or start new - smart entry point |
104
- | `/sm` | Scrum Master - Story coordination and sprint management |
105
- | `/tea` | Test Engineer/Architect - Test strategy and TDD |
106
- | `/dev` | Developer - Feature implementation and coding |
107
- | `/reviewer` | Code Reviewer - Critical code review and quality enforcement |
108
- | `/check` | Run quality gates (lint, type check, tests) before handoff |
109
-
110
- ### Specialist Agents (6)
72
+ | `/pf-git status` | Check all repo status |
73
+ | `/pf-git cleanup` | Organize changes into commits/branches |
74
+ | `/pf-git branches <id>` | Create feature branches from story |
75
+ | `/pf-git release` | Interactive release workflow |
76
+
77
+ ### Session `/pf-session` · `pf session`
78
+
111
79
  | Command | Description |
112
80
  |---------|-------------|
113
- | `/architect` | System Architect - Technical design and architecture |
114
- | `/pm` | Product Manager - Strategic planning and prioritization |
115
- | `/devops` | DevOps Engineer - Infrastructure and deployment automation |
116
- | `/tech-writer` | Technical Writer - Documentation creation and maintenance |
117
- | `/ux-designer` | UX Designer - User experience design and UI patterns |
118
- | `/orchestrator` | Orchestrator - Coordinator of all agents and meta operations |
119
-
120
- ### Sprint & Planning (5)
81
+ | `/pf-session new` | Start next available story |
82
+ | `/pf-session continue` | Resume from checkpoint |
83
+
84
+ ### Epic — `/pf-epic` · `pf epic`
85
+
121
86
  | Command | Description |
122
87
  |---------|-------------|
123
- | `/sprint-planning` | Facilitate sprint planning session |
124
- | `/start-epic` | Start an epic - move to current sprint and generate tech context |
125
- | `/retro` | Facilitate a sprint retrospective |
126
- | `/sync-work-with-sprint` | Sync Pennyfarthing work session with unified sprint status |
127
- | `/sync-epic-to-jira` | Sync Pennyfarthing epic to Jira MSSCI project |
88
+ | `/pf-epic start <id>` | Start epic for development |
89
+ | `/pf-epic close <id>` | Close completed epic |
90
+
91
+ ### Jira — `/pf-jira` · `pf jira`
128
92
 
129
- ### Context & Loading (2)
130
93
  | Command | Description |
131
94
  |---------|-------------|
132
- | `/prime` | Load essential project context at agent activation |
133
- | `/health-check` | Check Pennyfarthing installation health and apply updates |
95
+ | `/pf-jira view <key>` | View issue details |
96
+ | `/pf-jira claim <key>` | Claim issue |
97
+ | `/pf-jira sync <epic-id>` | Sync YAML to Jira |
98
+ | `/pf-jira sync-epic` | Sync epic to Jira |
99
+ | `/pf-jira reconcile` | Report mismatches |
100
+
101
+ ### Theme — `/pf-theme` · `pf theme`
134
102
 
135
- ### Theme Management (1)
136
103
  | Command | Description |
137
104
  |---------|-------------|
138
- | `/theme [list\|show\|set\|create\|maker]` | Manage persona themes — list, show, set, create, or interactive wizard |
105
+ | `/pf-theme list` | List all themes |
106
+ | `/pf-theme show [name]` | Show theme details |
107
+ | `/pf-theme set <name>` | Set active theme |
108
+ | `/pf-theme create <name>` | Create custom theme |
109
+ | `/pf-theme maker` | Interactive theme wizard |
110
+
111
+ ### Workflow — `/pf-workflow` · `pf workflow`
139
112
 
140
- ### Creative & Brainstorm (4)
141
113
  | Command | Description |
142
114
  |---------|-------------|
143
- | `/party-mode` | Free-form creative brainstorming with all agents |
144
- | `/brainstorm` | Structured problem-solving brainstorm session |
145
- | `/job-fair` | Discover which characters in a theme excel at each role |
146
- | `/solo` | Run a single agent on a scenario with absolute rubric scoring |
115
+ | `/pf-workflow` | List available workflows |
116
+ | `/pf-workflow show` | Current workflow details |
117
+ | `/pf-workflow start <name>` | Start stepped workflow |
118
+ | `/pf-workflow resume` | Resume workflow |
119
+
120
+ ## Agents (11)
121
+
122
+ | Agent | Command | Role |
123
+ |-------|---------|------|
124
+ | SM | `/sm` | Scrum Master — Story coordination, sprint management |
125
+ | TEA | `/tea` | Test Engineer — Test strategy, TDD design |
126
+ | Dev | `/dev` | Developer — Implementation, feature shipping |
127
+ | Reviewer | `/reviewer` | Code Reviewer — Quality enforcement |
128
+ | Architect | `/architect` | System Architect — Technical design |
129
+ | PM | `/pm` | Product Manager — Strategic planning |
130
+ | DevOps | `/devops` | DevOps — Infrastructure and deployment |
131
+ | Tech-Writer | `/tech-writer` | Technical Writer — Documentation |
132
+ | UX-Designer | `/ux-designer` | UX Designer — User experience |
133
+ | Orchestrator | `/orchestrator` | Orchestrator — Multi-agent coordination |
134
+ | BA | `/ba` | Business Analyst — Requirements discovery |
135
+
136
+ ## Utilities
147
137
 
148
- ### Benchmarking (2)
149
138
  | Command | Description |
150
139
  |---------|-------------|
151
- | `/benchmark` | Compare an agent's performance against a stored baseline |
152
- | `/benchmark-control` | Create control baseline for a scenario |
140
+ | `/pf-work` | Smart entry point resume or start new |
141
+ | `/pf-check` | Run quality gates before handoff |
142
+ | `/pf-prime` | Load project context at agent activation |
143
+ | `/pf-health-check` | Check installation health |
144
+ | `/pf-setup` | First-time project setup |
145
+ | `/pf-chore` | Quick commit for small changes |
146
+ | `/pf-patch` | Bug fix during active story work |
147
+ | `/pf-standalone` | Wrap changes into standalone story |
148
+ | `/pf-ci run` | Detect and run CI locally |
149
+ | `/pf-docs update` | Update domain documentation |
150
+ | `/pf-permissions` | Manage runtime permissions |
151
+
152
+ ## Benchmarking
153
153
 
154
- ### Git & Repository (4)
155
154
  | Command | Description |
156
155
  |---------|-------------|
157
- | `/repo-status` | Check git status of all project repos |
158
- | `/git-cleanup` | Clean up git repos by organizing changes into commits/branches |
159
- | `/create-branches-from-story` | Create feature branches in both repos from a story |
160
- | `/release` | Merge develop to main and push (optional version bump) |
156
+ | `/pf-benchmark` | Compare performance against baseline |
157
+ | `/pf-benchmark-control` | Create control baseline |
158
+ | `/pf-job-fair` | Discover best characters per role |
159
+ | `/pf-solo` | Single agent rubric scoring |
160
+
161
+ ## Creative
161
162
 
162
- ### Utility (4)
163
163
  | Command | Description |
164
164
  |---------|-------------|
165
- | `/continue-session` | Resume work from a saved checkpoint after context circuit breaker |
166
- | `/parallel-work` | Start parallel work in a new worktree |
167
- | `/update-domain-docs` | Update CLAUDE-*.md domain documentation files |
168
- | `/help` | This help command |
165
+ | `/pf-party-mode` | Creative brainstorming with all agents |
166
+ | `/pf-brainstorming` | Structured problem-solving session |
167
+ | `/pf-retro` | Sprint retrospective |
169
168
 
170
169
  </commands>
171
170
 
@@ -188,24 +187,7 @@ Pennyfarthing agents adopt personas from themed character sets. There are **102
188
187
  | `breaking-bad` | Breaking Bad characters |
189
188
  | `battlestar-galactica` | Battlestar Galactica characters |
190
189
 
191
- Run `/theme list` to see all 102 available themes.
192
-
193
- ### Theme Commands
194
-
195
- | Command | Description |
196
- |---------|-------------|
197
- | `/theme list` | See all available themes |
198
- | `/theme show [name]` | View current theme with character mappings |
199
- | `/theme set <name>` | Change to a different theme |
200
- | `/theme create <name>` | Create a custom theme |
201
- | `/theme maker` | Interactive theme creation wizard |
202
-
203
- ### Current Theme
204
-
205
- Check your current theme:
206
- ```bash
207
- cat .pennyfarthing/config.local.yaml
208
- ```
190
+ Run `/pf-theme list` to see all 102 available themes.
209
191
 
210
192
  </themes>
211
193
 
@@ -216,11 +198,11 @@ cat .pennyfarthing/config.local.yaml
216
198
  Based on your current state, here's what you might need:
217
199
 
218
200
  ### No Active Session
219
- - Use `/work` or `/new-work` to begin
220
- - Check `/health-check` if first time
201
+ - Use `/pf-work` or `/pf-session new` to begin
202
+ - Check `/pf-health-check` if first time
221
203
 
222
204
  ### In Dev Phase
223
- - Run `/check` before handoff
205
+ - Run `/pf-check` before handoff
224
206
  - Then `/reviewer` for code review
225
207
 
226
208
  ### In Review Phase
@@ -228,13 +210,24 @@ Based on your current state, here's what you might need:
228
210
  - Then `/sm` to finish the story
229
211
 
230
212
  ### Between Stories
231
- - `/work` to pick up next story
232
- - `/sprint-planning` for planning session
213
+ - `/pf-work` to pick up next story
214
+ - `/pf-sprint plan` for planning session
233
215
 
234
216
  </context-aware>
235
217
 
236
218
  <reference>
237
219
 
220
+ ## CLI Help
221
+
222
+ For detailed help on any command group:
223
+ ```bash
224
+ pf help # Overview of all groups
225
+ pf help sprint # Sprint commands
226
+ pf help git # Git commands
227
+ pf help session # Session commands
228
+ pf help epic # Epic commands
229
+ ```
230
+
238
231
  ## Documentation
239
232
 
240
233
  - **Project Setup:** `CLAUDE.md`
@@ -242,19 +235,8 @@ Based on your current state, here's what you might need:
242
235
  - **Active Session:** `.session/*-session.md`
243
236
  - **Agent Definitions:** `pennyfarthing-dist/agents/*.md`
244
237
  - **Command Definitions:** `pennyfarthing-dist/commands/*.md`
238
+ - **Command Registry:** `pennyfarthing-dist/command-registry.yaml`
245
239
  - **Theme Files:** `pennyfarthing-dist/personas/themes/*.yaml`
246
240
  - **Guides:** `.pennyfarthing/guides/*.md`
247
241
 
248
- ## Getting More Help
249
-
250
- For detailed help on a specific command, read its definition file:
251
- ```bash
252
- cat pennyfarthing-dist/commands/<command-name>.md
253
- ```
254
-
255
- For agent documentation:
256
- ```bash
257
- cat pennyfarthing-dist/agents/<agent-name>.md
258
- ```
259
-
260
242
  </reference>
@@ -0,0 +1,102 @@
1
+ ---
2
+ description: Discover which characters in a theme excel at each role
3
+ argument-hint: <theme> [--runs N] [--roles <list>]
4
+ ---
5
+
6
+ # Job Fair
7
+
8
+ Run every character in a theme against benchmarks to find hidden talents.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /job-fair <theme>
14
+ /job-fair <theme> --runs 2
15
+ /job-fair <theme> --roles dev,reviewer
16
+ ```
17
+
18
+ ## On Invoke
19
+
20
+ **Arguments:** $ARGUMENTS
21
+
22
+ ### Step 1: Parse and Validate
23
+
24
+ ```bash
25
+ # Theme is first positional arg (strip any --flags)
26
+ THEME=$(echo "$ARGUMENTS" | awk '{print $1}' | sed 's/^--theme[= ]//')
27
+
28
+ # Check theme exists
29
+ ls pennyfarthing-dist/personas/themes/${THEME}.yaml
30
+ ```
31
+
32
+ If not found, list available themes and stop.
33
+
34
+ Extract `--runs N` (default: 4) and `--roles x,y` (default: all with baselines).
35
+
36
+ ### Step 2: Load Characters
37
+
38
+ Read `pennyfarthing-dist/personas/themes/${THEME}.yaml` and list agents:
39
+
40
+ | Role | Character |
41
+ |------|-----------|
42
+ | sm | {agents.sm.character} |
43
+ | dev | {agents.dev.character} |
44
+ | ... | ... |
45
+
46
+ ### Step 3: Find Baselines
47
+
48
+ Pick ONE scenario per role from `internal/results/baselines/`:
49
+
50
+ ```bash
51
+ # For each role, find first available baseline
52
+ for role in dev reviewer tea sm architect; do
53
+ baseline=$(ls -d internal/results/baselines/*/${role} 2>/dev/null | head -1)
54
+ if [ -n "$baseline" ]; then
55
+ scenario=$(basename $(dirname "$baseline"))
56
+ summary="$baseline/summary.yaml"
57
+ # Read statistics.mean and statistics.n from summary.yaml
58
+ fi
59
+ done
60
+ ```
61
+
62
+ Show table:
63
+
64
+ | Role | Scenario | Baseline | n |
65
+ |------|----------|----------|---|
66
+ | dev | race-condition-cache | 76.8 | 10 |
67
+
68
+ ### Step 4: Confirm
69
+
70
+ Show: `{characters} × {roles} × {runs} = {total} runs`
71
+
72
+ Ask user to confirm or cancel.
73
+
74
+ ### Step 5: Execute
75
+
76
+ For each role, for each character:
77
+
78
+ ```bash
79
+ # Native role
80
+ scripts/solo-runner.sh "${THEME}:${role}" "${scenario}" ${runs}
81
+
82
+ # Cross-role (character playing different role)
83
+ scripts/solo-runner.sh "${THEME}:${native_role}" "${scenario}" ${runs} --as ${target_role}
84
+ ```
85
+
86
+ Show progress as each completes.
87
+
88
+ ### Step 6: Report Results
89
+
90
+ Show champions per role and full matrix:
91
+
92
+ | Character | dev | reviewer | tea | sm | Avg |
93
+ |-----------|-----|----------|-----|-----|-----|
94
+ | ... | ... | ... | ... | ... | ... |
95
+
96
+ Save to `internal/results/job-fair/${THEME}-${timestamp}/summary.yaml`
97
+
98
+ ## Reference
99
+
100
+ - Theme files: `pennyfarthing-dist/personas/themes/*.yaml`
101
+ - Baselines: `internal/results/baselines/{scenario}/{role}/summary.yaml`
102
+ - Solo runner: `scripts/solo-runner.sh`
@@ -1,23 +1,14 @@
1
1
  ---
2
- description: Start the next available story from the sprint backlog
2
+ deprecated: true
3
+ redirect: pf-session
4
+ description: "DEPRECATED: Use /pf-session new instead."
3
5
  ---
4
6
 
5
- # New Work
7
+ # /new-work - DEPRECATED
6
8
 
7
- <purpose>
8
- Shortcut to start the highest priority available story. Alias for `/pf-sprint work next`.
9
- </purpose>
9
+ Session commands have been consolidated into `/pf-session`. Use:
10
10
 
11
- <on-invoke>
12
- Invoke the sprint work command with "next" to auto-select the highest priority story:
13
-
14
- ```
15
- /pf-sprint work next
16
- ```
17
- </on-invoke>
18
-
19
- <related>
20
- - `/pf-sprint work` - Interactive story selection
21
- - `/pf-sprint backlog` - View available stories
22
- - `/work` - Resume existing work or start new
23
- </related>
11
+ | Old Command | New Command |
12
+ |-------------|-------------|
13
+ | `/new-work` | `/pf-session new` |
14
+ | `/continue-session` | `/pf-session continue` |