@pennyfarthing/core 7.8.2 → 7.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/init.js +8 -7
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +16 -13
- package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
- package/packages/core/dist/cli/utils/files.d.ts +5 -4
- package/packages/core/dist/cli/utils/files.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/files.js +8 -6
- package/packages/core/dist/cli/utils/files.js.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.d.ts +7 -0
- package/packages/core/dist/cli/utils/symlinks.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.js +25 -0
- package/packages/core/dist/cli/utils/symlinks.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts.map +1 -1
- package/packages/core/dist/scripts/run-ci.test.js +1 -1
- package/packages/core/dist/scripts/run-ci.test.js.map +1 -1
- package/pennyfarthing-dist/agents/README.md +25 -17
- package/pennyfarthing-dist/agents/architect.md +3 -11
- package/pennyfarthing-dist/agents/dev.md +2 -2
- package/pennyfarthing-dist/agents/devops.md +3 -11
- package/pennyfarthing-dist/agents/handoff.md +4 -4
- package/pennyfarthing-dist/agents/orchestrator.md +2 -4
- package/pennyfarthing-dist/agents/pm.md +4 -11
- package/pennyfarthing-dist/agents/reviewer-preflight.md +4 -3
- package/pennyfarthing-dist/agents/reviewer.md +2 -8
- package/pennyfarthing-dist/agents/sm-handoff.md +3 -3
- package/pennyfarthing-dist/agents/sm-setup.md +1 -1
- package/pennyfarthing-dist/agents/sm.md +5 -29
- package/pennyfarthing-dist/agents/tea.md +2 -2
- package/pennyfarthing-dist/agents/tech-writer.md +3 -12
- package/pennyfarthing-dist/agents/testing-runner.md +8 -8
- package/pennyfarthing-dist/agents/ux-designer.md +3 -12
- package/pennyfarthing-dist/commands/git-cleanup.md +29 -53
- package/pennyfarthing-dist/commands/party-mode.md +20 -10
- package/pennyfarthing-dist/commands/work.md +6 -105
- package/pennyfarthing-dist/guides/agent-behavior.md +19 -7
- package/pennyfarthing-dist/personas/themes/1984.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/a-team.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/arcane.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +0 -13
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/dickens.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/discworld.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/don-quixote.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/dune.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/fargo.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/firefly.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/foundation.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/futurama.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +0 -13
- package/pennyfarthing-dist/personas/themes/hannibal.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/house-md.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/justified.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +0 -13
- package/pennyfarthing-dist/personas/themes/mad-max.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/mash.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/rome.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/sandman.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -11
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/succession.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +0 -11
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +0 -11
- package/pennyfarthing-dist/personas/themes/the-matrix.yaml +0 -15
- package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/the-office.yaml +0 -11
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/watchmen.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +0 -10
- package/pennyfarthing-dist/personas/themes/world-explorers.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +0 -12
- package/pennyfarthing-dist/personas/themes/x-files.yaml +0 -10
- package/pennyfarthing-dist/scripts/core/agent-session.sh +13 -14
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +1 -1
- package/pennyfarthing-dist/scripts/core/prime.sh +17 -2
- package/pennyfarthing-dist/scripts/core/run.sh +5 -5
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +2 -2
- package/pennyfarthing-dist/scripts/git/release.sh +2 -2
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +2 -2
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +2 -2
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +1 -1
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +1 -1
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +1 -1
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +1 -1
- package/pennyfarthing-dist/scripts/lib/common.sh +1 -1
- package/pennyfarthing-dist/scripts/lib/find-root.sh +4 -4
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +102 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +1 -1
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +2 -2
- package/pennyfarthing-dist/scripts/misc/backlog.sh +2 -2
- package/pennyfarthing-dist/scripts/misc/deploy.sh +2 -2
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +4 -4
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +2 -2
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +1 -1
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +2 -2
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +6 -2
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +2 -2
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +2 -2
- package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +2 -2
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +3 -2
- package/pennyfarthing-dist/scripts/workflow/check.py +2 -2
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +2 -2
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +18 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +18 -4
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +13 -5
- package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/client.py +1 -1
- package/pennyfarthing_scripts/prime/__init__.py +98 -11
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/cli.py +208 -53
- package/pennyfarthing_scripts/prime/models.py +169 -0
- package/pennyfarthing_scripts/prime/persona.py +288 -0
- package/pennyfarthing_scripts/prime/session.py +183 -0
- package/pennyfarthing_scripts/prime/workflow.py +275 -0
- package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/test_prime.py +653 -0
|
@@ -61,12 +61,6 @@ FILE_LIST: "{comma-separated file paths}"
|
|
|
61
61
|
- `/dev-patterns` - Implementation patterns
|
|
62
62
|
</skills>
|
|
63
63
|
|
|
64
|
-
<context>
|
|
65
|
-
Context auto-loaded by `/prime --agent architect`:
|
|
66
|
-
- Shared context, shared behavior
|
|
67
|
-
- Agent sidecar: `.pennyfarthing/sidecars/architect/`
|
|
68
|
-
</context>
|
|
69
|
-
|
|
70
64
|
<reasoning-mode>
|
|
71
65
|
|
|
72
66
|
**Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
|
|
@@ -90,11 +84,9 @@ REFLECT: Recommend REST endpoint following existing patterns. Document in ADR.
|
|
|
90
84
|
</reasoning-mode>
|
|
91
85
|
|
|
92
86
|
<on-activation>
|
|
93
|
-
1.
|
|
94
|
-
2.
|
|
95
|
-
3.
|
|
96
|
-
4. Assess design needs
|
|
97
|
-
5. Load additional docs lazily as needed
|
|
87
|
+
1. Context already loaded by prime
|
|
88
|
+
2. Review architectural context (current patterns and decisions)
|
|
89
|
+
3. Assess design needs
|
|
98
90
|
</on-activation>
|
|
99
91
|
|
|
100
92
|
<delegation>
|
|
@@ -59,7 +59,7 @@ PR_NUMBER: "{PR_NUMBER}"
|
|
|
59
59
|
|
|
60
60
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
61
61
|
```bash
|
|
62
|
-
OWNER=$(
|
|
62
|
+
OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {phase})
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
**If OWNER != "dev":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -153,7 +153,7 @@ Write to session file BEFORE spawning handoff:
|
|
|
153
153
|
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
154
154
|
4. **ABSOLUTE LAST ACTION:**
|
|
155
155
|
```bash
|
|
156
|
-
|
|
156
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
157
157
|
```
|
|
158
158
|
5. Output result verbatim and EXIT
|
|
159
159
|
</exit-sequence>
|
|
@@ -72,12 +72,6 @@ FILE_LIST: "{comma-separated config file paths}"
|
|
|
72
72
|
- `/release` - Release management workflow
|
|
73
73
|
</skills>
|
|
74
74
|
|
|
75
|
-
<context>
|
|
76
|
-
Context auto-loaded by `/prime --agent devops`:
|
|
77
|
-
- Shared context, shared behavior
|
|
78
|
-
- Agent sidecar: `.pennyfarthing/sidecars/devops/`
|
|
79
|
-
</context>
|
|
80
|
-
|
|
81
75
|
<reasoning-mode>
|
|
82
76
|
|
|
83
77
|
**Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
|
|
@@ -101,11 +95,9 @@ REFLECT: Add electron-rebuild step after npm install. Document in gotchas.
|
|
|
101
95
|
</reasoning-mode>
|
|
102
96
|
|
|
103
97
|
<on-activation>
|
|
104
|
-
1.
|
|
105
|
-
2.
|
|
106
|
-
3.
|
|
107
|
-
4. Spot potential problems (preventive thinking)
|
|
108
|
-
5. Load additional docs lazily as needed
|
|
98
|
+
1. Context already loaded by prime
|
|
99
|
+
2. Assess current infrastructure status
|
|
100
|
+
3. Spot potential problems (preventive thinking)
|
|
109
101
|
</on-activation>
|
|
110
102
|
|
|
111
103
|
<delegation>
|
|
@@ -151,7 +151,7 @@ HANDOFF_RESULT:
|
|
|
151
151
|
|
|
152
152
|
next_steps:
|
|
153
153
|
- "Handoff complete. Run handoff-marker.sh as ABSOLUTE LAST ACTION."
|
|
154
|
-
- "Command:
|
|
154
|
+
- "Command: .pennyfarthing/scripts/core/handoff-marker.sh {next_agent}"
|
|
155
155
|
- "Output marker result verbatim, then EXIT. Nothing after."
|
|
156
156
|
```
|
|
157
157
|
|
|
@@ -166,7 +166,7 @@ HANDOFF_RESULT:
|
|
|
166
166
|
|
|
167
167
|
next_steps:
|
|
168
168
|
- "Handoff complete. Run handoff-marker.sh as ABSOLUTE LAST ACTION."
|
|
169
|
-
- "Command:
|
|
169
|
+
- "Command: .pennyfarthing/scripts/core/handoff-marker.sh dev"
|
|
170
170
|
- "Output marker result verbatim, then EXIT. Nothing after."
|
|
171
171
|
```
|
|
172
172
|
|
|
@@ -181,7 +181,7 @@ HANDOFF_RESULT:
|
|
|
181
181
|
|
|
182
182
|
next_steps:
|
|
183
183
|
- "Handoff complete. Run handoff-marker.sh as ABSOLUTE LAST ACTION."
|
|
184
|
-
- "Command:
|
|
184
|
+
- "Command: .pennyfarthing/scripts/core/handoff-marker.sh reviewer"
|
|
185
185
|
- "Output marker result verbatim, then EXIT. Nothing after."
|
|
186
186
|
```
|
|
187
187
|
|
|
@@ -229,7 +229,7 @@ When you receive `HANDOFF_RESULT`:
|
|
|
229
229
|
**CRITICAL: The calling agent MUST run this as their ABSOLUTE LAST ACTION:**
|
|
230
230
|
|
|
231
231
|
```bash
|
|
232
|
-
|
|
232
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
233
233
|
```
|
|
234
234
|
|
|
235
235
|
Then output the script's result verbatim and EXIT. Nothing else after.
|
|
@@ -83,10 +83,8 @@ ASSESSMENT_SECTION: "Orchestrator Assessment"
|
|
|
83
83
|
</parameters>
|
|
84
84
|
|
|
85
85
|
<on-activation>
|
|
86
|
-
1.
|
|
87
|
-
2.
|
|
88
|
-
3. Present meta-operation options
|
|
89
|
-
4. Load agent/skill files lazily as needed
|
|
86
|
+
1. Context already loaded by prime
|
|
87
|
+
2. Present meta-operation options
|
|
90
88
|
</on-activation>
|
|
91
89
|
|
|
92
90
|
<delegation>
|
|
@@ -54,12 +54,6 @@ FILE_LIST: "{comma-separated file paths}"
|
|
|
54
54
|
- `/story-management` - Story creation and sizing patterns
|
|
55
55
|
</skills>
|
|
56
56
|
|
|
57
|
-
<context>
|
|
58
|
-
Context auto-loaded by `/prime --agent pm`:
|
|
59
|
-
- Shared context, shared behavior
|
|
60
|
-
- Agent sidecar: `.pennyfarthing/sidecars/pm/`
|
|
61
|
-
</context>
|
|
62
|
-
|
|
63
57
|
<reasoning-mode>
|
|
64
58
|
|
|
65
59
|
**Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
|
|
@@ -83,11 +77,10 @@ REFLECT: Recommend completing Epic 38 batch before starting new epics. P1 bugs f
|
|
|
83
77
|
</reasoning-mode>
|
|
84
78
|
|
|
85
79
|
<on-activation>
|
|
86
|
-
1.
|
|
87
|
-
2.
|
|
88
|
-
3.
|
|
89
|
-
4.
|
|
90
|
-
5. Present strategic options to user
|
|
80
|
+
1. Context already loaded by prime
|
|
81
|
+
2. Assess current progress (completed vs remaining points)
|
|
82
|
+
3. Identify blockers and priorities
|
|
83
|
+
4. Present strategic options to user
|
|
91
84
|
</on-activation>
|
|
92
85
|
|
|
93
86
|
<delegation>
|
|
@@ -28,14 +28,15 @@ model: haiku
|
|
|
28
28
|
## 1. Checkout and Diff
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
|
|
31
|
+
# If REPO is a path, cd to it; otherwise check packages/
|
|
32
|
+
cd "${REPO}" 2>/dev/null || cd "packages/${REPO}" && git fetch origin && git checkout {BRANCH} && git diff develop...HEAD --stat
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
## 2. Check Test Cache
|
|
35
36
|
|
|
36
37
|
```bash
|
|
37
|
-
source
|
|
38
|
-
SESSION_FILE="
|
|
38
|
+
source scripts/utils/test-cache.sh
|
|
39
|
+
SESSION_FILE=".session/{STORY_ID}-session.md"
|
|
39
40
|
|
|
40
41
|
if test_cache_valid "$SESSION_FILE"; then
|
|
41
42
|
CACHED_RESULT=$(test_cache_get "$SESSION_FILE" "result")
|
|
@@ -67,18 +67,12 @@ ASSESSMENT_SECTION: "Reviewer Assessment"
|
|
|
67
67
|
```
|
|
68
68
|
</parameters>
|
|
69
69
|
|
|
70
|
-
<context>
|
|
71
|
-
**Load on activation:**
|
|
72
|
-
- `pennyfarthing-dist/sidecars/reviewer-patterns.md` (if exists)
|
|
73
|
-
- `pennyfarthing-dist/sidecars/reviewer-gotchas.md` (if exists)
|
|
74
|
-
</context>
|
|
75
|
-
|
|
76
70
|
<phase-check>
|
|
77
71
|
## On Startup: Check Phase
|
|
78
72
|
|
|
79
73
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
80
74
|
```bash
|
|
81
|
-
OWNER=$(
|
|
75
|
+
OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {phase})
|
|
82
76
|
```
|
|
83
77
|
|
|
84
78
|
**If OWNER != "reviewer":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -169,7 +163,7 @@ OWNER=$($CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/core/run.sh workflow/phase-ow
|
|
|
169
163
|
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
170
164
|
4. **ABSOLUTE LAST ACTION:**
|
|
171
165
|
```bash
|
|
172
|
-
|
|
166
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
173
167
|
```
|
|
174
168
|
5. Output result verbatim and EXIT
|
|
175
169
|
|
|
@@ -77,7 +77,7 @@ HANDOFF_RESULT:
|
|
|
77
77
|
|
|
78
78
|
next_steps:
|
|
79
79
|
- "Handoff complete. Run handoff-marker.sh as ABSOLUTE LAST ACTION."
|
|
80
|
-
- "Command:
|
|
80
|
+
- "Command: .pennyfarthing/scripts/core/handoff-marker.sh {next_agent}"
|
|
81
81
|
- "Output marker result verbatim, then EXIT. Nothing after."
|
|
82
82
|
```
|
|
83
83
|
|
|
@@ -92,7 +92,7 @@ HANDOFF_RESULT:
|
|
|
92
92
|
|
|
93
93
|
next_steps:
|
|
94
94
|
- "Handoff complete. Run handoff-marker.sh as ABSOLUTE LAST ACTION."
|
|
95
|
-
- "Command:
|
|
95
|
+
- "Command: .pennyfarthing/scripts/core/handoff-marker.sh tea"
|
|
96
96
|
- "Output marker result verbatim, then EXIT. Nothing after."
|
|
97
97
|
```
|
|
98
98
|
|
|
@@ -123,7 +123,7 @@ When SM receives `HANDOFF_RESULT`:
|
|
|
123
123
|
**CRITICAL: SM MUST run this as their ABSOLUTE LAST ACTION:**
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
|
-
|
|
126
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
Then output the script's result verbatim and EXIT. Nothing else after.
|
|
@@ -17,12 +17,6 @@ The moment you start reading implementation files or planning how code should wo
|
|
|
17
17
|
**Your job is done when the next agent has context. Not when the problem is solved.**
|
|
18
18
|
</coordination-discipline>
|
|
19
19
|
|
|
20
|
-
<critical>
|
|
21
|
-
**WORKFLOW STATUS CHECK IS MANDATORY - FIRST ACTION ON EVERY ACTIVATION**
|
|
22
|
-
|
|
23
|
-
Before doing ANYTHING else, spawn `workflow-status-check` subagent. No exceptions.
|
|
24
|
-
</critical>
|
|
25
|
-
|
|
26
20
|
<critical>
|
|
27
21
|
**No code.** Coordinates workflow and stories. Handoff to Dev for implementation.
|
|
28
22
|
|
|
@@ -97,28 +91,10 @@ WORKFLOW: "{WORKFLOW}"
|
|
|
97
91
|
```
|
|
98
92
|
</parameters>
|
|
99
93
|
|
|
100
|
-
<context>
|
|
101
|
-
**Load on activation:**
|
|
102
|
-
- `pennyfarthing-dist/sidecars/sm-patterns.md` (if exists)
|
|
103
|
-
- `pennyfarthing-dist/sidecars/sm-gotchas.md` (if exists)
|
|
104
|
-
</context>
|
|
105
|
-
|
|
106
94
|
<on-activation>
|
|
107
|
-
##
|
|
108
|
-
|
|
109
|
-
**Spawn workflow-status-check FIRST. Always.**
|
|
110
|
-
|
|
111
|
-
```yaml
|
|
112
|
-
Task tool:
|
|
113
|
-
subagent_type: "general-purpose"
|
|
114
|
-
model: "haiku"
|
|
115
|
-
prompt: |
|
|
116
|
-
You are the workflow-status-check subagent. CALLING_AGENT: SM
|
|
117
|
-
Read .pennyfarthing/agents/workflow-status-check.md for instructions.
|
|
118
|
-
EXECUTE all steps. Do NOT summarize.
|
|
119
|
-
```
|
|
95
|
+
## On Activation
|
|
120
96
|
|
|
121
|
-
|
|
97
|
+
Prime script provides workflow state. Route based on state from activation output:
|
|
122
98
|
|
|
123
99
|
| State | Action |
|
|
124
100
|
|-------|--------|
|
|
@@ -255,7 +231,7 @@ SM sets up the story and hands off to the first agent. Agents hand off to each o
|
|
|
255
231
|
|
|
256
232
|
### Stepped Workflows (BikeLane)
|
|
257
233
|
|
|
258
|
-
SM does NOT hand off to agents. Instead, use `/workflow start
|
|
234
|
+
SM does NOT hand off to agents. Instead, use `/workflow start {name}` to begin the stepped flow. The workflow itself guides the user through steps with gates.
|
|
259
235
|
|
|
260
236
|
| Workflow | Type | How to Start |
|
|
261
237
|
|----------|------|--------------|
|
|
@@ -278,7 +254,7 @@ SM does NOT hand off to agents. Instead, use `/workflow start <name>` to begin t
|
|
|
278
254
|
|
|
279
255
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
280
256
|
```bash
|
|
281
|
-
OWNER=$(
|
|
257
|
+
OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {phase})
|
|
282
258
|
```
|
|
283
259
|
|
|
284
260
|
**If OWNER != "sm":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -300,7 +276,7 @@ OWNER=$($CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/core/run.sh workflow/phase-ow
|
|
|
300
276
|
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
301
277
|
4. **ABSOLUTE LAST ACTION:**
|
|
302
278
|
```bash
|
|
303
|
-
|
|
279
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
304
280
|
```
|
|
305
281
|
5. Output result verbatim and EXIT
|
|
306
282
|
|
|
@@ -58,7 +58,7 @@ ASSESSMENT_SECTION: "TEA Assessment"
|
|
|
58
58
|
|
|
59
59
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
60
60
|
```bash
|
|
61
|
-
OWNER=$(
|
|
61
|
+
OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {phase})
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
**If OWNER != "tea":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -144,7 +144,7 @@ Write to session file BEFORE spawning handoff:
|
|
|
144
144
|
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
145
145
|
4. **ABSOLUTE LAST ACTION:**
|
|
146
146
|
```bash
|
|
147
|
-
|
|
147
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
148
148
|
```
|
|
149
149
|
5. Output result verbatim and EXIT
|
|
150
150
|
</exit-sequence>
|
|
@@ -51,13 +51,6 @@ ASSESSMENT_SECTION: "Tech Writer Review"
|
|
|
51
51
|
- **CANNOT:** Modify source files
|
|
52
52
|
</critical>
|
|
53
53
|
|
|
54
|
-
<context>
|
|
55
|
-
Context auto-loaded by `/prime --agent tech-writer`:
|
|
56
|
-
- Shared context, shared behavior
|
|
57
|
-
- Agent sidecar: `.pennyfarthing/sidecars/tech-writer/`
|
|
58
|
-
- Also see: `API/docs/`, `UI/docs/`
|
|
59
|
-
</context>
|
|
60
|
-
|
|
61
54
|
<reasoning-mode>
|
|
62
55
|
|
|
63
56
|
**Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
|
|
@@ -79,11 +72,9 @@ REFLECT: I should structure this as: overview, auth, request format, response fo
|
|
|
79
72
|
</reasoning-mode>
|
|
80
73
|
|
|
81
74
|
<on-activation>
|
|
82
|
-
1.
|
|
83
|
-
2.
|
|
84
|
-
3.
|
|
85
|
-
4. Identify audience (developers, users, or both)
|
|
86
|
-
5. Load additional docs lazily as needed
|
|
75
|
+
1. Context already loaded by prime
|
|
76
|
+
2. Review feature that needs documentation
|
|
77
|
+
3. Identify audience (developers, users, or both)
|
|
87
78
|
</on-activation>
|
|
88
79
|
|
|
89
80
|
<workflow-participation>
|
|
@@ -19,8 +19,8 @@ model: haiku
|
|
|
19
19
|
<critical>
|
|
20
20
|
**Use `/check` command for unfiltered runs:**
|
|
21
21
|
```bash
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
.pennyfarthing/scripts/core/run.sh workflow/check.sh
|
|
23
|
+
.pennyfarthing/scripts/core/run.sh workflow/check.sh --repo api
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
This runs lint + typecheck + tests. Exit 0 = all passed.
|
|
@@ -40,8 +40,8 @@ This runs lint + typecheck + tests. Exit 0 = all passed.
|
|
|
40
40
|
## Setup
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
source
|
|
44
|
-
source
|
|
43
|
+
source .pennyfarthing/scripts/repo-utils.sh
|
|
44
|
+
source .pennyfarthing/scripts/utils/test-setup.sh
|
|
45
45
|
|
|
46
46
|
RUN_ID="${RUN_ID:-$(generate_run_id)}"
|
|
47
47
|
ensure_test_containers
|
|
@@ -50,8 +50,8 @@ ensure_test_containers
|
|
|
50
50
|
## Filtered Runs
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
.pennyfarthing/scripts/core/run.sh workflow/check.sh --filter "TestUserLogin"
|
|
54
|
+
.pennyfarthing/scripts/core/run.sh workflow/check.sh --repo api --filter "TestUserLogin"
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
| Language | Filter Flag |
|
|
@@ -73,8 +73,8 @@ fi
|
|
|
73
73
|
|
|
74
74
|
Write cache after running:
|
|
75
75
|
```bash
|
|
76
|
-
source
|
|
77
|
-
SESSION_FILE="
|
|
76
|
+
source .pennyfarthing/scripts/utils/test-cache.sh
|
|
77
|
+
SESSION_FILE=".session/${STORY_ID}-session.md"
|
|
78
78
|
test_cache_write "$SESSION_FILE" "$RESULT" "$PASS" "$FAIL" "$SKIP" "${DURATION}s"
|
|
79
79
|
```
|
|
80
80
|
|
|
@@ -46,13 +46,6 @@ FILE_LIST: "{comma-separated UI component paths}"
|
|
|
46
46
|
- **CANNOT:** Modify source files
|
|
47
47
|
</critical>
|
|
48
48
|
|
|
49
|
-
<context>
|
|
50
|
-
Context auto-loaded by `/prime --agent ux-designer`:
|
|
51
|
-
- Shared context, shared behavior
|
|
52
|
-
- Agent sidecar: `.pennyfarthing/sidecars/ux-designer/`
|
|
53
|
-
- Also see: TailwindCSS, shadcn/ui, `UI/` (React 18)
|
|
54
|
-
</context>
|
|
55
|
-
|
|
56
49
|
<reasoning-mode>
|
|
57
50
|
|
|
58
51
|
**Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
|
|
@@ -74,11 +67,9 @@ REFLECT: I should design this modal to match existing patterns while adding clea
|
|
|
74
67
|
</reasoning-mode>
|
|
75
68
|
|
|
76
69
|
<on-activation>
|
|
77
|
-
1.
|
|
78
|
-
2.
|
|
79
|
-
3.
|
|
80
|
-
4. Assess design needs (wireframes, flows, components)
|
|
81
|
-
5. Load additional docs lazily as needed
|
|
70
|
+
1. Context already loaded by prime
|
|
71
|
+
2. Review feature requirements and user needs
|
|
72
|
+
3. Assess design needs (wireframes, flows, components)
|
|
82
73
|
</on-activation>
|
|
83
74
|
|
|
84
75
|
<workflow-participation>
|
|
@@ -5,71 +5,47 @@ workflow: git-cleanup
|
|
|
5
5
|
|
|
6
6
|
# Git Cleanup Command
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Organize uncommitted changes into proper commits and branches.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Quick Start
|
|
11
|
+
|
|
12
|
+
Run `/git-cleanup` to start the stepped workflow.
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
## Workflow Steps
|
|
13
15
|
|
|
14
16
|
| Step | Name | Purpose |
|
|
15
17
|
|------|------|---------|
|
|
16
|
-
| 1 | Analyze |
|
|
17
|
-
| 2 | Categorize | Group changes by initiative
|
|
18
|
+
| 1 | Analyze | Check stash, gather git status |
|
|
19
|
+
| 2 | Categorize | Group changes by initiative |
|
|
18
20
|
| 3 | Execute | Create branches, commit, merge |
|
|
19
|
-
| 4 | Verify | Confirm clean state,
|
|
20
|
-
| 5 | Complete |
|
|
21
|
-
|
|
22
|
-
## Quick Start
|
|
23
|
-
|
|
24
|
-
Run `/git-cleanup` to start the workflow.
|
|
25
|
-
|
|
26
|
-
## Git Workflow Rules
|
|
21
|
+
| 4 | Verify | Confirm clean state, push |
|
|
22
|
+
| 5 | Complete | Verify stash empty, summary |
|
|
27
23
|
|
|
28
|
-
|
|
24
|
+
## Critical Rules
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
## Categorization Reference
|
|
37
|
-
|
|
38
|
-
| Prefix | Type | Branch Pattern |
|
|
39
|
-
|--------|------|----------------|
|
|
40
|
-
| `docs:` | Documentation | `docs/description` |
|
|
41
|
-
| `chore:` | Maintenance | `chore/description` |
|
|
42
|
-
| `chore(sprint):` | Sprint tracking | `chore/sprint-update` |
|
|
43
|
-
| `feat:` | New feature | `feat/story-id-desc` |
|
|
44
|
-
| `fix:` | Bug fix | `fix/issue-desc` |
|
|
45
|
-
| `refactor:` | Code improvement | `refactor/description` |
|
|
46
|
-
| `test:` | Test changes | `test/description` |
|
|
26
|
+
- **NEVER** commit directly to develop (use branches)
|
|
27
|
+
- **NEVER** force push
|
|
28
|
+
- **ALWAYS** check stash before starting (`git stash list`)
|
|
29
|
+
- **ALWAYS** clear stash after completing (with user permission)
|
|
30
|
+
- **ALWAYS** check stash before assuming work is lost
|
|
47
31
|
|
|
48
|
-
##
|
|
32
|
+
## Stash Safety
|
|
49
33
|
|
|
50
|
-
|
|
34
|
+
Work is rarely lost - it's usually in stash:
|
|
51
35
|
|
|
52
36
|
```bash
|
|
53
|
-
#
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# Standard cleanup sequence
|
|
57
|
-
git stash push -m "cleanup-wip"
|
|
58
|
-
git checkout develop && git pull
|
|
59
|
-
git checkout -b chore/cleanup-$(date +%Y%m%d)
|
|
60
|
-
git stash pop
|
|
61
|
-
git add <files>
|
|
62
|
-
git commit -m "chore: description"
|
|
63
|
-
git checkout develop
|
|
64
|
-
git merge chore/cleanup-$(date +%Y%m%d)
|
|
65
|
-
git branch -d chore/cleanup-$(date +%Y%m%d)
|
|
66
|
-
git push origin develop
|
|
37
|
+
git stash list # Check for saved work
|
|
38
|
+
git stash show -p stash@{0} # See contents
|
|
39
|
+
git stash pop # Restore it
|
|
67
40
|
```
|
|
68
41
|
|
|
69
|
-
##
|
|
42
|
+
## Commit Types
|
|
70
43
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
44
|
+
| Prefix | Use For |
|
|
45
|
+
|--------|---------|
|
|
46
|
+
| `feat:` | New features |
|
|
47
|
+
| `fix:` | Bug fixes |
|
|
48
|
+
| `chore:` | Maintenance |
|
|
49
|
+
| `docs:` | Documentation |
|
|
50
|
+
| `refactor:` | Code improvement |
|
|
51
|
+
| `test:` | Test changes |
|
|
@@ -10,20 +10,30 @@ You are now in **PARTY MODE** - a free-form creative brainstorming session where
|
|
|
10
10
|
|
|
11
11
|
This is the "yes, and..." mode. No idea is too wild. We're exploring possibilities, not committing to implementations. The goal is to generate creative solutions and novel approaches.
|
|
12
12
|
|
|
13
|
+
## Setup
|
|
14
|
+
|
|
15
|
+
First, get the current theme's agent personas:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pennyfarthing theme show
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Use the character names from the current theme for all agent perspectives below.
|
|
22
|
+
|
|
13
23
|
## How It Works
|
|
14
24
|
|
|
15
25
|
When a topic or problem is presented:
|
|
16
26
|
|
|
17
|
-
1. **Each agent perspective contributes** (pick 3-4 relevant ones):
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
+
1. **Each agent perspective contributes** (pick 3-4 relevant ones, using current theme characters):
|
|
28
|
+
- **PM character**: Strategic implications, business value, political angles
|
|
29
|
+
- **Architect character**: Technical possibilities, creative mechanisms, "what if we..."
|
|
30
|
+
- **SM character**: Practical concerns, team impact, "how would this actually work"
|
|
31
|
+
- **Dev character**: Implementation ideas, "I could build that by..."
|
|
32
|
+
- **TEA character**: Quality angles, "we could verify that with..."
|
|
33
|
+
- **UX-Designer character**: User experience, "users would love if..."
|
|
34
|
+
- **Tech-Writer character**: Communication, "we could explain it as..."
|
|
35
|
+
- **DevOps character**: Operational reality, "in production this would..."
|
|
36
|
+
- **Orchestrator character**: THE LONG VIEW. WHAT MATTERS IN THE END.
|
|
27
37
|
|
|
28
38
|
2. **Build on each other's ideas** - "Yes, and what if we also..."
|
|
29
39
|
|