@pennyfarthing/core 7.0.2 → 7.4.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.
- package/LICENSE +14 -0
- package/README.md +2 -2
- package/package.json +11 -10
- package/packages/core/dist/cli/commands/cyclist.d.ts +2 -2
- package/packages/core/dist/cli/commands/cyclist.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.js +8 -9
- package/packages/core/dist/cli/commands/cyclist.js.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.test.js +6 -4
- package/packages/core/dist/cli/commands/cyclist.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init.js +4 -3
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +15 -139
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +4 -3
- package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
- package/packages/core/dist/cli/utils/constants.d.ts +7 -1
- package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/constants.js +4 -2
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.js +2 -1
- package/packages/core/dist/cli/utils/node-modules.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts +1 -4
- package/packages/core/dist/cli/utils/themes.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/themes.js +2 -22
- package/packages/core/dist/cli/utils/themes.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.test.d.ts +3 -3
- package/packages/core/dist/cli/utils/themes.test.js +16 -13
- package/packages/core/dist/cli/utils/themes.test.js.map +1 -1
- package/packages/core/dist/cli/workspace.test.js +11 -9
- package/packages/core/dist/cli/workspace.test.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +10 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/jira/jira-epic-creation.d.ts +109 -0
- package/packages/core/dist/jira/jira-epic-creation.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.js +253 -0
- package/packages/core/dist/jira/jira-epic-creation.js.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js +387 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts +247 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.js +670 -0
- package/packages/core/dist/jira/jira-sprint-sync.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js +845 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js.map +1 -0
- package/packages/core/dist/scripts/generate-spider.d.ts +11 -1
- package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider.js +24 -1
- package/packages/core/dist/scripts/generate-spider.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider.test.js +6 -4
- package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
- package/packages/core/dist/workflow/gate-handler.d.ts +94 -0
- package/packages/core/dist/workflow/gate-handler.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.js +189 -0
- package/packages/core/dist/workflow/gate-handler.js.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts +14 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.js +543 -0
- package/packages/core/dist/workflow/gate-handler.test.js.map +1 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts +46 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.js +53 -0
- package/packages/core/dist/workflow/generic-handoff.js.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.test.js +2 -2
- package/packages/core/dist/workflow/generic-handoff.test.js.map +1 -1
- package/packages/core/dist/workflow/handoff.d.ts +281 -0
- package/packages/core/dist/workflow/handoff.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.js +411 -0
- package/packages/core/dist/workflow/handoff.js.map +1 -0
- package/packages/core/dist/workflow/handoff.test.d.ts +21 -0
- package/packages/core/dist/workflow/handoff.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.test.js +499 -0
- package/packages/core/dist/workflow/handoff.test.js.map +1 -0
- package/packages/core/dist/workflow/index.d.ts +16 -0
- package/packages/core/dist/workflow/index.d.ts.map +1 -0
- package/packages/core/dist/workflow/index.js +24 -0
- package/packages/core/dist/workflow/index.js.map +1 -0
- package/packages/core/dist/workflow/session-state.d.ts +92 -0
- package/packages/core/dist/workflow/session-state.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.js +198 -0
- package/packages/core/dist/workflow/session-state.js.map +1 -0
- package/packages/core/dist/workflow/session-state.test.d.ts +8 -0
- package/packages/core/dist/workflow/session-state.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.test.js +551 -0
- package/packages/core/dist/workflow/session-state.test.js.map +1 -0
- package/packages/core/dist/workflow/sm-subagents.test.d.ts +2 -2
- package/packages/core/dist/workflow/sm-subagents.test.js +6 -6
- package/packages/core/dist/workflow/sm-subagents.test.js.map +1 -1
- package/packages/core/dist/workflow/step-parser.d.ts +45 -0
- package/packages/core/dist/workflow/step-parser.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.js +147 -0
- package/packages/core/dist/workflow/step-parser.js.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts +14 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.js +470 -0
- package/packages/core/dist/workflow/step-parser.test.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.d.ts +86 -0
- package/packages/core/dist/workflow/trimodal.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.js +118 -0
- package/packages/core/dist/workflow/trimodal.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts +11 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.js +395 -0
- package/packages/core/dist/workflow/trimodal.test.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts +67 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.js +156 -0
- package/packages/core/dist/workflow/variable-resolver.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts +14 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.js +400 -0
- package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts +163 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.js +197 -0
- package/packages/core/dist/workflow/workflow-executor.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts +8 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.js +444 -0
- package/packages/core/dist/workflow/workflow-executor.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-loader.test.js +5 -5
- package/packages/core/dist/workflow/workflow-loader.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +8 -9
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-permissions.d.ts +55 -0
- package/packages/core/dist/workflow/workflow-permissions.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.js +64 -0
- package/packages/core/dist/workflow/workflow-permissions.js.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts +15 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js +301 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts +61 -2
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +293 -69
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.js +6 -6
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts +18 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js +608 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js.map +1 -0
- package/pennyfarthing-dist/agents/README.md +63 -134
- package/pennyfarthing-dist/agents/architect.md +18 -10
- package/pennyfarthing-dist/agents/dev.md +47 -32
- package/pennyfarthing-dist/agents/devops.md +18 -9
- package/pennyfarthing-dist/agents/handoff.md +289 -0
- package/pennyfarthing-dist/agents/orchestrator.md +44 -22
- package/pennyfarthing-dist/agents/pm.md +13 -8
- package/pennyfarthing-dist/agents/reviewer-preflight.md +42 -128
- package/pennyfarthing-dist/agents/reviewer.md +104 -57
- package/pennyfarthing-dist/agents/sm-file-summary.md +24 -75
- package/pennyfarthing-dist/agents/sm-finish.md +61 -0
- package/pennyfarthing-dist/agents/sm-handoff.md +102 -54
- package/pennyfarthing-dist/agents/sm-setup.md +174 -0
- package/pennyfarthing-dist/agents/sm.md +223 -100
- package/pennyfarthing-dist/agents/tea.md +42 -34
- package/pennyfarthing-dist/agents/tech-writer.md +74 -6
- package/pennyfarthing-dist/agents/testing-runner.md +78 -360
- package/pennyfarthing-dist/agents/ux-designer.md +80 -7
- package/pennyfarthing-dist/agents/workflow-status-check.md +35 -299
- package/pennyfarthing-dist/commands/architect.md +2 -2
- package/pennyfarthing-dist/commands/close-epic.md +5 -2
- package/pennyfarthing-dist/commands/create-branches-from-story.md +7 -23
- package/pennyfarthing-dist/commands/dev.md +2 -2
- package/pennyfarthing-dist/commands/devops.md +3 -3
- package/pennyfarthing-dist/commands/git-cleanup.md +5 -5
- package/pennyfarthing-dist/commands/health-check.md +1 -1
- package/pennyfarthing-dist/commands/list-themes.md +7 -3
- package/pennyfarthing-dist/commands/orchestrator.md +2 -2
- package/pennyfarthing-dist/commands/parallel-work.md +4 -4
- package/pennyfarthing-dist/commands/pm.md +2 -2
- package/pennyfarthing-dist/commands/prime.md +7 -7
- package/pennyfarthing-dist/commands/release.md +1 -1
- package/pennyfarthing-dist/commands/repo-status.md +2 -2
- package/pennyfarthing-dist/commands/retro.md +2 -2
- package/pennyfarthing-dist/commands/reviewer.md +2 -2
- package/pennyfarthing-dist/commands/set-theme.md +5 -1
- package/pennyfarthing-dist/commands/sm.md +2 -2
- package/pennyfarthing-dist/commands/start-epic.md +26 -14
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +8 -8
- package/pennyfarthing-dist/commands/sync-work-with-sprint.md +1 -4
- package/pennyfarthing-dist/commands/tea.md +2 -2
- package/pennyfarthing-dist/commands/tech-writer.md +2 -2
- package/pennyfarthing-dist/commands/ux-designer.md +3 -3
- package/pennyfarthing-dist/commands/work.md +15 -4
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/AGENT-COORDINATION.md +15 -15
- package/pennyfarthing-dist/guides/PROMPT-PATTERNS.md +1 -1
- package/pennyfarthing-dist/guides/SESSION-ARTIFACTS.md +4 -4
- package/pennyfarthing-dist/guides/agent-behavior.md +238 -0
- package/pennyfarthing-dist/guides/agent-template-strategic.md +2 -2
- package/pennyfarthing-dist/guides/agent-template-tactical.md +4 -4
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +1 -1
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +17 -17
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +8 -8
- package/pennyfarthing-dist/guides/workflow-schema.md +62 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +5 -5
- package/pennyfarthing-dist/personas/themes/1984.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/a-team.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arcane.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/control.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/discworld.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/firefly.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/foundation.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/futurama.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/house-md.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/justified.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mash.yaml +69 -66
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/rome.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sandman.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-office.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +1 -1
- package/pennyfarthing-dist/scripts/README.md +68 -0
- package/pennyfarthing-dist/scripts/core/README.md +26 -0
- package/pennyfarthing-dist/scripts/{agent-session.sh → core/agent-session.sh} +34 -23
- package/pennyfarthing-dist/scripts/{check-context.sh → core/check-context.sh} +93 -37
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +90 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +136 -0
- package/pennyfarthing-dist/scripts/core/run.sh +75 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
- package/pennyfarthing-dist/scripts/git/README.md +25 -0
- package/pennyfarthing-dist/scripts/{utils → git}/create-feature-branches.sh +11 -15
- package/pennyfarthing-dist/scripts/{utils → git}/git-status-all.sh +1 -1
- package/pennyfarthing-dist/scripts/{install-git-hooks.sh → git/install-git-hooks.sh} +0 -0
- package/pennyfarthing-dist/scripts/{release.sh → git/release.sh} +0 -0
- package/pennyfarthing-dist/scripts/{worktree-manager.sh → git/worktree-manager.sh} +0 -4
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +3 -4
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +1 -2
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +2 -3
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +2 -3
- package/pennyfarthing-dist/scripts/jira/README.md +33 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +97 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.mjs +327 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.test.mjs +503 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-claim-story.sh +8 -6
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-lib.mjs +10 -10
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-lib.sh +18 -17
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +266 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync-story.mjs +14 -14
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync.mjs +4 -4
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/sync-epic-to-jira.sh +1 -1
- package/pennyfarthing-dist/scripts/lib/README.md +29 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/background-tasks.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/common.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/find-root.sh +7 -5
- package/pennyfarthing-dist/scripts/{utils → lib}/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/README.md +44 -0
- package/pennyfarthing-dist/scripts/{add-short-names.mjs → misc/add-short-names.mjs} +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +91 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/check-status.sh +4 -8
- package/pennyfarthing-dist/scripts/{deploy.sh → misc/deploy.sh} +0 -0
- package/pennyfarthing-dist/scripts/{doctor-dogfood.sh → misc/doctor-dogfood.sh} +2 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.mjs +474 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +9 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/{repo-utils.sh → misc/repo-utils.sh} +2 -2
- package/pennyfarthing-dist/scripts/{run-ci.sh → misc/run-ci.sh} +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/{statusline.sh → misc/statusline.sh} +2 -7
- package/pennyfarthing-dist/scripts/{uninstall.sh → misc/uninstall.sh} +4 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/validate-subagent-frontmatter.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +97 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +164 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +58 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +69 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +151 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +116 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +164 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-common.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-metrics.sh +0 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/story/README.md +23 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +159 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +198 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +162 -0
- package/pennyfarthing-dist/scripts/test/README.md +23 -0
- package/pennyfarthing-dist/scripts/{utils → test}/swebench-judge.py +0 -0
- package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
- package/pennyfarthing-dist/scripts/{utils → test}/test-setup.sh +5 -5
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +515 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +599 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +332 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +573 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +859 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +662 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +589 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +7 -9
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +18 -18
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +10 -10
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +1 -1
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +647 -0
- package/pennyfarthing-dist/scripts/theme/README.md +22 -0
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +203 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +73 -0
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
- package/pennyfarthing-dist/scripts/{check.sh → workflow/check.sh} +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +159 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +228 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +91 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +138 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +256 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/code-review/SKILL.md +3 -3
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +56 -139
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +21 -5
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +1 -1
- package/pennyfarthing-dist/skills/jira/SKILL.md +381 -178
- package/pennyfarthing-dist/skills/judge/SKILL.md +76 -21
- package/pennyfarthing-dist/skills/just/SKILL.md +345 -102
- package/pennyfarthing-dist/skills/otel/skill.md +1 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +1 -1
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +5 -0
- package/pennyfarthing-dist/skills/skill-registry.schema.json +5 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +22 -0
- package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +97 -0
- package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +116 -0
- package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +39 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +147 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
- package/pennyfarthing-dist/skills/story/skill.md +219 -0
- package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +390 -0
- package/pennyfarthing-dist/skills/theme/skill.md +1 -1
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +91 -0
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +138 -0
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +273 -0
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/workflow/skill.md +337 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +1 -1
- package/pennyfarthing-dist/workflows/agent-docs.yaml +1 -1
- package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +101 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +93 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +115 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +138 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +142 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +160 -0
- package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
- package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
- package/pennyfarthing-dist/workflows/bdd.yaml +3 -1
- package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +62 -0
- package/pennyfarthing-dist/workflows/brainstorming/checklist.md +44 -0
- package/pennyfarthing-dist/workflows/brainstorming/instructions.md +736 -0
- package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +49 -0
- package/pennyfarthing-dist/workflows/code-review/checklist.md +23 -0
- package/pennyfarthing-dist/workflows/code-review/instructions.md +234 -0
- package/pennyfarthing-dist/workflows/code-review/workflow.yaml +51 -0
- package/pennyfarthing-dist/workflows/dev-story/checklist.md +80 -0
- package/pennyfarthing-dist/workflows/dev-story/instructions.xml +410 -0
- package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
- package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +207 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +231 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
- package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +177 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +161 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +199 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +202 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +205 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +219 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +194 -0
- package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
- package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
- package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +184 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +318 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +278 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +189 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +144 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +128 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +191 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +229 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +238 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +206 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +234 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +443 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +182 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +237 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +200 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +249 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +259 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +177 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +475 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +248 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +202 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +486 -0
- package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
- package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
- package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
- package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
- package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
- package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +54 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +44 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +64 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +73 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +56 -0
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +1 -1
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +135 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +127 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +216 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +219 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +234 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +252 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +241 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +248 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +237 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +228 -0
- package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
- package/packages/core/dist/scripts/generate-all-faces.d.ts +0 -10
- package/packages/core/dist/scripts/generate-all-faces.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.js +0 -256
- package/packages/core/dist/scripts/generate-all-faces.js.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts +0 -17
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.js +0 -372
- package/packages/core/dist/scripts/generate-all-faces.test.js.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-ascii-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.js +0 -155
- package/packages/core/dist/scripts/generate-ascii-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.js +0 -199
- package/packages/core/dist/scripts/generate-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.d.ts +0 -13
- package/packages/core/dist/scripts/generate-face.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.js +0 -301
- package/packages/core/dist/scripts/generate-face.test.js.map +0 -1
- package/pennyfarthing-dist/agents/generic-handoff.md +0 -454
- package/pennyfarthing-dist/agents/generic-sm-finish.md +0 -261
- package/pennyfarthing-dist/agents/generic-sm-setup.md +0 -214
- package/pennyfarthing-dist/commands/new-work.md +0 -127
- package/pennyfarthing-dist/guides/AGENT-SCOPES.md +0 -201
- package/pennyfarthing-dist/guides/persona-system.md +0 -294
- package/pennyfarthing-dist/guides/shared-agent-behavior.md +0 -388
- package/pennyfarthing-dist/guides/shared-context.md +0 -147
- package/pennyfarthing-dist/guides/strategic-agent-behavior.md +0 -348
- package/pennyfarthing-dist/guides/tactical-agent-behavior.md +0 -1041
- package/pennyfarthing-dist/scripts/prime.sh +0 -161
- package/pennyfarthing-dist/scripts/run.sh +0 -65
- package/pennyfarthing-dist/skills/sprint-context/SKILL.md +0 -120
- package/pennyfarthing-dist/skills/story-management/SKILL.md +0 -208
- package/pennyfarthing-dist/skills/workflow/SKILL.md +0 -160
- /package/pennyfarthing-dist/commands/{brainstorm.md → brainstorming.md} +0 -0
- /package/pennyfarthing-dist/scripts/{utils → test}/ground-truth-judge.py +0 -0
|
@@ -8,10 +8,14 @@ Show all available persona themes with the current theme highlighted.
|
|
|
8
8
|
|
|
9
9
|
## Instructions
|
|
10
10
|
|
|
11
|
-
Run the
|
|
11
|
+
Run the list-themes script and display the output directly to the user:
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
pennyfarthing
|
|
14
|
+
$CLAUDE_PROJECT_DIR/pennyfarthing-dist/scripts/list-themes.sh
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
**IMPORTANT:** Copy the script output into your response text so the user sees it in the console. Bash tool output may be collapsed in the UI.
|
|
18
|
+
|
|
19
|
+
The output shows:
|
|
20
|
+
- Current theme marked with `*`
|
|
21
|
+
- Tier in brackets: `[S]` elite, `[A]` excellent, `[B]` strong, `[C]` good, `[D]` below average, `[U]` unbenchmarked
|
|
@@ -5,7 +5,7 @@ description: Orchestrator - Coordinator of all agents and meta operations
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "orchestrator"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "orchestrator"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/orchestrator.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -3,7 +3,7 @@ description: Start parallel work in a new worktree
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
./scripts/run.sh agent-session.sh start "parallel-work"
|
|
6
|
+
./scripts/run.sh core/agent-session.sh start "parallel-work"
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
<parallel-work-flow>
|
|
@@ -20,10 +20,10 @@ read -p "Branch name (e.g., feat/5-3a-feature): " BRANCH_NAME
|
|
|
20
20
|
|
|
21
21
|
# Create worktree
|
|
22
22
|
WORKTREE_NAME="wt-${STORY_ID}"
|
|
23
|
-
./scripts/run.sh worktree-manager.sh create "$WORKTREE_NAME" "$BRANCH_NAME"
|
|
23
|
+
./scripts/run.sh git/worktree-manager.sh create "$WORKTREE_NAME" "$BRANCH_NAME"
|
|
24
24
|
|
|
25
25
|
# Get port configuration
|
|
26
|
-
eval $(./scripts/run.sh worktree-manager.sh ports "$WORKTREE_NAME")
|
|
26
|
+
eval $(./scripts/run.sh git/worktree-manager.sh ports "$WORKTREE_NAME")
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
### Step 2: Create Session File
|
|
@@ -67,5 +67,5 @@ Invoke SM to complete story setup in the worktree context.
|
|
|
67
67
|
</agent-activation>
|
|
68
68
|
|
|
69
69
|
<agent-exit>
|
|
70
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
70
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
71
71
|
</agent-exit>
|
|
@@ -5,7 +5,7 @@ description: Product Manager - Strategic planning and prioritization
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "pm"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "pm"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/pm.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -57,9 +57,9 @@ Context is loaded in priority order:
|
|
|
57
57
|
| 3 | Sprint summary | `sprint/current-sprint.yaml` (key fields only) |
|
|
58
58
|
| 4 | Active session | `.session/*-session.md` (first 50 lines) |
|
|
59
59
|
| 5 | Agent sidecar | `.pennyfarthing/sidecars/{agent}/*.md` (if `--agent` provided) |
|
|
60
|
-
| 6 | Shared context | `.pennyfarthing/guides/
|
|
61
|
-
| 7 | Shared behavior | `.pennyfarthing/guides/
|
|
62
|
-
| 8 | Tactical guide | `.pennyfarthing/guides/
|
|
60
|
+
| 6 | Shared context | `.pennyfarthing/guides/agent-behavior.md` (project info - all agents) |
|
|
61
|
+
| 7 | Shared behavior | `.pennyfarthing/guides/agent-behavior.md` (protocols - all agents) |
|
|
62
|
+
| 8 | Tactical guide | `.pennyfarthing/guides/agent-behavior.md` (for sm, tea, dev, reviewer only) |
|
|
63
63
|
|
|
64
64
|
### Minimal Mode (`--minimal`)
|
|
65
65
|
Only loads CLAUDE.md files (priority 1-2).
|
|
@@ -70,7 +70,7 @@ Adds domain documentation from `.claude/project/CLAUDE-*.md` files.
|
|
|
70
70
|
### Agent Sidecar (`--agent <name>`)
|
|
71
71
|
When agent name is provided, loads the agent's project-specific patterns from their sidecar directory. This gives agents their learned patterns immediately on activation.
|
|
72
72
|
|
|
73
|
-
###
|
|
73
|
+
### Agent Behavior Guide (automatic for all agents)
|
|
74
74
|
All agents receive the shared context guide which includes project info, directory structure, git strategy, sprint system overview, and build commands.
|
|
75
75
|
|
|
76
76
|
### Shared Behavior (automatic for all agents)
|
|
@@ -134,7 +134,7 @@ If context becomes stale mid-session, run `/prime` manually:
|
|
|
134
134
|
- **Called by:** agent-session.sh on agent start (with `--agent` flag)
|
|
135
135
|
- **Loads:** CLAUDE.md, sprint, session, sidecar, shared context, shared behavior, tactical guide
|
|
136
136
|
- **Sidecar location:** `.pennyfarthing/sidecars/{agent}/*.md`
|
|
137
|
-
- **Shared context:** `.pennyfarthing/guides/
|
|
138
|
-
- **Shared behavior:** `.pennyfarthing/guides/
|
|
139
|
-
- **Tactical guide:** `.pennyfarthing/guides/
|
|
137
|
+
- **Shared context:** `.pennyfarthing/guides/agent-behavior.md` (all agents)
|
|
138
|
+
- **Shared behavior:** `.pennyfarthing/guides/agent-behavior.md` (all agents)
|
|
139
|
+
- **Tactical guide:** `.pennyfarthing/guides/agent-behavior.md` (sm, tea, dev, reviewer only)
|
|
140
140
|
</reference>
|
|
@@ -15,13 +15,13 @@ Repos are configured in `.claude/project/repos.yaml`. The script automatically r
|
|
|
15
15
|
Run this command to show the status of all repos:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh git-status-all.sh
|
|
18
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh git/git-status-all.sh
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
For a brief one-line-per-repo summary:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh git-status-all.sh --brief
|
|
24
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh git/git-status-all.sh --brief
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## What It Shows
|
|
@@ -142,7 +142,7 @@ During retro, clean up accumulated session artifacts from the sprint:
|
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
144
|
# See what would be cleaned (dry-run)
|
|
145
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh session-cleanup.sh --dry-run --aggressive
|
|
145
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh --dry-run --aggressive
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
Review the output. Look for:
|
|
@@ -153,7 +153,7 @@ Review the output. Look for:
|
|
|
153
153
|
|
|
154
154
|
```bash
|
|
155
155
|
# Run full cleanup with aggressive mode (archives completed epic contexts)
|
|
156
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh session-cleanup.sh --aggressive
|
|
156
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh --aggressive
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
This removes:
|
|
@@ -5,7 +5,7 @@ description: Code Reviewer - Critical code review and quality enforcement
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "reviewer"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "reviewer"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/reviewer.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -49,4 +49,8 @@ Change the active persona theme for all agents.
|
|
|
49
49
|
```
|
|
50
50
|
Confirm the theme line shows the new value.
|
|
51
51
|
|
|
52
|
-
6.
|
|
52
|
+
6. Refresh the current agent's persona to apply the new theme:
|
|
53
|
+
```bash
|
|
54
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh refresh
|
|
55
|
+
```
|
|
56
|
+
This outputs the updated persona. **Adopt the new character immediately** - do not continue using the old persona.
|
|
@@ -5,7 +5,7 @@ description: Scrum Master - Story coordination and sprint management
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "sm"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "sm"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/sm.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -29,7 +29,7 @@ echo "Sprint files found - ready to start epic"
|
|
|
29
29
|
## Usage
|
|
30
30
|
|
|
31
31
|
Provide the epic ID when invoking this command:
|
|
32
|
-
- `epic-5` -
|
|
32
|
+
- `epic-5` - Pennyfarthing epic (format: `epic-N`)
|
|
33
33
|
|
|
34
34
|
## Workflow Steps
|
|
35
35
|
|
|
@@ -41,13 +41,13 @@ Before starting a new epic, clean up stale artifacts from previous work:
|
|
|
41
41
|
cd $CLAUDE_PROJECT_DIR
|
|
42
42
|
|
|
43
43
|
# Run conservative cleanup (7+ day old artifacts)
|
|
44
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh session-cleanup.sh --dry-run
|
|
44
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh --dry-run
|
|
45
45
|
|
|
46
46
|
# If dry-run looks good, run actual cleanup
|
|
47
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh session-cleanup.sh
|
|
47
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh
|
|
48
48
|
|
|
49
49
|
# Archive epic contexts for completed epics
|
|
50
|
-
$CLAUDE_PROJECT_DIR/scripts/run.sh session-cleanup.sh --aggressive
|
|
50
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh --aggressive
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
This ensures a clean slate before starting new epic work and archives contexts from completed epics.
|
|
@@ -86,16 +86,28 @@ If the epic is in backlog:
|
|
|
86
86
|
|
|
87
87
|
**Format for current-sprint.yaml:**
|
|
88
88
|
```yaml
|
|
89
|
-
#
|
|
90
|
-
# [
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
89
|
+
# ===========================================================================
|
|
90
|
+
# EPIC [N]: [Name]
|
|
91
|
+
# ===========================================================================
|
|
92
|
+
- id: MSSCI-XXXXX
|
|
93
|
+
type: epic
|
|
94
|
+
title: "Epic: [Name]"
|
|
95
|
+
points: [total_pts]
|
|
96
|
+
completed_points: 0
|
|
97
|
+
priority: P1
|
|
98
|
+
status: in_progress
|
|
99
|
+
stories:
|
|
100
|
+
# Stories added during tech context generation
|
|
101
|
+
- id: MSSCI-XXXXX
|
|
102
|
+
title: "[Story title]"
|
|
103
|
+
points: [N]
|
|
104
|
+
priority: P2
|
|
105
|
+
status: backlog
|
|
106
|
+
repos: [cyclist|pennyfarthing|both]
|
|
107
|
+
workflow: [tdd|trivial|agent-docs]
|
|
108
|
+
acceptance_criteria:
|
|
109
|
+
- [AC 1]
|
|
110
|
+
- [AC 2]
|
|
99
111
|
```
|
|
100
112
|
|
|
101
113
|
### Step 4: Generate Epic Tech Context
|
|
@@ -6,7 +6,7 @@ description: Sync Pennyfarthing epic to Jira MSSCI project using jira CLI
|
|
|
6
6
|
|
|
7
7
|
This workflow syncs a Pennyfarthing epic and its stories to Jira using the `jira` CLI tool.
|
|
8
8
|
|
|
9
|
-
**IMPORTANT:** All Pennyfarthing issues MUST be labeled with `pennyfarthing` to distinguish them from
|
|
9
|
+
**IMPORTANT:** All Pennyfarthing issues MUST be labeled with `pennyfarthing` to distinguish them from Pennyfarthing work.
|
|
10
10
|
|
|
11
11
|
## Prerequisites
|
|
12
12
|
|
|
@@ -29,13 +29,13 @@ All Pennyfarthing epics and stories must include the `pennyfarthing` label:
|
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
31
|
# View story status
|
|
32
|
-
./scripts/run.sh jira-sync-story.sh 35-2-topology-editor
|
|
32
|
+
./scripts/run.sh jira/jira-sync-story.sh 35-2-topology-editor
|
|
33
33
|
|
|
34
|
-
# Transition to match
|
|
35
|
-
./scripts/run.sh jira-sync-story.sh 35-2-topology-editor --transition
|
|
34
|
+
# Transition to match Pennyfarthing status
|
|
35
|
+
./scripts/run.sh jira/jira-sync-story.sh 35-2-topology-editor --transition
|
|
36
36
|
|
|
37
37
|
# Add a comment
|
|
38
|
-
./scripts/run.sh jira-sync-story.sh 35-2-topology-editor --comment "Started development"
|
|
38
|
+
./scripts/run.sh jira/jira-sync-story.sh 35-2-topology-editor --comment "Started development"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
### Sync All Stories in Epic
|
|
@@ -43,7 +43,7 @@ All Pennyfarthing epics and stories must include the `pennyfarthing` label:
|
|
|
43
43
|
```bash
|
|
44
44
|
# For each story in the epic, sync status
|
|
45
45
|
for story in $(yq '.epic-35.stories | keys | .[]' sprint/current-sprint.yaml); do
|
|
46
|
-
./scripts/run.sh jira-sync-story.sh "$story" --transition
|
|
46
|
+
./scripts/run.sh jira/jira-sync-story.sh "$story" --transition
|
|
47
47
|
done
|
|
48
48
|
```
|
|
49
49
|
|
|
@@ -140,7 +140,7 @@ jira issue list -a$(jira me)
|
|
|
140
140
|
|
|
141
141
|
## Status Mapping
|
|
142
142
|
|
|
143
|
-
|
|
|
143
|
+
| Pennyfarthing | Jira |
|
|
144
144
|
|-----------|------|
|
|
145
145
|
| `backlog` | To Do |
|
|
146
146
|
| `in-progress` | In Progress |
|
|
@@ -149,7 +149,7 @@ jira issue list -a$(jira me)
|
|
|
149
149
|
|
|
150
150
|
## Priority Mapping
|
|
151
151
|
|
|
152
|
-
|
|
|
152
|
+
| Pennyfarthing | Jira |
|
|
153
153
|
|-----------|------|
|
|
154
154
|
| `P0` | Highest |
|
|
155
155
|
| `P1` | High |
|
|
@@ -201,11 +201,8 @@ backlog → in-progress → review → done
|
|
|
201
201
|
### Story: UI 5-2 Environment Configuration Validation
|
|
202
202
|
|
|
203
203
|
```bash
|
|
204
|
-
# 1.
|
|
204
|
+
# 1. Create session with story details
|
|
205
205
|
cd $CLAUDE_PROJECT_DIR
|
|
206
|
-
./scripts/run.sh new-work.sh
|
|
207
|
-
|
|
208
|
-
# 2. Edit session with story details
|
|
209
206
|
cat > .session/{STORY_ID}-session.md << 'EOF'
|
|
210
207
|
# Feature: Environment Configuration Validation
|
|
211
208
|
|
|
@@ -5,7 +5,7 @@ description: Test Engineer/Architect - Test strategy and TDD
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "tea"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "tea"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/tea.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -5,7 +5,7 @@ description: Technical Writer - Documentation creation and maintenance
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "tech-writer"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "tech-writer"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/tech-writer.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -5,7 +5,7 @@ description: UX Designer - User experience design and UI patterns
|
|
|
5
5
|
<agent-activation>
|
|
6
6
|
**FIRST:** Use Bash tool to run:
|
|
7
7
|
```bash
|
|
8
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "ux-designer"
|
|
8
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "ux-designer"
|
|
9
9
|
```
|
|
10
10
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ Then load and follow `.pennyfarthing/agents/ux-designer.md`
|
|
|
13
13
|
</agent-activation>
|
|
14
14
|
|
|
15
15
|
<agent-exit>
|
|
16
|
-
On exit: Capture learnings to sidecar, run `agent-session.sh stop`
|
|
16
|
+
On exit: Capture learnings to sidecar, run `run.sh core/agent-session.sh stop`
|
|
17
17
|
</agent-exit>
|
|
18
18
|
|
|
19
19
|
<purpose>
|
|
@@ -58,5 +58,5 @@ All code changes handled by Dev with design specifications.
|
|
|
58
58
|
- **Sidecar:** `.claude/project/agents/ux-designer-sidecar/`
|
|
59
59
|
- **Design System:** TailwindCSS, shadcn/ui
|
|
60
60
|
- **Skills:** `/dev-patterns`
|
|
61
|
-
- **Guides:** `.pennyfarthing/guides/
|
|
61
|
+
- **Guides:** `.pennyfarthing/guides/agent-behavior.md`
|
|
62
62
|
</reference>
|
|
@@ -7,7 +7,7 @@ description: Resume work or start new - smart entry point that picks up where yo
|
|
|
7
7
|
<agent-activation>
|
|
8
8
|
**FIRST:** Use Bash tool to run:
|
|
9
9
|
```bash
|
|
10
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/run.sh" agent-session.sh start "orchestrator"
|
|
10
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "orchestrator"
|
|
11
11
|
```
|
|
12
12
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
13
13
|
</agent-activation>
|
|
@@ -43,11 +43,22 @@ When IN_PROGRESS_STATE, map the phase to the next agent:
|
|
|
43
43
|
<on-invoke>
|
|
44
44
|
**Step 1:** Run workflow status check
|
|
45
45
|
|
|
46
|
-
```
|
|
46
|
+
```yaml
|
|
47
47
|
Task tool:
|
|
48
|
-
subagent_type: "
|
|
49
|
-
|
|
48
|
+
subagent_type: "general-purpose"
|
|
49
|
+
model: "haiku"
|
|
50
|
+
run_in_background: true
|
|
51
|
+
prompt: |
|
|
52
|
+
You are the workflow-status-check subagent.
|
|
53
|
+
CALLING_AGENT: Orchestrator (from /work command)
|
|
54
|
+
|
|
55
|
+
Read .pennyfarthing/agents/workflow-status-check.md for your instructions,
|
|
56
|
+
then EXECUTE all steps described there. Do NOT summarize - actually run
|
|
57
|
+
the bash commands and produce the required output format.
|
|
58
|
+
|
|
59
|
+
Scan workflow state for /work command.
|
|
50
60
|
```
|
|
61
|
+
Use `TaskOutput` with the returned task_id to get the result.
|
|
51
62
|
|
|
52
63
|
**Step 2:** Present findings to user
|
|
53
64
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: List available workflows, show current workflow details, and switch workflows mid-session. Use when checking available workflow types (TDD, trivial, agent-docs), viewing current workflow phase, switching to a different workflow pattern, or managing BikeLane stepped workflows.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /workflow - Workflow Management
|
|
6
|
+
|
|
7
|
+
Load and follow the workflow skill: `.claude/skills/workflow/skill.md`
|
|
8
|
+
|
|
9
|
+
Pass any arguments provided by the user to the skill commands.
|
|
10
|
+
|
|
11
|
+
## Quick Reference
|
|
12
|
+
|
|
13
|
+
| Command | Action |
|
|
14
|
+
|---------|--------|
|
|
15
|
+
| `/workflow` | List all available workflows |
|
|
16
|
+
| `/workflow list` | List all available workflows |
|
|
17
|
+
| `/workflow show [name]` | Show workflow details (current session if no name) |
|
|
18
|
+
| `/workflow set <name>` | Switch to a different workflow mid-session |
|
|
19
|
+
| `/workflow start <name> [--mode <mode>]` | Start a stepped workflow |
|
|
20
|
+
| `/workflow resume [name]` | Resume an interrupted stepped workflow |
|
|
21
|
+
| `/workflow status` | Show current stepped workflow progress |
|
|
@@ -82,7 +82,7 @@ Support Agents
|
|
|
82
82
|
│ │ ├── agents/ # Agent sidecars (patterns, gotchas, decisions)
|
|
83
83
|
│ │ └── commands/ # Custom project commands
|
|
84
84
|
│ │
|
|
85
|
-
│ ├── persona-config.
|
|
85
|
+
│ ├── persona-config.yaml # Project default theme (shared with team)
|
|
86
86
|
│ └── CLAUDE.md # Project instructions
|
|
87
87
|
│
|
|
88
88
|
├── .session/ # Active work sessions
|
|
@@ -293,11 +293,11 @@ Handoffs are automated via Haiku subagents in `.pennyfarthing/agents/`.
|
|
|
293
293
|
```
|
|
294
294
|
SM → TEA → Dev → Reviewer → SM
|
|
295
295
|
│ │ │ │ │
|
|
296
|
-
│ │ │ │ └──
|
|
297
|
-
│ │ │ └──
|
|
298
|
-
│ │ └──
|
|
299
|
-
│ └──
|
|
300
|
-
└──
|
|
296
|
+
│ │ │ │ └── sm-finish PHASE=execute
|
|
297
|
+
│ │ │ └── handoff VERDICT=approved/rejected
|
|
298
|
+
│ │ └── handoff CURRENT_PHASE=green
|
|
299
|
+
│ └── handoff CURRENT_PHASE=red
|
|
300
|
+
└── sm-setup MODE=setup + sm-handoff
|
|
301
301
|
```
|
|
302
302
|
|
|
303
303
|
### Complete Subagent Inventory
|
|
@@ -305,12 +305,12 @@ SM → TEA → Dev → Reviewer → SM
|
|
|
305
305
|
| Subagent File | Purpose | Model |
|
|
306
306
|
|--------------|---------|-------|
|
|
307
307
|
| **SM Subagents** | | |
|
|
308
|
-
| `
|
|
309
|
-
| `
|
|
308
|
+
| `sm-setup.md` | Research backlog (MODE=research) or setup story (MODE=setup) | haiku |
|
|
309
|
+
| `sm-finish.md` | Preflight checks (PHASE=preflight) or execute finish (PHASE=execute) | haiku |
|
|
310
310
|
| `sm-handoff.md` | SM → TEA/Dev handoff with Jira/branch verification | haiku |
|
|
311
311
|
| `sm-file-summary.md` | Summarize file changes for commits | haiku |
|
|
312
312
|
| **Shared Subagents** | | |
|
|
313
|
-
| `
|
|
313
|
+
| `handoff.md` | Workflow-driven phase transitions (TEA, Dev, Reviewer) | haiku |
|
|
314
314
|
| `testing-runner.md` | Run tests and report results | haiku |
|
|
315
315
|
| **Reviewer Subagents** | | |
|
|
316
316
|
| `reviewer-preflight.md` | Pre-flight checks before review | haiku |
|
|
@@ -319,37 +319,37 @@ SM → TEA → Dev → Reviewer → SM
|
|
|
319
319
|
|
|
320
320
|
### SM → TEA (Story Setup)
|
|
321
321
|
**Trigger:** User selects story via `/new-work`
|
|
322
|
-
**Subagent:** `
|
|
322
|
+
**Subagent:** `sm-setup MODE=setup` then `sm-handoff`
|
|
323
323
|
**Action:** Claim Jira, write session file, create branches
|
|
324
324
|
**Handoff phrase:** "TEA, Story X-Y needs tests. Write failing tests for these ACs."
|
|
325
325
|
|
|
326
326
|
### TEA → Dev (Tests Written)
|
|
327
327
|
**Trigger:** TEA completes failing tests
|
|
328
|
-
**Subagent:** `
|
|
328
|
+
**Subagent:** `handoff CURRENT_PHASE=red`
|
|
329
329
|
**Action:** Update session file, transition to green phase
|
|
330
330
|
**Handoff phrase:** "Dev, tests are RED and ready. Make them GREEN."
|
|
331
331
|
|
|
332
332
|
### Dev → Reviewer (Implementation Complete)
|
|
333
333
|
**Trigger:** Dev creates PR with passing tests
|
|
334
|
-
**Subagent:** `
|
|
334
|
+
**Subagent:** `handoff CURRENT_PHASE=green`
|
|
335
335
|
**Action:** Update session file, transition to review phase
|
|
336
336
|
**Handoff phrase:** "Reviewer, PR #N is ready. All tests GREEN."
|
|
337
337
|
|
|
338
338
|
### Reviewer → SM (Approved)
|
|
339
339
|
**Trigger:** Reviewer approves PR
|
|
340
|
-
**Subagent:** `
|
|
340
|
+
**Subagent:** `handoff VERDICT=approved`
|
|
341
341
|
**Action:** Update status to `approved`, transition to finish phase
|
|
342
342
|
**Handoff phrase:** "SM, Story X-Y approved. Run finish-story."
|
|
343
343
|
|
|
344
344
|
### Reviewer → Dev (Rejected)
|
|
345
345
|
**Trigger:** Reviewer finds issues
|
|
346
|
-
**Subagent:** `
|
|
346
|
+
**Subagent:** `handoff VERDICT=rejected`
|
|
347
347
|
**Action:** Update session with issues, route back to implement phase
|
|
348
348
|
**Handoff phrase:** "Dev, {N} issues found. See assessment for details."
|
|
349
349
|
|
|
350
350
|
### SM → Done (Finish)
|
|
351
351
|
**Trigger:** Status = `approved`
|
|
352
|
-
**Subagent:** `
|
|
352
|
+
**Subagent:** `sm-finish PHASE=execute`
|
|
353
353
|
**Action:** Archive session, create summary, update sprint YAML, sync Jira
|
|
354
354
|
|
|
355
355
|
## Support Agent Handoffs
|
|
@@ -92,7 +92,7 @@ The core activation sequence for every agent. The `CRITICAL="TRUE"` attribute si
|
|
|
92
92
|
**Structure:**
|
|
93
93
|
```xml
|
|
94
94
|
<agent-activation CRITICAL="TRUE">
|
|
95
|
-
1. LOAD shared behavior from .pennyfarthing/guides/
|
|
95
|
+
1. LOAD shared behavior from .pennyfarthing/guides/agent-behavior.md
|
|
96
96
|
2. LOAD the FULL agent file from .pennyfarthing/agents/{agent}.md
|
|
97
97
|
3. READ its entire contents
|
|
98
98
|
4. LOAD SIDECAR MEMORY:
|
|
@@ -33,8 +33,8 @@ The primary work session file. One per active story.
|
|
|
33
33
|
- `36-2-session.md`
|
|
34
34
|
- `10-15-session.md`
|
|
35
35
|
|
|
36
|
-
**Created by:** `
|
|
37
|
-
**Archived by:** `
|
|
36
|
+
**Created by:** `sm-setup MODE=setup`
|
|
37
|
+
**Archived by:** `sm-finish PHASE=execute` → `sprint/archive/story-{STORY_ID}-{DATE}.md`
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -52,7 +52,7 @@ context-epic-{EPIC_NUM}.md
|
|
|
52
52
|
- `context-epic-10.md`
|
|
53
53
|
|
|
54
54
|
**Created by:** SM (epic-tech-context task)
|
|
55
|
-
**Archived by:** `
|
|
55
|
+
**Archived by:** `sm-finish PHASE=execute` (story), `/start-epic` or `/retro` (epic)
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
@@ -75,7 +75,7 @@ test-{STORY_ID}-{AGENT}-{PHASE}.md
|
|
|
75
75
|
- `test-36-2-dev-green.md`
|
|
76
76
|
- `test-36-2-reviewer-verify.log`
|
|
77
77
|
|
|
78
|
-
**Created by:** `
|
|
78
|
+
**Created by:** `handoff`, `reviewer-preflight`, `testing-runner`
|
|
79
79
|
**Cleaned by:** `session-cleanup.sh --story {STORY_ID}` or 1-day retention
|
|
80
80
|
|
|
81
81
|
---
|