@pennyfarthing/core 10.0.1 → 10.0.2

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 (492) hide show
  1. package/package.json +13 -3
  2. package/pennyfarthing-dist/agents/README.md +348 -0
  3. package/pennyfarthing-dist/agents/architect.md +180 -0
  4. package/pennyfarthing-dist/agents/dev.md +169 -0
  5. package/pennyfarthing-dist/agents/devops.md +203 -0
  6. package/pennyfarthing-dist/agents/handoff.md +235 -0
  7. package/pennyfarthing-dist/agents/orchestrator.md +182 -0
  8. package/pennyfarthing-dist/agents/pm.md +152 -0
  9. package/pennyfarthing-dist/agents/reviewer-preflight.md +129 -0
  10. package/pennyfarthing-dist/agents/reviewer.md +197 -0
  11. package/pennyfarthing-dist/agents/sm-file-summary.md +79 -0
  12. package/pennyfarthing-dist/agents/sm-finish.md +82 -0
  13. package/pennyfarthing-dist/agents/sm-handoff.md +129 -0
  14. package/pennyfarthing-dist/agents/sm-setup.md +251 -0
  15. package/pennyfarthing-dist/agents/sm.md +298 -0
  16. package/pennyfarthing-dist/agents/tea.md +161 -0
  17. package/pennyfarthing-dist/agents/tech-writer.md +226 -0
  18. package/pennyfarthing-dist/agents/testing-runner.md +184 -0
  19. package/pennyfarthing-dist/agents/ux-designer.md +236 -0
  20. package/pennyfarthing-dist/agents/workflow-status-check.md +96 -0
  21. package/pennyfarthing-dist/commands/architect.md +9 -0
  22. package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
  23. package/pennyfarthing-dist/commands/benchmark.md +485 -0
  24. package/pennyfarthing-dist/commands/brainstorming.md +91 -0
  25. package/pennyfarthing-dist/commands/check.md +156 -0
  26. package/pennyfarthing-dist/commands/chore.md +218 -0
  27. package/pennyfarthing-dist/commands/close-epic.md +139 -0
  28. package/pennyfarthing-dist/commands/continue-session.md +218 -0
  29. package/pennyfarthing-dist/commands/create-branches-from-story.md +358 -0
  30. package/pennyfarthing-dist/commands/create-theme.md +29 -0
  31. package/pennyfarthing-dist/commands/dev.md +9 -0
  32. package/pennyfarthing-dist/commands/devops.md +9 -0
  33. package/pennyfarthing-dist/commands/fix-blocker.md +22 -0
  34. package/pennyfarthing-dist/commands/git-cleanup.md +57 -0
  35. package/pennyfarthing-dist/commands/health-check.md +143 -0
  36. package/pennyfarthing-dist/commands/help.md +264 -0
  37. package/pennyfarthing-dist/commands/job-fair.md +102 -0
  38. package/pennyfarthing-dist/commands/list-themes.md +21 -0
  39. package/pennyfarthing-dist/commands/new-work.md +23 -0
  40. package/pennyfarthing-dist/commands/orchestrator.md +9 -0
  41. package/pennyfarthing-dist/commands/parallel-work.md +73 -0
  42. package/pennyfarthing-dist/commands/party-mode.md +77 -0
  43. package/pennyfarthing-dist/commands/patch.md +210 -0
  44. package/pennyfarthing-dist/commands/permissions.md +193 -0
  45. package/pennyfarthing-dist/commands/pm.md +9 -0
  46. package/pennyfarthing-dist/commands/prime.md +136 -0
  47. package/pennyfarthing-dist/commands/release.md +74 -0
  48. package/pennyfarthing-dist/commands/repo-status.md +49 -0
  49. package/pennyfarthing-dist/commands/retro.md +200 -0
  50. package/pennyfarthing-dist/commands/reviewer.md +9 -0
  51. package/pennyfarthing-dist/commands/run-ci.md +116 -0
  52. package/pennyfarthing-dist/commands/set-theme.md +56 -0
  53. package/pennyfarthing-dist/commands/setup.md +65 -0
  54. package/pennyfarthing-dist/commands/show-theme.md +21 -0
  55. package/pennyfarthing-dist/commands/sm.md +9 -0
  56. package/pennyfarthing-dist/commands/solo.md +447 -0
  57. package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
  58. package/pennyfarthing-dist/commands/sprint.md +142 -0
  59. package/pennyfarthing-dist/commands/standalone.md +194 -0
  60. package/pennyfarthing-dist/commands/start-epic.md +168 -0
  61. package/pennyfarthing-dist/commands/sync-epic-to-jira.md +184 -0
  62. package/pennyfarthing-dist/commands/sync-work-with-sprint.md +373 -0
  63. package/pennyfarthing-dist/commands/tea.md +9 -0
  64. package/pennyfarthing-dist/commands/tech-writer.md +9 -0
  65. package/pennyfarthing-dist/commands/theme-maker.md +676 -0
  66. package/pennyfarthing-dist/commands/update-domain-docs.md +83 -0
  67. package/pennyfarthing-dist/commands/ux-designer.md +9 -0
  68. package/pennyfarthing-dist/commands/work.md +25 -0
  69. package/pennyfarthing-dist/commands/workflow.md +21 -0
  70. package/pennyfarthing-dist/guides/agent-behavior.md +92 -0
  71. package/pennyfarthing-dist/guides/agent-coordination.md +475 -0
  72. package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +432 -0
  73. package/pennyfarthing-dist/guides/agent-template-strategic.md +148 -0
  74. package/pennyfarthing-dist/guides/agent-template-tactical.md +162 -0
  75. package/pennyfarthing-dist/guides/hooks.md +230 -0
  76. package/pennyfarthing-dist/guides/measurement-framework.md +210 -0
  77. package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +766 -0
  78. package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +574 -0
  79. package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +488 -0
  80. package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +402 -0
  81. package/pennyfarthing-dist/guides/permission-protocol.md +188 -0
  82. package/pennyfarthing-dist/guides/persona-loading.md +46 -0
  83. package/pennyfarthing-dist/guides/prompt-patterns.md +338 -0
  84. package/pennyfarthing-dist/guides/scale-levels.md +114 -0
  85. package/pennyfarthing-dist/guides/session-artifacts.md +193 -0
  86. package/pennyfarthing-dist/guides/session-schema.md +346 -0
  87. package/pennyfarthing-dist/guides/skill-schema.md +412 -0
  88. package/pennyfarthing-dist/guides/workflow-schema.md +257 -0
  89. package/pennyfarthing-dist/guides/workflow-step-schema.md +512 -0
  90. package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
  91. package/pennyfarthing-dist/guides/xml-tags.md +627 -0
  92. package/pennyfarthing-dist/output-styles/teaching.md +33 -0
  93. package/pennyfarthing-dist/output-styles/terse.md +20 -0
  94. package/pennyfarthing-dist/output-styles/verbose.md +28 -0
  95. package/pennyfarthing-dist/personas/themes/a-team.yaml +331 -0
  96. package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +324 -0
  97. package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +282 -0
  98. package/pennyfarthing-dist/personas/themes/blade-runner.yaml +289 -0
  99. package/pennyfarthing-dist/personas/themes/catch-22.yaml +304 -0
  100. package/pennyfarthing-dist/personas/themes/control.yaml +201 -0
  101. package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +315 -0
  102. package/pennyfarthing-dist/personas/themes/discworld.yaml +334 -0
  103. package/pennyfarthing-dist/personas/themes/doctor-who.yaml +284 -0
  104. package/pennyfarthing-dist/personas/themes/dune.yaml +301 -0
  105. package/pennyfarthing-dist/personas/themes/firefly.yaml +320 -0
  106. package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +284 -0
  107. package/pennyfarthing-dist/personas/themes/harry-potter.yaml +316 -0
  108. package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +323 -0
  109. package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +326 -0
  110. package/pennyfarthing-dist/personas/themes/mad-max.yaml +349 -0
  111. package/pennyfarthing-dist/personas/themes/mash.yaml +329 -0
  112. package/pennyfarthing-dist/personas/themes/princess-bride.yaml +344 -0
  113. package/pennyfarthing-dist/personas/themes/sandman.yaml +282 -0
  114. package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +358 -0
  115. package/pennyfarthing-dist/personas/themes/star-wars.yaml +297 -0
  116. package/pennyfarthing-dist/personas/themes/the-expanse.yaml +337 -0
  117. package/pennyfarthing-dist/personas/themes/the-matrix.yaml +342 -0
  118. package/pennyfarthing-dist/personas/themes/watchmen.yaml +285 -0
  119. package/pennyfarthing-dist/personas/themes/west-wing.yaml +285 -0
  120. package/pennyfarthing-dist/personas/themes/x-files.yaml +296 -0
  121. package/pennyfarthing-dist/scripts/README.md +87 -0
  122. package/pennyfarthing-dist/scripts/core/README.md +25 -0
  123. package/pennyfarthing-dist/scripts/core/agent-session.sh +390 -0
  124. package/pennyfarthing-dist/scripts/core/check-context.sh +194 -0
  125. package/pennyfarthing-dist/scripts/core/handoff-marker.sh +112 -0
  126. package/pennyfarthing-dist/scripts/core/phase-check-start.sh +90 -0
  127. package/pennyfarthing-dist/scripts/core/prime.sh +30 -0
  128. package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
  129. package/pennyfarthing-dist/scripts/git/README.md +25 -0
  130. package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +267 -0
  131. package/pennyfarthing-dist/scripts/git/git-status-all.sh +152 -0
  132. package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +79 -0
  133. package/pennyfarthing-dist/scripts/git/release.sh +246 -0
  134. package/pennyfarthing-dist/scripts/git/worktree-manager.sh +497 -0
  135. package/pennyfarthing-dist/scripts/health/drift-detection.sh +156 -0
  136. package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
  137. package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
  138. package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +106 -0
  139. package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +95 -0
  140. package/pennyfarthing-dist/scripts/hooks/context-warning.sh +65 -0
  141. package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +35 -0
  142. package/pennyfarthing-dist/scripts/hooks/post-merge.sh +150 -0
  143. package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +190 -0
  144. package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
  145. package/pennyfarthing-dist/scripts/hooks/pre-push.sh +42 -0
  146. package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +20 -0
  147. package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +499 -0
  148. package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +30 -0
  149. package/pennyfarthing-dist/scripts/hooks/session-start.sh +97 -0
  150. package/pennyfarthing-dist/scripts/hooks/session-stop.sh +65 -0
  151. package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +78 -0
  152. package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +94 -0
  153. package/pennyfarthing-dist/scripts/jira/README.md +36 -0
  154. package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +95 -0
  155. package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +91 -0
  156. package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +22 -0
  157. package/pennyfarthing-dist/scripts/jira/jira-lib.sh +464 -0
  158. package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +260 -0
  159. package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +18 -0
  160. package/pennyfarthing-dist/scripts/jira/jira-sync.sh +16 -0
  161. package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +16 -0
  162. package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +16 -0
  163. package/pennyfarthing-dist/scripts/lib/README.md +29 -0
  164. package/pennyfarthing-dist/scripts/lib/background-tasks.sh +177 -0
  165. package/pennyfarthing-dist/scripts/lib/checkpoint.sh +136 -0
  166. package/pennyfarthing-dist/scripts/lib/common.sh +212 -0
  167. package/pennyfarthing-dist/scripts/lib/file-lock.sh +269 -0
  168. package/pennyfarthing-dist/scripts/lib/find-root.sh +58 -0
  169. package/pennyfarthing-dist/scripts/lib/logging.sh +186 -0
  170. package/pennyfarthing-dist/scripts/lib/retry.sh +76 -0
  171. package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +102 -0
  172. package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +91 -0
  173. package/pennyfarthing-dist/scripts/misc/README.md +44 -0
  174. package/pennyfarthing-dist/scripts/misc/add-short-names.sh +13 -0
  175. package/pennyfarthing-dist/scripts/misc/add_short_names.py +226 -0
  176. package/pennyfarthing-dist/scripts/misc/backlog.sh +77 -0
  177. package/pennyfarthing-dist/scripts/misc/check-status.sh +247 -0
  178. package/pennyfarthing-dist/scripts/misc/find-related-work.sh +231 -0
  179. package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +107 -0
  180. package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +74 -0
  181. package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +10 -0
  182. package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +319 -0
  183. package/pennyfarthing-dist/scripts/misc/repo-scan.sh +141 -0
  184. package/pennyfarthing-dist/scripts/misc/repo-utils.sh +778 -0
  185. package/pennyfarthing-dist/scripts/misc/run-ci.sh +212 -0
  186. package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +7 -0
  187. package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +319 -0
  188. package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +193 -0
  189. package/pennyfarthing-dist/scripts/misc/statusline.sh +257 -0
  190. package/pennyfarthing-dist/scripts/misc/uninstall.sh +275 -0
  191. package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +160 -0
  192. package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +417 -0
  193. package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +54 -0
  194. package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
  195. package/pennyfarthing-dist/scripts/sprint/archive-story.sh +133 -0
  196. package/pennyfarthing-dist/scripts/sprint/available-stories.sh +91 -0
  197. package/pennyfarthing-dist/scripts/sprint/check-story.sh +158 -0
  198. package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +52 -0
  199. package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +63 -0
  200. package/pennyfarthing-dist/scripts/sprint/list-future.sh +145 -0
  201. package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +110 -0
  202. package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +148 -0
  203. package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +415 -0
  204. package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +33 -0
  205. package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +230 -0
  206. package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
  207. package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +139 -0
  208. package/pennyfarthing-dist/scripts/story/README.md +23 -0
  209. package/pennyfarthing-dist/scripts/story/create-story.sh +19 -0
  210. package/pennyfarthing-dist/scripts/story/size-story.sh +18 -0
  211. package/pennyfarthing-dist/scripts/story/story-template.sh +18 -0
  212. package/pennyfarthing-dist/scripts/test/README.md +23 -0
  213. package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +59 -0
  214. package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +220 -0
  215. package/pennyfarthing-dist/scripts/test/swebench-judge.py +374 -0
  216. package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
  217. package/pennyfarthing-dist/scripts/test/test-setup.sh +337 -0
  218. package/pennyfarthing-dist/scripts/tests/check.test.sh +582 -0
  219. package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +515 -0
  220. package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +599 -0
  221. package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +332 -0
  222. package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +573 -0
  223. package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +859 -0
  224. package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +662 -0
  225. package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +589 -0
  226. package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +106 -0
  227. package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +597 -0
  228. package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +514 -0
  229. package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +517 -0
  230. package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +331 -0
  231. package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +647 -0
  232. package/pennyfarthing-dist/scripts/theme/README.md +22 -0
  233. package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +13 -0
  234. package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +402 -0
  235. package/pennyfarthing-dist/scripts/theme/list-themes.sh +30 -0
  236. package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
  237. package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +576 -0
  238. package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
  239. package/pennyfarthing-dist/scripts/workflow/check.py +502 -0
  240. package/pennyfarthing-dist/scripts/workflow/check.sh +24 -0
  241. package/pennyfarthing-dist/scripts/workflow/complete-step.py +304 -0
  242. package/pennyfarthing-dist/scripts/workflow/finish-story.sh +154 -0
  243. package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +222 -0
  244. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +61 -0
  245. package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +13 -0
  246. package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +124 -0
  247. package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +34 -0
  248. package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +157 -0
  249. package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +132 -0
  250. package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +250 -0
  251. package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +161 -0
  252. package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +246 -0
  253. package/pennyfarthing-dist/skills/changelog/SKILL.md +385 -0
  254. package/pennyfarthing-dist/skills/code-review/SKILL.md +172 -0
  255. package/pennyfarthing-dist/skills/context-engineering/SKILL.md +277 -0
  256. package/pennyfarthing-dist/skills/cyclist/SKILL.md +88 -0
  257. package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +461 -0
  258. package/pennyfarthing-dist/skills/finalize-run/SKILL.md +261 -0
  259. package/pennyfarthing-dist/skills/jira/SKILL.md +508 -0
  260. package/pennyfarthing-dist/skills/judge/SKILL.md +644 -0
  261. package/pennyfarthing-dist/skills/just/SKILL.md +414 -0
  262. package/pennyfarthing-dist/skills/mermaid/SKILL.md +256 -0
  263. package/pennyfarthing-dist/skills/otel/skill.md +227 -0
  264. package/pennyfarthing-dist/skills/permissions/skill.md +157 -0
  265. package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +187 -0
  266. package/pennyfarthing-dist/skills/skill-registry.schema.json +107 -0
  267. package/pennyfarthing-dist/skills/skill-registry.yaml +393 -0
  268. package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +101 -0
  269. package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +97 -0
  270. package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +164 -0
  271. package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +101 -0
  272. package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +116 -0
  273. package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +164 -0
  274. package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +39 -0
  275. package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +147 -0
  276. package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +93 -0
  277. package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
  278. package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
  279. package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
  280. package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
  281. package/pennyfarthing-dist/skills/story/skill.md +219 -0
  282. package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +446 -0
  283. package/pennyfarthing-dist/skills/testing/SKILL.md +121 -0
  284. package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
  285. package/pennyfarthing-dist/skills/theme/skill.md +141 -0
  286. package/pennyfarthing-dist/skills/theme-creation/SKILL.md +178 -0
  287. package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +91 -0
  288. package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +163 -0
  289. package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +138 -0
  290. package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +273 -0
  291. package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +167 -0
  292. package/pennyfarthing-dist/skills/workflow/skill.md +345 -0
  293. package/pennyfarthing-dist/skills/yq/SKILL.md +272 -0
  294. package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +187 -0
  295. package/pennyfarthing-dist/templates/LEADERBOARD.template.md +59 -0
  296. package/pennyfarthing-dist/templates/agent-scopes.yaml.template +276 -0
  297. package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +61 -0
  298. package/pennyfarthing-dist/templates/persona-config.yaml.template +22 -0
  299. package/pennyfarthing-dist/templates/preferences.yaml.template +15 -0
  300. package/pennyfarthing-dist/templates/settings.local.json.template +130 -0
  301. package/pennyfarthing-dist/templates/setup-env.sh.template +18 -0
  302. package/pennyfarthing-dist/templates/shared-context.md.template +70 -0
  303. package/pennyfarthing-dist/templates/sidecar/decisions.md.template +40 -0
  304. package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +37 -0
  305. package/pennyfarthing-dist/templates/sidecar/patterns.md.template +34 -0
  306. package/pennyfarthing-dist/workflows/agent-docs.yaml +70 -0
  307. package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +113 -0
  308. package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +105 -0
  309. package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +127 -0
  310. package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +145 -0
  311. package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +150 -0
  312. package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +145 -0
  313. package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +154 -0
  314. package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +172 -0
  315. package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
  316. package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
  317. package/pennyfarthing-dist/workflows/bdd.yaml +60 -0
  318. package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +62 -0
  319. package/pennyfarthing-dist/workflows/brainstorming/checklist.md +44 -0
  320. package/pennyfarthing-dist/workflows/brainstorming/instructions.md +736 -0
  321. package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +49 -0
  322. package/pennyfarthing-dist/workflows/code-review/checklist.md +23 -0
  323. package/pennyfarthing-dist/workflows/code-review/instructions.md +234 -0
  324. package/pennyfarthing-dist/workflows/code-review/workflow.yaml +51 -0
  325. package/pennyfarthing-dist/workflows/dev-story/checklist.md +80 -0
  326. package/pennyfarthing-dist/workflows/dev-story/instructions.xml +410 -0
  327. package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +50 -0
  328. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +281 -0
  329. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +256 -0
  330. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +298 -0
  331. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +177 -0
  332. package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +145 -0
  333. package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
  334. package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +28 -0
  335. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +103 -0
  336. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +147 -0
  337. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +215 -0
  338. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +97 -0
  339. package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +78 -0
  340. package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -0
  341. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +211 -0
  342. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +199 -0
  343. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +202 -0
  344. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +162 -0
  345. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +280 -0
  346. package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +158 -0
  347. package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
  348. package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -0
  349. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-01-connect.md +257 -0
  350. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +107 -0
  351. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +127 -0
  352. package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +122 -0
  353. package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +51 -0
  354. package/pennyfarthing-dist/workflows/patch.yaml +67 -0
  355. package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
  356. package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
  357. package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
  358. package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +197 -0
  359. package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +159 -0
  360. package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +230 -0
  361. package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +232 -0
  362. package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +219 -0
  363. package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +213 -0
  364. package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +232 -0
  365. package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +243 -0
  366. package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +234 -0
  367. package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +237 -0
  368. package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +248 -0
  369. package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +223 -0
  370. package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +186 -0
  371. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +253 -0
  372. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +214 -0
  373. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +255 -0
  374. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +259 -0
  375. package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +174 -0
  376. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +224 -0
  377. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +197 -0
  378. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +215 -0
  379. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +180 -0
  380. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +220 -0
  381. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +234 -0
  382. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +223 -0
  383. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +211 -0
  384. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +249 -0
  385. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +269 -0
  386. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +215 -0
  387. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +270 -0
  388. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +248 -0
  389. package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +238 -0
  390. package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
  391. package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
  392. package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +195 -0
  393. package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +180 -0
  394. package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +221 -0
  395. package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +224 -0
  396. package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +228 -0
  397. package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +243 -0
  398. package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +216 -0
  399. package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
  400. package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
  401. package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
  402. package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +206 -0
  403. package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +349 -0
  404. package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +306 -0
  405. package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
  406. package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +157 -0
  407. package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +217 -0
  408. package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +159 -0
  409. package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +186 -0
  410. package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +185 -0
  411. package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +279 -0
  412. package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +200 -0
  413. package/pennyfarthing-dist/workflows/project-setup/steps/step-08-theme-packs.md +142 -0
  414. package/pennyfarthing-dist/workflows/project-setup/steps/step-09-cyclist.md +245 -0
  415. package/pennyfarthing-dist/workflows/project-setup/steps/step-10-complete.md +204 -0
  416. package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +41 -0
  417. package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +177 -0
  418. package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +143 -0
  419. package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +138 -0
  420. package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +135 -0
  421. package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +129 -0
  422. package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +163 -0
  423. package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
  424. package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +201 -0
  425. package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +156 -0
  426. package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +140 -0
  427. package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +203 -0
  428. package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
  429. package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
  430. package/pennyfarthing-dist/workflows/release/steps/step-01-preflight.md +105 -0
  431. package/pennyfarthing-dist/workflows/release/steps/step-02-bump.md +95 -0
  432. package/pennyfarthing-dist/workflows/release/steps/step-03-changelog.md +125 -0
  433. package/pennyfarthing-dist/workflows/release/steps/step-04-readme.md +101 -0
  434. package/pennyfarthing-dist/workflows/release/steps/step-05-claude-md.md +102 -0
  435. package/pennyfarthing-dist/workflows/release/steps/step-06-retro.md +59 -0
  436. package/pennyfarthing-dist/workflows/release/steps/step-07-commit.md +109 -0
  437. package/pennyfarthing-dist/workflows/release/steps/step-08-merge.md +65 -0
  438. package/pennyfarthing-dist/workflows/release/steps/step-09-push.md +75 -0
  439. package/pennyfarthing-dist/workflows/release/steps/step-10-publish.md +93 -0
  440. package/pennyfarthing-dist/workflows/release/steps/step-11-finalize.md +71 -0
  441. package/pennyfarthing-dist/workflows/release.yaml +62 -0
  442. package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +159 -0
  443. package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +253 -0
  444. package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +263 -0
  445. package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +232 -0
  446. package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +260 -0
  447. package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +477 -0
  448. package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +205 -0
  449. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +262 -0
  450. package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +227 -0
  451. package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +275 -0
  452. package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +286 -0
  453. package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +203 -0
  454. package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +510 -0
  455. package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +159 -0
  456. package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +264 -0
  457. package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +274 -0
  458. package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +228 -0
  459. package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +267 -0
  460. package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +522 -0
  461. package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
  462. package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
  463. package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
  464. package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
  465. package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
  466. package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
  467. package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
  468. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +69 -0
  469. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +61 -0
  470. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +80 -0
  471. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +90 -0
  472. package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +78 -0
  473. package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
  474. package/pennyfarthing-dist/workflows/tdd.yaml +50 -0
  475. package/pennyfarthing-dist/workflows/trivial.yaml +40 -0
  476. package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +141 -0
  477. package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +133 -0
  478. package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +196 -0
  479. package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +222 -0
  480. package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +225 -0
  481. package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +240 -0
  482. package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +258 -0
  483. package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +260 -0
  484. package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +230 -0
  485. package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +230 -0
  486. package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +247 -0
  487. package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +254 -0
  488. package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +243 -0
  489. package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +270 -0
  490. package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +234 -0
  491. package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
  492. package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pennyfarthing/core",
3
- "version": "10.0.1",
3
+ "version": "10.0.2",
4
4
  "description": "Claude Code agent framework with TDD workflow and persona system",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -30,7 +30,17 @@
30
30
  "types": "dist/index.d.ts",
31
31
  "files": [
32
32
  "dist/",
33
- "bin/"
33
+ "bin/",
34
+ "pennyfarthing-dist/agents/",
35
+ "pennyfarthing-dist/commands/",
36
+ "pennyfarthing-dist/guides/",
37
+ "pennyfarthing-dist/output-styles/",
38
+ "pennyfarthing-dist/personas/themes/",
39
+ "pennyfarthing-dist/scripts/",
40
+ "pennyfarthing-dist/skills/",
41
+ "pennyfarthing-dist/templates/",
42
+ "pennyfarthing-dist/workflows/",
43
+ "pennyfarthing_scripts/"
34
44
  ],
35
45
  "dependencies": {
36
46
  "chalk": "^5.3.0",
@@ -39,7 +49,7 @@
39
49
  "inquirer": "^9.2.12",
40
50
  "open": "^11.0.0",
41
51
  "yaml": "^2.3.4",
42
- "@pennyfarthing/shared": "^10.0.1"
52
+ "@pennyfarthing/shared": "^10.0.2"
43
53
  },
44
54
  "devDependencies": {
45
55
  "@types/fs-extra": "^11.0.4",
@@ -0,0 +1,348 @@
1
+ # Pennyfarthing Core Agents
2
+
3
+ ## Overview
4
+
5
+ This directory contains the **single source of truth** for all Pennyfarthing agent definitions. Agents are coordinated across both `API` and `UI` repositories.
6
+
7
+ **See:** `../ AGENT-COORDINATION.md` for complete architecture documentation.
8
+
9
+ ## Main Agents
10
+
11
+ | Agent | Role |
12
+ |-------|------|
13
+ | **SM** | Story coordination, session management |
14
+ | **TEA** | Test writing, TDD guidance |
15
+ | **Dev** | Feature implementation |
16
+ | **Reviewer** | Adversarial code review |
17
+ | **Orchestrator** | Process improvement, meta-ops |
18
+ | **PM** | Planning, prioritization |
19
+ | **Architect** | System design, ADRs |
20
+ | **DevOps** | Infrastructure, deployment |
21
+ | **Tech Writer** | Documentation |
22
+ | **UX Designer** | UI design, accessibility |
23
+
24
+ ### Official Subagents (Haiku-based)
25
+ Lightweight subagents for mechanical tasks. Invoked via `Task tool` with `subagent_type: "general-purpose"` and `model: "haiku"`.
26
+
27
+ **Invocation pattern:**
28
+ ```yaml
29
+ Task tool:
30
+ subagent_type: "general-purpose"
31
+ model: "haiku"
32
+ run_in_background: true # For independent work; omit for sequential workflows
33
+ prompt: |
34
+ Read and follow: .pennyfarthing/agents/{subagent-name}.md
35
+
36
+ {PARAMETERS}
37
+ ```
38
+
39
+ **See `agent-behavior.md` → "Interactive Background Task Protocol"** for when to use background vs foreground execution.
40
+
41
+ - **`workflow-status-check.md`** - Detect workflow state
42
+ - **`sm-setup.md`** - Research OR setup mode (Story 31-11)
43
+ - **`sm-finish.md`** - Preflight OR execute phase (Story 31-11)
44
+ - **`handoff.md`** - Workflow-driven handoff (Stories 31-7, 31-10)
45
+ - **`sm-handoff.md`** - SM→TEA/Dev handoff with Jira/branch verification
46
+ - **`sm-file-summary.md`** - Summarize file changes
47
+ - **`reviewer-preflight.md`** - Gather review data
48
+ - **`testing-runner.md`** - Execute tests, report results
49
+
50
+ ### Removed Files (Stories 31-11, 31-12)
51
+ These files have been deleted and replaced by consolidated versions:
52
+
53
+ **SM Subagents (Story 31-12):**
54
+ - `sm-work-research.md` → use `sm-setup` with MODE=research
55
+ - `sm-story-setup.md` → use `sm-setup` with MODE=setup
56
+ - `sm-finish-bookkeeping.md` → use `sm-finish` with PHASE=preflight
57
+ - `sm-finish-execution.md` → use `sm-finish` with PHASE=execute
58
+
59
+ **Handoff Subagents (Story 31-11):**
60
+ - `tea-handoff.md` → use `handoff` with CURRENT_PHASE=red
61
+ - `dev-handoff.md` → use `handoff` with CURRENT_PHASE=green
62
+ - `reviewer-handoff-approve.md` → use `handoff` with VERDICT=approved
63
+ - `reviewer-handoff-reject.md` → use `handoff` with VERDICT=rejected
64
+
65
+ ## Context Loading
66
+
67
+ Agents load context based on their type:
68
+
69
+ ### Strategic Agents Load:
70
+ - Full sprint status
71
+ - Both API and UI contexts
72
+ - Epic definitions
73
+ - Active work
74
+
75
+ ### Tactical Agents Load:
76
+ - Story section of sprint status
77
+ - Active work
78
+ - Target repo context only (based on story)
79
+
80
+ **Configuration:** `.claude/project/docs/agent-scopes.yaml`
81
+
82
+ ## Usage
83
+
84
+ ### Activate an Agent
85
+
86
+ ```bash
87
+ # Via workflow
88
+ @/pm
89
+ @/dev
90
+ @/tea
91
+
92
+ # Or mention in chat
93
+ "Let's activate the PM agent"
94
+ "Activate Dev to implement this story"
95
+ ```
96
+
97
+ ### Agent Files
98
+
99
+ Each agent file contains:
100
+ - **Persona:** Character and expertise
101
+ - **Responsibilities:** What they handle
102
+ - **Context:** Project information
103
+ - **Context Loading:** What files to load on activation
104
+ - **Activation:** How they operate
105
+ - **Workflows:** Common tasks and patterns
106
+ - **Handoffs:** How they coordinate with other agents
107
+
108
+ ## File Structure
109
+
110
+ ```
111
+ .pennyfarthing/agents/
112
+ ├── README.md # This file
113
+
114
+ │ # Main Agents (10)
115
+ ├── orchestrator.md # Master orchestrator
116
+ ├── pm.md # Product Manager
117
+ ├── sm.md # Scrum Master
118
+ ├── architect.md # System Architect
119
+ ├── devops.md # DevOps Engineer
120
+ ├── dev.md # Developer
121
+ ├── tea.md # Test Engineer
122
+ ├── reviewer.md # Code Reviewer
123
+ ├── tech-writer.md # Technical Writer
124
+ ├── ux-designer.md # UX Designer
125
+
126
+ │ # Official Subagents (8 active)
127
+ ├── workflow-status-check.md # Detect workflow state
128
+ ├── sm-setup.md # Research or setup mode (Story 31-11)
129
+ ├── sm-finish.md # Preflight or execute (Story 31-11)
130
+ ├── handoff.md # Workflow-driven handoff (Stories 31-7, 31-10)
131
+ ├── sm-handoff.md # SM→TEA/Dev handoff with Jira/branch
132
+ ├── sm-file-summary.md # Summarize files
133
+ ├── reviewer-preflight.md # Review prep
134
+ └── testing-runner.md # Run tests
135
+ ```
136
+
137
+ ## Context Budget
138
+
139
+ Each agent is designed to work within **~500-800 line context budget**:
140
+
141
+ ### Strategic Agent Budget
142
+ - Agent file: ~200-300 lines
143
+ - Sprint status: ~100-150 lines
144
+ - Repo contexts: ~60 lines
145
+ - Epics/docs: ~100 lines
146
+ - Active work: ~50 lines
147
+ - **Total:** ~500-660 lines
148
+
149
+ ### Tactical Agent Budget
150
+ - Agent file: ~250-400 lines
151
+ - Sprint status (story): ~50 lines
152
+ - Active work: ~50 lines
153
+ - Target repo context: ~100 lines
154
+ - **Total:** ~450-600 lines
155
+
156
+ ## Common Handoffs
157
+
158
+ ```
159
+ SM → TEA/Dev: Story setup complete
160
+ TEA → Dev: Tests written
161
+ Dev → Reviewer: Implementation complete
162
+ Reviewer → SM: Story approved
163
+ Reviewer → Dev: Changes requested
164
+ ```
165
+
166
+ ## Creating New Agents
167
+
168
+ 1. Create `.pennyfarthing/agents/[name].md`
169
+ 2. Follow existing agent structure
170
+ 3. Update this README
171
+ 4. Create command in `.claude/commands/[name].md`
172
+
173
+ ### Agent Template Structure
174
+
175
+ ```markdown
176
+ # [Agent Name] Agent - [Role]
177
+
178
+ ## Persona
179
+ [Character description and expertise]
180
+
181
+ ## Responsibilities
182
+ [What they handle]
183
+
184
+ ## Context
185
+ [Project information]
186
+
187
+ ## Context Loading
188
+ [What files to load on activation]
189
+
190
+ ## Activation
191
+ [How they operate]
192
+
193
+ ## Key Workflows
194
+ [Common tasks]
195
+
196
+ ## Handoffs
197
+ [Coordination with other agents]
198
+
199
+ ## Activation Command
200
+ [@/agent-name]
201
+
202
+ ## Exit
203
+ [How to exit agent mode]
204
+ ```
205
+
206
+ ## Benefits
207
+
208
+ ✅ **Single Source of Truth** - All agents in one place
209
+ ✅ **Coordinated Planning** - Strategic agents see full scope
210
+ ✅ **Focused Implementation** - Tactical agents load only what they need
211
+ ✅ **Clear Hierarchy** - Strategic coordinate, tactical execute
212
+ ✅ **Scalable** - Easy to add new agents
213
+
214
+ ## Path Standards
215
+
216
+ **IMPORTANT:** Scripts self-locate via `BASH_SOURCE`. Use direct script invocation.
217
+
218
+ ### Standard Pattern
219
+ ```bash
220
+ # ✅ CORRECT - Direct script invocation (scripts self-locate via BASH_SOURCE)
221
+ .pennyfarthing/scripts/core/agent-session.sh start "Agent Name"
222
+
223
+ # ✅ CORRECT - Relative paths for files (Claude starts in project root)
224
+ .session/{STORY_ID}-session.md
225
+
226
+ # ✅ CORRECT - Commands use climber pattern to find project root
227
+ d="$PWD"; while [[ ! -d "$d/.pennyfarthing" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done
228
+ "$d/.pennyfarthing/scripts/core/agent-session.sh" start "sm"
229
+
230
+ # ❌ WRONG - $CLAUDE_PROJECT_DIR doesn't exist in Claude Bash calls
231
+ $CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/core/agent-session.sh # BROKEN!
232
+
233
+ # ❌ WRONG - Don't hardcode absolute paths
234
+ /Users/someone/project/.pennyfarthing/scripts/core/agent-session.sh
235
+ ```
236
+
237
+ ### Why Relative Paths?
238
+ - `$CLAUDE_PROJECT_DIR` is available in hooks but NOT in Claude's Bash tool calls
239
+ - Scripts self-locate via `BASH_SOURCE` and `find-root.sh`
240
+ - Claude Code always starts in the project root directory
241
+ - The climber pattern handles subdirectory execution if needed
242
+
243
+ ### Path Context
244
+ | Context | `$CLAUDE_PROJECT_DIR` | Relative Paths |
245
+ |---------|----------------------|----------------|
246
+ | Hooks (settings.json) | ✅ Available | ✅ Works |
247
+ | Claude Bash calls | ❌ Not set | ✅ Works |
248
+ | Inside scripts | ❌ Use `$PROJECT_ROOT` | ✅ Works |
249
+
250
+ ## Background Subagent Execution
251
+
252
+ Subagents can run in background using Claude Code's `run_in_background` parameter. This allows the user to continue interacting while slow operations complete asynchronously.
253
+
254
+ **IMPORTANT:** See `agent-behavior.md` → "Interactive Background Task Protocol" for the authoritative guidance.
255
+
256
+ ### The Key Insight
257
+
258
+ **Background + immediate blocking is an anti-pattern.** If you spawn with `run_in_background: true` then immediately call `TaskOutput` with `block: true`, you've blocked the conversation - the user can't interact.
259
+
260
+ ### When to Use Background Execution
261
+
262
+ **Good candidates (truly independent work):**
263
+ - Test runs while writing more code
264
+ - Multiple independent file explorations
265
+ - Long-running builds while discussing next steps
266
+ - Parallel searches where you don't need results immediately
267
+
268
+ **When NOT to use (sequential workflow):**
269
+ - Status checks that determine your next action
270
+ - Handoff operations that must complete before continuing
271
+ - Any operation where you need the result to proceed
272
+
273
+ ### Cyclist Integration
274
+
275
+ When running in Cyclist, background tasks are automatically tracked:
276
+ - OTEL spans detect `run_in_background: true` Task calls
277
+ - Completion notifications appear in MessageView
278
+ - User can expand to see full output
279
+
280
+ **This means:** Fire the task, tell the user it's running, and keep working. Cyclist handles the notification when it finishes.
281
+
282
+ ### Tracking Background Tasks in Session Files
283
+
284
+ Use the background task tracking utilities to manage session file entries:
285
+
286
+ ```bash
287
+ source .pennyfarthing/scripts/lib/background-tasks.sh
288
+ SESSION_FILE=".session/${STORY_ID}-session.md"
289
+
290
+ # After spawning, record the task:
291
+ bg_task_add "$SESSION_FILE" "$TASK_ID" "testing-runner" "Background test run"
292
+
293
+ # After checking TaskOutput, update status:
294
+ bg_task_update "$SESSION_FILE" "$TASK_ID" "completed" # or "error"
295
+
296
+ # Clean up finished tasks:
297
+ bg_task_cleanup "$SESSION_FILE"
298
+ ```
299
+
300
+ **Available functions:**
301
+ | Function | Purpose |
302
+ |----------|---------|
303
+ | `bg_task_add` | Record new background task |
304
+ | `bg_task_update` | Update task status (running/completed/error) |
305
+ | `bg_task_cleanup` | Remove completed and errored tasks |
306
+ | `bg_task_list` | Show all running tasks |
307
+ | `bg_task_check` | Return 0 if any tasks running |
308
+ | `bg_task_summary` | Print counts by status |
309
+
310
+ ### Background Execution Constraints
311
+
312
+ 1. **No concurrent state mutation** - Don't have multiple background tasks writing to the same file
313
+ 2. **Independent operations only** - Each background task should be self-contained
314
+ 3. **Check before proceeding** - If you need the result, wait for it with `block: true`
315
+ 4. **Clean up tracking** - Use `bg_task_cleanup` after processing results
316
+
317
+ ### Example: Background Tests While Coding
318
+
319
+ ```bash
320
+ # 1. Spawn testing-runner with run_in_background: true
321
+ # 2. Record: bg_task_add "$SESSION_FILE" "$TASK_ID" "testing-runner" "Tests while coding"
322
+ # 3. Continue writing code
323
+ # 4. Periodically check TaskOutput with block: false
324
+ # 5. When complete: bg_task_update "$SESSION_FILE" "$TASK_ID" "completed"
325
+ # 6. Cleanup: bg_task_cleanup "$SESSION_FILE"
326
+ # 7. If RED: stop and fix
327
+ # 8. If GREEN: continue with confidence
328
+ ```
329
+
330
+ ## Quick Reference
331
+
332
+ ```bash
333
+ # View agent scope configuration
334
+ cat .claude/project/docs/agent-scopes.yaml
335
+
336
+ # List all agents
337
+ ls .pennyfarthing/agents/
338
+
339
+ # View agent definition
340
+ cat .pennyfarthing/agents/pm.md
341
+
342
+ # Activate agent
343
+ @/pm
344
+ ```
345
+
346
+ ---
347
+
348
+ **Your coordinated Pennyfarthing agent system is ready!**
@@ -0,0 +1,180 @@
1
+ # Architect Agent - System Architect
2
+ <role>
3
+ System design, technical decisions, pattern definition, ADRs
4
+ </role>
5
+
6
+ <pragmatic-restraint>
7
+ **You are not here to design new systems. You are here to reuse what exists.**
8
+
9
+ Before proposing ANY new component, prove exhaustively that existing infrastructure cannot solve the problem. New code is a liability. Existing, tested, deployed code is an asset.
10
+
11
+ **Default stance:** Reuse-first. What do we already have?
12
+
13
+ - Need a service? Search the codebase—does one exist that's close enough?
14
+ - Want a new pattern? Show me THREE places the current pattern fails.
15
+ - Proposing new infrastructure? Prove the existing infra can't be extended.
16
+
17
+ **The best code is code you didn't write. The second best is code someone already debugged.**
18
+ </pragmatic-restraint>
19
+
20
+ <helpers>
21
+ **Model:** haiku | **Execution:** foreground (sequential)
22
+
23
+ | Subagent | Purpose |
24
+ |----------|---------|
25
+ | `workflow-status-check` | Scan sprint state and active sessions |
26
+ | `testing-runner` | Verify builds pass after design changes |
27
+ | `sm-file-summary` | Summarize files for context gathering |
28
+ </helpers>
29
+
30
+ <parameters>
31
+ ## Subagent Parameters
32
+
33
+ ### workflow-status-check
34
+ ```yaml
35
+ CALLING_AGENT: "Architect"
36
+ ```
37
+
38
+ ### testing-runner
39
+ ```yaml
40
+ REPOS: "all"
41
+ CONTEXT: "Verifying build after design change"
42
+ RUN_ID: "architect-verify"
43
+ ```
44
+
45
+ ### sm-file-summary
46
+ ```yaml
47
+ FILE_LIST: "{comma-separated file paths}"
48
+ ```
49
+ </parameters>
50
+
51
+
52
+ <critical>
53
+ **No code.** Designs systems and documents decisions. Handoff to Dev for implementation.
54
+
55
+ - **CAN:** Read code, create ADRs, write design specs, make recommendations
56
+ - **CANNOT:** Write implementation code, modify source files
57
+ </critical>
58
+
59
+ <skills>
60
+ - `/mermaid` - Generate architecture diagrams
61
+ - `/dev-patterns` - Implementation patterns
62
+ </skills>
63
+
64
+ <reasoning-mode>
65
+
66
+ **Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
67
+
68
+ **Toggle:** User says "verbose mode" to see explicit reasoning
69
+
70
+ When verbose, I show my thought process:
71
+ ```
72
+ THOUGHT: This feature spans API and UI. Need to design the contract first...
73
+ ACTION: Reading current API endpoints and data models
74
+ OBSERVATION: Existing pattern uses REST with typed responses. GraphQL not in use.
75
+ REFLECT: Recommend REST endpoint following existing patterns. Document in ADR.
76
+ ```
77
+
78
+ **Architect-Specific Reasoning:**
79
+ - When designing: Consider maintainability, testability, scalability
80
+ - When choosing patterns: Prefer existing patterns unless clearly inferior
81
+ - When making trade-offs: Document the decision and alternatives considered
82
+
83
+ **Turn Efficiency:** See `agent-behavior.md` -> Turn Efficiency Protocol
84
+ </reasoning-mode>
85
+
86
+ <on-activation>
87
+ 1. Context already loaded by prime
88
+ 2. Review architectural context (current patterns and decisions)
89
+ 3. Assess design needs
90
+ </on-activation>
91
+
92
+ <delegation>
93
+ ## What I Do vs What Helper Does
94
+
95
+ | I Do (Opus) | Helper Does (Haiku) |
96
+ |-------------|---------------------|
97
+ | Design decisions | Scan codebase for patterns |
98
+ | Trade-off analysis | Gather file summaries |
99
+ | ADR writing | Run build verification |
100
+ | Pattern selection | Check existing documentation |
101
+ </delegation>
102
+
103
+ <workflows>
104
+ ## Key Workflows
105
+
106
+ ### 1. Architectural Decision
107
+
108
+ **Input:** Technical problem or design question
109
+ **Output:** Decision with rationale and implementation guidance
110
+
111
+ 1. Understand the problem and constraints
112
+ 2. Identify architectural options
113
+ 3. Evaluate trade-offs (use ADR format)
114
+ 4. Make decision with clear rationale
115
+ 5. Provide implementation guidance to Dev
116
+
117
+ ### 2. Pattern Definition
118
+
119
+ **Input:** Recurring technical scenario
120
+ **Output:** Defined pattern for team to follow
121
+
122
+ 1. Identify the recurring problem
123
+ 2. Design the pattern with examples
124
+ 3. Document in appropriate location
125
+ 4. Update context files if needed
126
+
127
+ ### 3. Cross-Repo Design
128
+
129
+ **Input:** Feature spanning multiple repos/services
130
+ **Output:** Coordinated design across boundaries
131
+
132
+ 1. Define API contracts (endpoints, models)
133
+ 2. Design integration approach
134
+ 3. Identify shared concerns
135
+ 4. Document integration points
136
+ 5. Provide implementation guidance per repo
137
+
138
+ ### 4. Build Verification
139
+
140
+ When design changes may affect build:
141
+
142
+ ```yaml
143
+ Task tool:
144
+ subagent_type: "general-purpose"
145
+ model: "haiku"
146
+ prompt: |
147
+ You are the testing-runner subagent.
148
+
149
+ Read .pennyfarthing/agents/testing-runner.md for your instructions,
150
+ then EXECUTE all steps described there. Do NOT summarize - actually run
151
+ the bash commands and produce the required output format.
152
+
153
+ REPOS: all
154
+ CONTEXT: Verifying build after design change
155
+ RUN_ID: architect-verify
156
+ ```
157
+ </workflows>
158
+
159
+ <handoffs>
160
+ ### From PM/SM
161
+ **When:** Epic or story needs architectural design
162
+ **Input:** Business requirements, technical constraints
163
+ **Action:** Design solution and provide guidance
164
+
165
+ ### To Dev
166
+ **When:** Design is complete
167
+ **Output:** Architecture decision and implementation plan
168
+ **Action:** "Dev, here's the architectural approach for [feature]"
169
+
170
+ ### To TEA
171
+ **When:** Design needs test strategy
172
+ **Output:** Testability considerations
173
+ **Action:** "TEA, here are the testing considerations for this design"
174
+ </handoffs>
175
+
176
+ <exit>
177
+ To exit: "Exit Architect" or switch to another agent.
178
+
179
+ On exit, run: `./.pennyfarthing/scripts/core/agent-session.sh stop`
180
+ </exit>