@pennyfarthing/core 7.9.2 → 7.9.5
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/package.json +2 -2
- package/pennyfarthing-dist/agents/README.md +348 -0
- package/pennyfarthing-dist/agents/architect.md +180 -0
- package/pennyfarthing-dist/agents/dev.md +169 -0
- package/pennyfarthing-dist/agents/devops.md +203 -0
- package/pennyfarthing-dist/agents/handoff.md +235 -0
- package/pennyfarthing-dist/agents/orchestrator.md +182 -0
- package/pennyfarthing-dist/agents/pm.md +152 -0
- package/pennyfarthing-dist/agents/reviewer-preflight.md +129 -0
- package/pennyfarthing-dist/agents/reviewer.md +180 -0
- package/pennyfarthing-dist/agents/sm-file-summary.md +79 -0
- package/pennyfarthing-dist/agents/sm-finish.md +82 -0
- package/pennyfarthing-dist/agents/sm-handoff.md +129 -0
- package/pennyfarthing-dist/agents/sm-setup.md +251 -0
- package/pennyfarthing-dist/agents/sm.md +284 -0
- package/pennyfarthing-dist/agents/tea.md +161 -0
- package/pennyfarthing-dist/agents/tech-writer.md +226 -0
- package/pennyfarthing-dist/agents/testing-runner.md +184 -0
- package/pennyfarthing-dist/agents/ux-designer.md +236 -0
- package/pennyfarthing-dist/agents/workflow-status-check.md +96 -0
- package/pennyfarthing-dist/commands/architect.md +7 -0
- package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
- package/pennyfarthing-dist/commands/benchmark.md +485 -0
- package/pennyfarthing-dist/commands/brainstorming.md +91 -0
- package/pennyfarthing-dist/commands/check.md +156 -0
- package/pennyfarthing-dist/commands/chore.md +178 -0
- package/pennyfarthing-dist/commands/close-epic.md +139 -0
- package/pennyfarthing-dist/commands/continue-session.md +184 -0
- package/pennyfarthing-dist/commands/create-branches-from-story.md +358 -0
- package/pennyfarthing-dist/commands/create-theme.md +29 -0
- package/pennyfarthing-dist/commands/dev.md +7 -0
- package/pennyfarthing-dist/commands/devops.md +7 -0
- package/pennyfarthing-dist/commands/git-cleanup.md +51 -0
- package/pennyfarthing-dist/commands/health-check.md +141 -0
- package/pennyfarthing-dist/commands/help.md +264 -0
- package/pennyfarthing-dist/commands/job-fair.md +102 -0
- package/pennyfarthing-dist/commands/list-themes.md +21 -0
- package/pennyfarthing-dist/commands/orchestrator.md +7 -0
- package/pennyfarthing-dist/commands/parallel-work.md +71 -0
- package/pennyfarthing-dist/commands/party-mode.md +77 -0
- package/pennyfarthing-dist/commands/permissions.md +193 -0
- package/pennyfarthing-dist/commands/pm.md +7 -0
- package/pennyfarthing-dist/commands/prime.md +140 -0
- package/pennyfarthing-dist/commands/release.md +58 -0
- package/pennyfarthing-dist/commands/repo-status.md +49 -0
- package/pennyfarthing-dist/commands/retro.md +200 -0
- package/pennyfarthing-dist/commands/reviewer.md +7 -0
- package/pennyfarthing-dist/commands/run-ci.md +116 -0
- package/pennyfarthing-dist/commands/set-theme.md +56 -0
- package/pennyfarthing-dist/commands/show-theme.md +21 -0
- package/pennyfarthing-dist/commands/sm.md +7 -0
- package/pennyfarthing-dist/commands/solo.md +447 -0
- package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
- package/pennyfarthing-dist/commands/sprint.md +133 -0
- package/pennyfarthing-dist/commands/standalone.md +194 -0
- package/pennyfarthing-dist/commands/start-epic.md +168 -0
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +184 -0
- package/pennyfarthing-dist/commands/sync-work-with-sprint.md +373 -0
- package/pennyfarthing-dist/commands/tea.md +7 -0
- package/pennyfarthing-dist/commands/tech-writer.md +7 -0
- package/pennyfarthing-dist/commands/theme-maker.md +676 -0
- package/pennyfarthing-dist/commands/update-domain-docs.md +83 -0
- package/pennyfarthing-dist/commands/ux-designer.md +7 -0
- package/pennyfarthing-dist/commands/work.md +23 -0
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +311 -0
- package/pennyfarthing-dist/guides/agent-coordination.md +480 -0
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +432 -0
- package/pennyfarthing-dist/guides/agent-template-strategic.md +148 -0
- package/pennyfarthing-dist/guides/agent-template-tactical.md +162 -0
- package/pennyfarthing-dist/guides/hooks.md +230 -0
- package/pennyfarthing-dist/guides/measurement-framework.md +210 -0
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +766 -0
- package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +574 -0
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +488 -0
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +402 -0
- package/pennyfarthing-dist/guides/permission-protocol.md +188 -0
- package/pennyfarthing-dist/guides/persona-loading.md +46 -0
- package/pennyfarthing-dist/guides/prompt-patterns.md +338 -0
- package/pennyfarthing-dist/guides/scale-levels.md +114 -0
- package/pennyfarthing-dist/guides/session-artifacts.md +193 -0
- package/pennyfarthing-dist/guides/workflow-schema.md +257 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
- package/pennyfarthing-dist/guides/xml-tags.md +335 -0
- package/pennyfarthing-dist/output-styles/teaching.md +33 -0
- package/pennyfarthing-dist/output-styles/terse.md +20 -0
- package/pennyfarthing-dist/output-styles/verbose.md +28 -0
- package/pennyfarthing-dist/personas/BENCHMARK-METHODOLOGY.md +105 -0
- package/pennyfarthing-dist/personas/OCEAN-BENCHMARKING.md +210 -0
- package/pennyfarthing-dist/personas/TRAIL-OCEAN-MAPPING.md +168 -0
- package/pennyfarthing-dist/personas/ZEITGEIST-ANALYSIS.md +171 -0
- package/pennyfarthing-dist/personas/attributes.yaml +69 -0
- package/pennyfarthing-dist/personas/scripts/add-zeitgeist-calibrated.py +81 -0
- package/pennyfarthing-dist/personas/scripts/add-zeitgeist-scores.sh +56 -0
- package/pennyfarthing-dist/personas/themes/1984.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/a-team.yaml +331 -0
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +324 -0
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +298 -0
- package/pennyfarthing-dist/personas/themes/arcane.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +327 -0
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +289 -0
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +319 -0
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +302 -0
- package/pennyfarthing-dist/personas/themes/control.yaml +201 -0
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +315 -0
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/dickens.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/discworld.yaml +334 -0
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/don-quixote.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/dune.yaml +301 -0
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/fargo.yaml +322 -0
- package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/firefly.yaml +320 -0
- package/pennyfarthing-dist/personas/themes/foundation.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/futurama.yaml +313 -0
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +365 -0
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +300 -0
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +300 -0
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/hannibal.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +316 -0
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +285 -0
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +323 -0
- package/pennyfarthing-dist/personas/themes/house-md.yaml +313 -0
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +281 -0
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/justified.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +343 -0
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +293 -0
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +325 -0
- package/pennyfarthing-dist/personas/themes/mad-max.yaml +349 -0
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/mash.yaml +329 -0
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +298 -0
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +297 -0
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +321 -0
- package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +364 -0
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +292 -0
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +344 -0
- package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/rome.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +310 -0
- package/pennyfarthing-dist/personas/themes/sandman.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +295 -0
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +290 -0
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +358 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +327 -0
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +297 -0
- package/pennyfarthing-dist/personas/themes/succession.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +332 -0
- package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +359 -0
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +337 -0
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +315 -0
- package/pennyfarthing-dist/personas/themes/the-matrix.yaml +342 -0
- package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-office.yaml +323 -0
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +300 -0
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +303 -0
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +296 -0
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/watchmen.yaml +285 -0
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +285 -0
- package/pennyfarthing-dist/personas/themes/world-explorers.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +299 -0
- package/pennyfarthing-dist/personas/themes/x-files.yaml +296 -0
- package/pennyfarthing-dist/personas/zeitgeist-scores.yaml +1172 -0
- package/pennyfarthing-dist/scripts/README.md +87 -0
- package/pennyfarthing-dist/scripts/core/README.md +26 -0
- package/pennyfarthing-dist/scripts/core/agent-session.sh +383 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +280 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +101 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +95 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +30 -0
- package/pennyfarthing-dist/scripts/core/run.sh +92 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
- package/pennyfarthing-dist/scripts/git/README.md +25 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +267 -0
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +152 -0
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +91 -0
- package/pennyfarthing-dist/scripts/git/release.sh +215 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +494 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +162 -0
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +106 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +60 -0
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +65 -0
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +35 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +166 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +107 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +54 -0
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +20 -0
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +499 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +97 -0
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +65 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +94 -0
- package/pennyfarthing-dist/scripts/jira/README.md +36 -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-claim-story.sh +22 -0
- package/pennyfarthing-dist/scripts/jira/jira-lib.sh +464 -0
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +266 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +18 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync.sh +16 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +16 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +16 -0
- package/pennyfarthing-dist/scripts/lib/README.md +29 -0
- package/pennyfarthing-dist/scripts/lib/background-tasks.sh +177 -0
- package/pennyfarthing-dist/scripts/lib/checkpoint.sh +136 -0
- package/pennyfarthing-dist/scripts/lib/common.sh +212 -0
- package/pennyfarthing-dist/scripts/lib/file-lock.sh +269 -0
- package/pennyfarthing-dist/scripts/lib/find-root.sh +35 -0
- package/pennyfarthing-dist/scripts/lib/logging.sh +186 -0
- package/pennyfarthing-dist/scripts/lib/retry.sh +76 -0
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +102 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +97 -0
- package/pennyfarthing-dist/scripts/misc/README.md +44 -0
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +13 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +226 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +91 -0
- package/pennyfarthing-dist/scripts/misc/check-status.sh +247 -0
- package/pennyfarthing-dist/scripts/misc/find-related-work.sh +231 -0
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +122 -0
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +74 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +10 -0
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +319 -0
- package/pennyfarthing-dist/scripts/misc/repo-scan.sh +141 -0
- package/pennyfarthing-dist/scripts/misc/repo-utils.sh +778 -0
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +219 -0
- package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +7 -0
- package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +319 -0
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +193 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +259 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +270 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +160 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +400 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +54 -0
- package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +139 -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/import-epic-to-future.sh +10 -0
- package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +270 -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 +154 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +421 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +241 -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 +19 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +18 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +18 -0
- package/pennyfarthing-dist/scripts/test/README.md +23 -0
- package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +59 -0
- package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +220 -0
- package/pennyfarthing-dist/scripts/test/swebench-judge.py +374 -0
- package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
- package/pennyfarthing-dist/scripts/test/test-setup.sh +337 -0
- package/pennyfarthing-dist/scripts/tests/check.test.sh +582 -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 +105 -0
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +597 -0
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +514 -0
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +517 -0
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +331 -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 +13 -0
- package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +402 -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/validation/validate-agent-schema.sh +576 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
- package/pennyfarthing-dist/scripts/workflow/check.py +502 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +24 -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/get-workflow-type.py +61 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +13 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +130 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +40 -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 +242 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +367 -0
- package/pennyfarthing-dist/skills/code-review/SKILL.md +168 -0
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +274 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +88 -0
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +437 -0
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +258 -0
- package/pennyfarthing-dist/skills/jira/SKILL.md +484 -0
- package/pennyfarthing-dist/skills/judge/SKILL.md +636 -0
- package/pennyfarthing-dist/skills/just/SKILL.md +403 -0
- package/pennyfarthing-dist/skills/mermaid/SKILL.md +240 -0
- package/pennyfarthing-dist/skills/otel/skill.md +223 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +172 -0
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +178 -0
- package/pennyfarthing-dist/skills/skill-registry.schema.json +107 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +393 -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 +86 -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/testing/SKILL.md +99 -0
- package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
- package/pennyfarthing-dist/skills/theme/skill.md +129 -0
- package/pennyfarthing-dist/skills/theme-creation/SKILL.md +174 -0
- 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/skills/yq/SKILL.md +264 -0
- package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +187 -0
- package/pennyfarthing-dist/templates/LEADERBOARD.template.md +59 -0
- package/pennyfarthing-dist/templates/agent-scopes.yaml.template +276 -0
- package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +61 -0
- package/pennyfarthing-dist/templates/persona-config.yaml.template +22 -0
- package/pennyfarthing-dist/templates/preferences.yaml.template +15 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +101 -0
- package/pennyfarthing-dist/templates/setup-env.sh.template +18 -0
- package/pennyfarthing-dist/templates/shared-context.md.template +70 -0
- package/pennyfarthing-dist/templates/sidecar/decisions.md.template +40 -0
- package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +37 -0
- package/pennyfarthing-dist/templates/sidecar/patterns.md.template +34 -0
- package/pennyfarthing-dist/workflows/agent-docs.yaml +70 -0
- 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 +60 -0
- 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 +153 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +122 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +28 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +101 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +116 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +224 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +88 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +79 -0
- package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -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/tdd.yaml +50 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +40 -0
- 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
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# TEA Agent - Test Engineer/Architect
|
|
2
|
+
<role>
|
|
3
|
+
Test writing, TDD RED phase, acceptance criteria analysis
|
|
4
|
+
</role>
|
|
5
|
+
|
|
6
|
+
<test-paranoia>
|
|
7
|
+
**You are not here to prove the code works. You are here to prove it breaks.**
|
|
8
|
+
|
|
9
|
+
Every line of code you DON'T test is a bug waiting to happen. Your tests aren't passing because the code is good—they're passing because you haven't found the edge case yet.
|
|
10
|
+
|
|
11
|
+
**Default stance:** Paranoid. What haven't I tested?
|
|
12
|
+
|
|
13
|
+
- Happy path works? Great—now break it with nulls, empty strings, boundary values.
|
|
14
|
+
- One assertion per test? Add the negative case. What should NOT happen?
|
|
15
|
+
- Tests pass quickly? Add the slow path, the timeout, the race condition.
|
|
16
|
+
|
|
17
|
+
**A test suite that catches nothing catches nothing.**
|
|
18
|
+
</test-paranoia>
|
|
19
|
+
|
|
20
|
+
<critical>
|
|
21
|
+
**HANDOFF REQUIRES MARKER OUTPUT.** After `handoff` subagent returns:
|
|
22
|
+
Run `handoff-marker.sh {next_agent}` as ABSOLUTE LAST ACTION, output result, EXIT.
|
|
23
|
+
</critical>
|
|
24
|
+
|
|
25
|
+
<helpers>
|
|
26
|
+
**Model:** haiku | **Execution:** foreground (sequential)
|
|
27
|
+
|
|
28
|
+
| Subagent | Purpose |
|
|
29
|
+
|----------|---------|
|
|
30
|
+
| `testing-runner` | Run tests, gather results |
|
|
31
|
+
| `handoff` | Update session for handoff to Dev |
|
|
32
|
+
</helpers>
|
|
33
|
+
|
|
34
|
+
<parameters>
|
|
35
|
+
## Subagent Parameters
|
|
36
|
+
|
|
37
|
+
### testing-runner
|
|
38
|
+
```yaml
|
|
39
|
+
REPOS: {repo name or "all"}
|
|
40
|
+
CONTEXT: "Verifying RED state for Story {STORY_ID}"
|
|
41
|
+
RUN_ID: "{STORY_ID}-tea-red"
|
|
42
|
+
STORY_ID: "{STORY_ID}"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### handoff
|
|
46
|
+
```yaml
|
|
47
|
+
STORY_ID: "{STORY_ID}"
|
|
48
|
+
WORKFLOW: "{WORKFLOW}"
|
|
49
|
+
CURRENT_PHASE: "red"
|
|
50
|
+
REPOS: "{REPOS}"
|
|
51
|
+
TEST_RESULT: "RED"
|
|
52
|
+
ASSESSMENT_SECTION: "TEA Assessment"
|
|
53
|
+
```
|
|
54
|
+
</parameters>
|
|
55
|
+
|
|
56
|
+
<phase-check>
|
|
57
|
+
## On Startup: Check Phase
|
|
58
|
+
|
|
59
|
+
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
60
|
+
```bash
|
|
61
|
+
OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {phase})
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**If OWNER != "tea":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
65
|
+
</phase-check>
|
|
66
|
+
|
|
67
|
+
<on-activation>
|
|
68
|
+
1. Context already loaded by /prime
|
|
69
|
+
2. If handed off to TEA: "Story X-Y is ready for tests. Shall I begin?"
|
|
70
|
+
</on-activation>
|
|
71
|
+
|
|
72
|
+
<delegation>
|
|
73
|
+
## What I Do vs What Helper Does
|
|
74
|
+
|
|
75
|
+
| I Do (Opus) | Helper Does (Haiku) |
|
|
76
|
+
|-------------|-------------------|
|
|
77
|
+
| Read story, plan test strategy | Run tests, report results |
|
|
78
|
+
| Write test code | Update session for handoff |
|
|
79
|
+
| Make judgment calls | Execute mechanical checks |
|
|
80
|
+
| Assess if tests are needed | |
|
|
81
|
+
</delegation>
|
|
82
|
+
|
|
83
|
+
<workflow>
|
|
84
|
+
## Primary Workflow: Write Failing Tests (RED)
|
|
85
|
+
|
|
86
|
+
**Input:** Story with acceptance criteria from SM
|
|
87
|
+
**Output:** Failing tests ready for Dev (RED state)
|
|
88
|
+
|
|
89
|
+
1. Read story from session file
|
|
90
|
+
2. **Assess:** Tests needed or chore bypass?
|
|
91
|
+
3. If tests needed:
|
|
92
|
+
- Write failing tests covering each AC
|
|
93
|
+
- Use `/testing` skill for patterns
|
|
94
|
+
- Commit: `git commit -m "test: add failing tests for X-Y"`
|
|
95
|
+
4. **Spawn `testing-runner`** to verify RED state
|
|
96
|
+
5. Write TEA Assessment to session file
|
|
97
|
+
6. **Spawn `handoff` subagent** with CURRENT_PHASE=red
|
|
98
|
+
|
|
99
|
+
## Chore Bypass Criteria
|
|
100
|
+
|
|
101
|
+
TEA may skip test writing for:
|
|
102
|
+
- Documentation updates (README, docs/)
|
|
103
|
+
- Configuration changes (env, CI, build config)
|
|
104
|
+
- Dependency updates (package.json, go.mod)
|
|
105
|
+
- Refactoring with existing coverage
|
|
106
|
+
|
|
107
|
+
**If bypassing:** Document reason in session file, hand directly to Dev.
|
|
108
|
+
</workflow>
|
|
109
|
+
|
|
110
|
+
<handoff-gate>
|
|
111
|
+
## MANDATORY: Complete Before Exiting
|
|
112
|
+
|
|
113
|
+
- [ ] Write TEA Assessment to session file
|
|
114
|
+
- [ ] Spawn `handoff` subagent
|
|
115
|
+
- [ ] Verify handoff completed (subagent emits marker)
|
|
116
|
+
</handoff-gate>
|
|
117
|
+
|
|
118
|
+
<assessment-template>
|
|
119
|
+
## TEA Assessment Template
|
|
120
|
+
|
|
121
|
+
Write to session file BEFORE spawning handoff:
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
## TEA Assessment
|
|
125
|
+
|
|
126
|
+
**Tests Required:** Yes | No
|
|
127
|
+
**Reason:** {if No: why bypassing}
|
|
128
|
+
|
|
129
|
+
**Test Files:** (if Yes)
|
|
130
|
+
- `path/to/test_file.go` - {description}
|
|
131
|
+
|
|
132
|
+
**Tests Written:** {N} tests covering {M} ACs
|
|
133
|
+
**Status:** RED (failing - ready for Dev)
|
|
134
|
+
|
|
135
|
+
**Handoff:** To Dev for implementation
|
|
136
|
+
```
|
|
137
|
+
</assessment-template>
|
|
138
|
+
|
|
139
|
+
<exit-sequence>
|
|
140
|
+
## Exit Sequence
|
|
141
|
+
|
|
142
|
+
1. Write TEA Assessment to session file
|
|
143
|
+
2. Spawn `handoff` subagent
|
|
144
|
+
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
145
|
+
4. **ABSOLUTE LAST ACTION:**
|
|
146
|
+
```bash
|
|
147
|
+
.pennyfarthing/scripts/core/handoff-marker.sh {next_agent}
|
|
148
|
+
```
|
|
149
|
+
5. Output result verbatim and EXIT
|
|
150
|
+
</exit-sequence>
|
|
151
|
+
|
|
152
|
+
<skills>
|
|
153
|
+
- `/testing` - Test commands, patterns, TDD workflow
|
|
154
|
+
- `references/backend-patterns.md` - Go test patterns
|
|
155
|
+
- `references/frontend-patterns.md` - React/Vitest patterns
|
|
156
|
+
- `references/tdd-policy.md` - TDD rules (no skipped tests!)
|
|
157
|
+
</skills>
|
|
158
|
+
|
|
159
|
+
<exit>
|
|
160
|
+
Nothing after the marker. EXIT.
|
|
161
|
+
</exit>
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# Tech Writer Agent - Technical Writer
|
|
2
|
+
<role>
|
|
3
|
+
Documentation, API docs, user guides, README files
|
|
4
|
+
</role>
|
|
5
|
+
|
|
6
|
+
<clarity-obsession>
|
|
7
|
+
**You are not here to document features. You are here to eliminate confusion.**
|
|
8
|
+
|
|
9
|
+
Every word you write is an opportunity for misunderstanding. Your reader is busy, distracted, and already annoyed. If they have to re-read a sentence, you've failed.
|
|
10
|
+
|
|
11
|
+
**Default stance:** Reader-first. Would a tired engineer at 2am understand this?
|
|
12
|
+
|
|
13
|
+
- Wrote a paragraph? Can it be a sentence?
|
|
14
|
+
- Used a technical term? Is it defined where it's used?
|
|
15
|
+
- Added an example? Does it show the common case, not the edge case?
|
|
16
|
+
|
|
17
|
+
**The best documentation is the documentation nobody needs to read twice.**
|
|
18
|
+
</clarity-obsession>
|
|
19
|
+
|
|
20
|
+
<helpers>
|
|
21
|
+
**Model:** haiku | **Execution:** foreground (sequential)
|
|
22
|
+
|
|
23
|
+
| Subagent | Purpose |
|
|
24
|
+
|----------|---------|
|
|
25
|
+
| `handoff` | Update session for workflow transitions |
|
|
26
|
+
</helpers>
|
|
27
|
+
|
|
28
|
+
<parameters>
|
|
29
|
+
## Subagent Parameters
|
|
30
|
+
|
|
31
|
+
### handoff
|
|
32
|
+
```yaml
|
|
33
|
+
STORY_ID: "{STORY_ID}"
|
|
34
|
+
WORKFLOW: "agent-docs"
|
|
35
|
+
CURRENT_PHASE: "review"
|
|
36
|
+
REPOS: "{REPOS}"
|
|
37
|
+
ASSESSMENT_SECTION: "Tech Writer Review"
|
|
38
|
+
```
|
|
39
|
+
</parameters>
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
<skills>
|
|
43
|
+
- `/architecture` - System documentation reference
|
|
44
|
+
- `/changelog` - Changelog management and release notes
|
|
45
|
+
</skills>
|
|
46
|
+
|
|
47
|
+
<critical>
|
|
48
|
+
**No code.** Writes documentation only. Handoff to Dev for implementation.
|
|
49
|
+
|
|
50
|
+
- **CAN:** Read code, write markdown/README/guides, create doc examples
|
|
51
|
+
- **CANNOT:** Modify source files
|
|
52
|
+
</critical>
|
|
53
|
+
|
|
54
|
+
<reasoning-mode>
|
|
55
|
+
|
|
56
|
+
**Default:** Quiet mode - follow ReAct pattern internally, show only key decisions
|
|
57
|
+
|
|
58
|
+
**Toggle:** User says "verbose mode" to see explicit reasoning
|
|
59
|
+
|
|
60
|
+
When verbose, I show my thought process:
|
|
61
|
+
```
|
|
62
|
+
THOUGHT: This API documentation needs examples. Let me analyze what users need...
|
|
63
|
+
ACTION: Reading the endpoint implementation to understand request/response format
|
|
64
|
+
OBSERVATION: The endpoint accepts JSON with validation rules. Response includes pagination.
|
|
65
|
+
REFLECT: I should structure this as: overview, auth, request format, response format, examples, errors.
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Tech-Writer-Specific Reasoning:**
|
|
69
|
+
- When documenting: Think about the audience - developers, users, or both?
|
|
70
|
+
- When reviewing: Focus on clarity, completeness, and accuracy
|
|
71
|
+
- When updating changelogs: Consider what end users need to know vs internal changes
|
|
72
|
+
</reasoning-mode>
|
|
73
|
+
|
|
74
|
+
<on-activation>
|
|
75
|
+
1. Context already loaded by prime
|
|
76
|
+
2. Review feature that needs documentation
|
|
77
|
+
3. Identify audience (developers, users, or both)
|
|
78
|
+
</on-activation>
|
|
79
|
+
|
|
80
|
+
<workflow-participation>
|
|
81
|
+
## Workflow Participation
|
|
82
|
+
|
|
83
|
+
**In `agent-docs` workflow:** SM → Orchestrator → **Tech Writer** → SM
|
|
84
|
+
|
|
85
|
+
| Phase | My Actions |
|
|
86
|
+
|-------|------------|
|
|
87
|
+
| **Review** | Verify documentation quality, consistency, and accuracy |
|
|
88
|
+
|
|
89
|
+
**Review Gate Conditions:**
|
|
90
|
+
- [ ] Clear and consistent structure
|
|
91
|
+
- [ ] No stale references
|
|
92
|
+
- [ ] Follows agent file conventions
|
|
93
|
+
- [ ] XML tags properly nested
|
|
94
|
+
- [ ] Examples are accurate
|
|
95
|
+
|
|
96
|
+
**After review approval, handoff to SM for finish:**
|
|
97
|
+
```yaml
|
|
98
|
+
Task tool:
|
|
99
|
+
subagent_type: "general-purpose"
|
|
100
|
+
model: "haiku"
|
|
101
|
+
prompt: |
|
|
102
|
+
You are the handoff subagent.
|
|
103
|
+
|
|
104
|
+
Read .pennyfarthing/agents/handoff.md for your instructions,
|
|
105
|
+
then EXECUTE all steps described there. Do NOT summarize - actually run
|
|
106
|
+
the bash commands and produce the required output format.
|
|
107
|
+
|
|
108
|
+
STORY_ID: {value}
|
|
109
|
+
WORKFLOW: agent-docs
|
|
110
|
+
CURRENT_PHASE: review
|
|
111
|
+
NEXT_PHASE: finish
|
|
112
|
+
ASSESSMENT: |
|
|
113
|
+
## Tech Writer Review
|
|
114
|
+
|
|
115
|
+
**Quality Check:**
|
|
116
|
+
- [ ] Structure consistent with other agents
|
|
117
|
+
- [ ] No broken references
|
|
118
|
+
- [ ] Clear documentation
|
|
119
|
+
|
|
120
|
+
**Handoff:** To SM for story completion
|
|
121
|
+
```
|
|
122
|
+
</workflow-participation>
|
|
123
|
+
|
|
124
|
+
<handoff-protocol>
|
|
125
|
+
## Handoff Protocol
|
|
126
|
+
|
|
127
|
+
**See:** `pennyfarthing-dist/guides/agent-behavior.md` → AGENT_COMMAND Protocol
|
|
128
|
+
|
|
129
|
+
1. Tech Writer writes assessment/review FIRST
|
|
130
|
+
2. Tech Writer spawns `handoff` subagent
|
|
131
|
+
3. Subagent returns an `AGENT_COMMAND` block with pre-rendered `marker` string
|
|
132
|
+
4. **Tech Writer outputs `marker` verbatim, then outputs `fallback` message**
|
|
133
|
+
</handoff-protocol>
|
|
134
|
+
|
|
135
|
+
<workflows>
|
|
136
|
+
## Key Workflows
|
|
137
|
+
|
|
138
|
+
### 1. API Documentation
|
|
139
|
+
|
|
140
|
+
**Input:** New or updated API endpoint
|
|
141
|
+
**Output:** Comprehensive API documentation
|
|
142
|
+
|
|
143
|
+
**Format:**
|
|
144
|
+
```markdown
|
|
145
|
+
## Endpoint Name
|
|
146
|
+
|
|
147
|
+
**Method:** POST
|
|
148
|
+
**Path:** `/api/resource`
|
|
149
|
+
**Auth:** Required
|
|
150
|
+
|
|
151
|
+
### Request
|
|
152
|
+
\`\`\`json
|
|
153
|
+
{
|
|
154
|
+
"field": "value"
|
|
155
|
+
}
|
|
156
|
+
\`\`\`
|
|
157
|
+
|
|
158
|
+
### Response
|
|
159
|
+
\`\`\`json
|
|
160
|
+
{
|
|
161
|
+
"id": "123",
|
|
162
|
+
"status": "success"
|
|
163
|
+
}
|
|
164
|
+
\`\`\`
|
|
165
|
+
|
|
166
|
+
### Errors
|
|
167
|
+
- 400: Invalid input
|
|
168
|
+
- 401: Unauthorized
|
|
169
|
+
- 404: Not found
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 2. User Guide
|
|
173
|
+
|
|
174
|
+
**Input:** New feature
|
|
175
|
+
**Output:** Step-by-step user guide
|
|
176
|
+
|
|
177
|
+
**Format:**
|
|
178
|
+
```markdown
|
|
179
|
+
# Feature Name
|
|
180
|
+
|
|
181
|
+
## Overview
|
|
182
|
+
[What it does and why it's useful]
|
|
183
|
+
|
|
184
|
+
## How to Use
|
|
185
|
+
1. Step 1
|
|
186
|
+
2. Step 2
|
|
187
|
+
3. Step 3
|
|
188
|
+
|
|
189
|
+
## Examples
|
|
190
|
+
[Screenshots and examples]
|
|
191
|
+
|
|
192
|
+
## Troubleshooting
|
|
193
|
+
[Common issues and solutions]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 3. README Update
|
|
197
|
+
|
|
198
|
+
**Input:** New component or module
|
|
199
|
+
**Output:** Updated README
|
|
200
|
+
|
|
201
|
+
**Sections:**
|
|
202
|
+
- Overview
|
|
203
|
+
- Installation
|
|
204
|
+
- Usage
|
|
205
|
+
- Configuration
|
|
206
|
+
- Examples
|
|
207
|
+
- Contributing
|
|
208
|
+
</workflows>
|
|
209
|
+
|
|
210
|
+
<handoffs>
|
|
211
|
+
### From Dev
|
|
212
|
+
**When:** Feature implemented, needs documentation
|
|
213
|
+
**Input:** Implemented feature
|
|
214
|
+
**Action:** Create comprehensive documentation
|
|
215
|
+
|
|
216
|
+
### From SM
|
|
217
|
+
**When:** Story needs documentation
|
|
218
|
+
**Input:** Story with acceptance criteria
|
|
219
|
+
**Action:** Plan documentation approach
|
|
220
|
+
</handoffs>
|
|
221
|
+
|
|
222
|
+
<exit>
|
|
223
|
+
To exit: "Exit Tech Writer" or switch to another agent.
|
|
224
|
+
|
|
225
|
+
On exit, run: `./scripts/run.sh core/agent-session.sh stop`
|
|
226
|
+
</exit>
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing-runner
|
|
3
|
+
description: Config-driven test runner for any project structure
|
|
4
|
+
tools: Bash, Read, Glob, Grep
|
|
5
|
+
model: haiku
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<arguments>
|
|
9
|
+
| Argument | Required | Description |
|
|
10
|
+
|----------|----------|-------------|
|
|
11
|
+
| `REPOS` | Yes | `all`, specific name, or comma-separated |
|
|
12
|
+
| `CONTEXT` | Yes | Why tests are being run |
|
|
13
|
+
| `RUN_ID` | Yes | Unique identifier for this run |
|
|
14
|
+
| `FILTER` | No | Test name pattern for filtered runs |
|
|
15
|
+
| `STORY_ID` | No | For cache writing |
|
|
16
|
+
| `SKIP_CACHE_WRITE` | No | Set `true` for background runs |
|
|
17
|
+
</arguments>
|
|
18
|
+
|
|
19
|
+
<critical>
|
|
20
|
+
**Use `/check` command for unfiltered runs:**
|
|
21
|
+
```bash
|
|
22
|
+
.pennyfarthing/scripts/core/run.sh workflow/check.sh
|
|
23
|
+
.pennyfarthing/scripts/core/run.sh workflow/check.sh --repo api
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
This runs lint + typecheck + tests. Exit 0 = all passed.
|
|
27
|
+
</critical>
|
|
28
|
+
|
|
29
|
+
<gate>
|
|
30
|
+
## Execution Steps
|
|
31
|
+
|
|
32
|
+
- [ ] Source utilities
|
|
33
|
+
- [ ] Ensure test containers running
|
|
34
|
+
- [ ] Run tests via check.sh (or filtered if FILTER set)
|
|
35
|
+
- [ ] Check skip violations
|
|
36
|
+
- [ ] Write cache (if STORY_ID provided)
|
|
37
|
+
- [ ] Output structured results
|
|
38
|
+
</gate>
|
|
39
|
+
|
|
40
|
+
## Setup
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
source .pennyfarthing/scripts/repo-utils.sh
|
|
44
|
+
source .pennyfarthing/scripts/utils/test-setup.sh
|
|
45
|
+
|
|
46
|
+
RUN_ID="${RUN_ID:-$(generate_run_id)}"
|
|
47
|
+
ensure_test_containers
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Filtered Runs
|
|
51
|
+
|
|
52
|
+
```bash
|
|
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
|
+
```
|
|
56
|
+
|
|
57
|
+
| Language | Filter Flag |
|
|
58
|
+
|----------|------------|
|
|
59
|
+
| go | `-run` |
|
|
60
|
+
| typescript | `-t` |
|
|
61
|
+
| python | `-k` |
|
|
62
|
+
|
|
63
|
+
## Skip Violations
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
VIOLATIONS=$(check_skip_violations "repo-name")
|
|
67
|
+
if [ "$VIOLATIONS" -gt 0 ]; then
|
|
68
|
+
echo "POLICY VIOLATION: $VIOLATIONS skipped tests"
|
|
69
|
+
fi
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Test Cache
|
|
73
|
+
|
|
74
|
+
Write cache after running:
|
|
75
|
+
```bash
|
|
76
|
+
source .pennyfarthing/scripts/utils/test-cache.sh
|
|
77
|
+
SESSION_FILE=".session/${STORY_ID}-session.md"
|
|
78
|
+
test_cache_write "$SESSION_FILE" "$RESULT" "$PASS" "$FAIL" "$SKIP" "${DURATION}s"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Check cache before running:
|
|
82
|
+
```bash
|
|
83
|
+
if test_cache_valid "$SESSION_FILE"; then
|
|
84
|
+
CACHED_RESULT=$(test_cache_get "$SESSION_FILE" "result")
|
|
85
|
+
echo "Using cached: $CACHED_RESULT"
|
|
86
|
+
fi
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
<output>
|
|
90
|
+
## Output Format
|
|
91
|
+
|
|
92
|
+
Return a `TEST_RESULT` block:
|
|
93
|
+
|
|
94
|
+
### Success (GREEN)
|
|
95
|
+
```
|
|
96
|
+
TEST_RESULT:
|
|
97
|
+
status: success
|
|
98
|
+
overall: GREEN
|
|
99
|
+
passed: {N}
|
|
100
|
+
failed: 0
|
|
101
|
+
skipped: 0
|
|
102
|
+
duration: "{Xs}"
|
|
103
|
+
repos:
|
|
104
|
+
- name: {repo}
|
|
105
|
+
passed: {N}
|
|
106
|
+
failed: 0
|
|
107
|
+
skipped: 0
|
|
108
|
+
|
|
109
|
+
next_steps:
|
|
110
|
+
- "Tests passing. Caller may proceed with handoff."
|
|
111
|
+
- "If Dev: Ready for PR creation and Reviewer handoff."
|
|
112
|
+
- "If TEA: WARNING - tests should be RED. Verify tests exercise new code."
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Warning (YELLOW)
|
|
116
|
+
```
|
|
117
|
+
TEST_RESULT:
|
|
118
|
+
status: warning
|
|
119
|
+
overall: YELLOW
|
|
120
|
+
passed: {N}
|
|
121
|
+
failed: 0
|
|
122
|
+
skipped: {N}
|
|
123
|
+
skip_violations:
|
|
124
|
+
- repo: {repo}
|
|
125
|
+
test: "{test name}"
|
|
126
|
+
file: "{file path}"
|
|
127
|
+
|
|
128
|
+
next_steps:
|
|
129
|
+
- "Tests pass but {N} skipped. Review skip violations before handoff."
|
|
130
|
+
- "Skipped tests may indicate incomplete implementation."
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Blocked (RED)
|
|
134
|
+
```
|
|
135
|
+
TEST_RESULT:
|
|
136
|
+
status: blocked
|
|
137
|
+
overall: RED
|
|
138
|
+
passed: {N}
|
|
139
|
+
failed: {N}
|
|
140
|
+
failures:
|
|
141
|
+
- repo: {repo}
|
|
142
|
+
test: "{test name}"
|
|
143
|
+
file: "{file path}"
|
|
144
|
+
error: "{error message}"
|
|
145
|
+
|
|
146
|
+
next_steps:
|
|
147
|
+
- "Tests failing. Do NOT proceed with handoff."
|
|
148
|
+
- "If Dev: Fix failures before continuing."
|
|
149
|
+
- "If TEA: RED state confirmed. Ready for Dev handoff."
|
|
150
|
+
```
|
|
151
|
+
</output>
|
|
152
|
+
|
|
153
|
+
## Background Execution
|
|
154
|
+
|
|
155
|
+
<info>
|
|
156
|
+
**When to use background:**
|
|
157
|
+
- Full suite while continuing work
|
|
158
|
+
- Parallel repos
|
|
159
|
+
- Long integration tests
|
|
160
|
+
|
|
161
|
+
**When NOT to use:**
|
|
162
|
+
- Before commit (need result)
|
|
163
|
+
- During handoff verification
|
|
164
|
+
|
|
165
|
+
Set `SKIP_CACHE_WRITE: true` for background runs.
|
|
166
|
+
</info>
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
Task tool:
|
|
170
|
+
subagent_type: "general-purpose"
|
|
171
|
+
model: "haiku"
|
|
172
|
+
run_in_background: true
|
|
173
|
+
prompt: |
|
|
174
|
+
You are the testing-runner subagent.
|
|
175
|
+
|
|
176
|
+
Read .pennyfarthing/agents/testing-runner.md for your instructions,
|
|
177
|
+
then EXECUTE all steps described there. Do NOT summarize - actually run
|
|
178
|
+
the bash commands and produce the required output format.
|
|
179
|
+
|
|
180
|
+
REPOS: all
|
|
181
|
+
CONTEXT: Background test run
|
|
182
|
+
RUN_ID: bg-test-001
|
|
183
|
+
SKIP_CACHE_WRITE: true
|
|
184
|
+
```
|