@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,338 @@
|
|
|
1
|
+
# Prompt Patterns Guide
|
|
2
|
+
|
|
3
|
+
This document describes the prompt engineering patterns used in Pennyfarthing, based on [Anthropic's official documentation](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Why XML Tags?
|
|
8
|
+
|
|
9
|
+
From [Anthropic's documentation](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/use-xml-tags):
|
|
10
|
+
|
|
11
|
+
> When your prompts involve multiple components like context, instructions, and examples, XML tags can be a game-changer. They help Claude parse your prompts more accurately, leading to higher-quality outputs.
|
|
12
|
+
|
|
13
|
+
**Benefits:**
|
|
14
|
+
- **Clarity:** Clearly separate different parts of your prompt
|
|
15
|
+
- **Accuracy:** Reduce errors caused by Claude misinterpreting parts of your prompt
|
|
16
|
+
- **Flexibility:** Easily find, add, remove, or modify parts without rewriting everything
|
|
17
|
+
- **Parseability:** Makes it easier to extract specific parts of Claude's response
|
|
18
|
+
|
|
19
|
+
**Key insight from Anthropic:**
|
|
20
|
+
> There are no canonical "best" XML tags that Claude has been trained with in particular, although we recommend that your tag names make sense with the information they surround.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Anthropic's Best Practices
|
|
25
|
+
|
|
26
|
+
### 1. Be Consistent
|
|
27
|
+
|
|
28
|
+
Use the same tag names throughout your prompts, and refer to those tag names when talking about the content:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Using the contract in <contract> tags, analyze the liability clauses.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. Nest Tags for Hierarchy
|
|
35
|
+
|
|
36
|
+
```xml
|
|
37
|
+
<outer>
|
|
38
|
+
<inner>
|
|
39
|
+
Content here
|
|
40
|
+
</inner>
|
|
41
|
+
</outer>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Combine with Other Techniques
|
|
45
|
+
|
|
46
|
+
Combine XML tags with:
|
|
47
|
+
- **Multishot prompting:** `<examples>`
|
|
48
|
+
- **Chain of thought:** `<thinking>`, `<answer>`
|
|
49
|
+
- **Role prompting:** System message for role, XML for structure
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Pennyfarthing Tag Conventions
|
|
54
|
+
|
|
55
|
+
### Agent Lifecycle Tags
|
|
56
|
+
|
|
57
|
+
| Tag | Purpose | When Applied |
|
|
58
|
+
|-----|---------|--------------|
|
|
59
|
+
| `<agent-activation>` | Step-by-step activation sequence | On agent start |
|
|
60
|
+
| `<agent-exit>` | Cleanup steps when leaving | On "exit" or switch |
|
|
61
|
+
| `<persona-loading>` | Instructions for loading character | Before activation |
|
|
62
|
+
|
|
63
|
+
### Guidance Tags
|
|
64
|
+
|
|
65
|
+
| Tag | Purpose | Used By |
|
|
66
|
+
|-----|---------|---------|
|
|
67
|
+
| `<blessed-path-guidance>` | Explains the primary workflow | Tactical agents |
|
|
68
|
+
| `<support-agent-guidance>` | Clarifies this is a support agent | PM, Architect, etc. |
|
|
69
|
+
|
|
70
|
+
### Attribute Patterns
|
|
71
|
+
|
|
72
|
+
Use attributes to signal importance or provide metadata:
|
|
73
|
+
|
|
74
|
+
```xml
|
|
75
|
+
<agent-activation CRITICAL="TRUE">
|
|
76
|
+
These steps MUST be followed exactly.
|
|
77
|
+
</agent-activation>
|
|
78
|
+
|
|
79
|
+
<persona-loading agent="dev">
|
|
80
|
+
Load the dev agent's persona.
|
|
81
|
+
</persona-loading>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Tag Reference
|
|
87
|
+
|
|
88
|
+
### `<agent-activation CRITICAL="TRUE">`
|
|
89
|
+
|
|
90
|
+
The core activation sequence for every agent. The `CRITICAL="TRUE"` attribute signals this must be followed exactly.
|
|
91
|
+
|
|
92
|
+
**Structure:**
|
|
93
|
+
```xml
|
|
94
|
+
<agent-activation CRITICAL="TRUE">
|
|
95
|
+
1. LOAD shared behavior from .pennyfarthing/guides/agent-behavior.md
|
|
96
|
+
2. LOAD the FULL agent file from .pennyfarthing/agents/{agent}.md
|
|
97
|
+
3. READ its entire contents
|
|
98
|
+
4. LOAD SIDECAR MEMORY:
|
|
99
|
+
```bash
|
|
100
|
+
SIDECAR="$CLAUDE_PROJECT_DIR/.claude/project/agents/{agent}-sidecar"
|
|
101
|
+
[ -d "$SIDECAR" ] && cat "$SIDECAR"/*.md 2>/dev/null | head -150
|
|
102
|
+
```
|
|
103
|
+
5. Execute ALL activation steps exactly as written
|
|
104
|
+
6. Apply the loaded persona throughout the session
|
|
105
|
+
7. Stay in character until exit
|
|
106
|
+
</agent-activation>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### `<agent-exit>`
|
|
110
|
+
|
|
111
|
+
Cleanup steps when the agent exits or switches.
|
|
112
|
+
|
|
113
|
+
**Structure:**
|
|
114
|
+
```xml
|
|
115
|
+
<agent-exit>
|
|
116
|
+
When the user says "exit", "switch agent", or ends the session:
|
|
117
|
+
1. CAPTURE LEARNINGS: Ask yourself - any patterns, gotchas, or decisions to save?
|
|
118
|
+
If yes, append to `.claude/project/agents/{agent}-sidecar/{patterns|gotchas|decisions}.md`
|
|
119
|
+
2. Run: [session stop command]
|
|
120
|
+
3. Confirm session closed.
|
|
121
|
+
</agent-exit>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### `<persona-loading agent="X">`
|
|
125
|
+
|
|
126
|
+
Instructions for loading the agent's character from the theme system.
|
|
127
|
+
|
|
128
|
+
**Structure:**
|
|
129
|
+
```xml
|
|
130
|
+
<persona-loading agent="dev">
|
|
131
|
+
Load this agent's persona before activation:
|
|
132
|
+
1. Read `.pennyfarthing/config.local.yaml`
|
|
133
|
+
2. Get `theme` value (default: "discworld")
|
|
134
|
+
3. Read `.pennyfarthing/personas/themes/{theme}.yaml`
|
|
135
|
+
4. Extract `agents.{agent}` section (character, style, helper, etc.)
|
|
136
|
+
5. Apply `attributes` from config (verbosity, formality, humor, emoji_use)
|
|
137
|
+
</persona-loading>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### `<blessed-path-guidance>`
|
|
141
|
+
|
|
142
|
+
Explains the primary "happy path" workflow for tactical agents.
|
|
143
|
+
|
|
144
|
+
**Purpose:** Guides users to use `/new-work` rather than invoking agents directly.
|
|
145
|
+
|
|
146
|
+
**Structure:**
|
|
147
|
+
```xml
|
|
148
|
+
<blessed-path-guidance>
|
|
149
|
+
## The Blessed Path
|
|
150
|
+
|
|
151
|
+
**For story-based development work:**
|
|
152
|
+
|
|
153
|
+
| Command | When to Use |
|
|
154
|
+
|---------|-------------|
|
|
155
|
+
| `/new-work` | Start a NEW story from the backlog |
|
|
156
|
+
|
|
157
|
+
**The TDD Flow:** `/new-work` -> SM -> TEA -> Dev -> Reviewer -> SM (finish)
|
|
158
|
+
|
|
159
|
+
**Other commands exist** but are not part of the main dev loop.
|
|
160
|
+
</blessed-path-guidance>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### `<support-agent-guidance>`
|
|
164
|
+
|
|
165
|
+
Clarifies that an agent is outside the core TDD loop.
|
|
166
|
+
|
|
167
|
+
**Structure:**
|
|
168
|
+
```xml
|
|
169
|
+
<support-agent-guidance>
|
|
170
|
+
## About This Agent
|
|
171
|
+
|
|
172
|
+
This agent supports the development process but is **not part of the core TDD loop**.
|
|
173
|
+
|
|
174
|
+
**The Core TDD Loop:** `/new-work` -> SM -> TEA -> Dev -> Reviewer -> SM
|
|
175
|
+
|
|
176
|
+
**When to use {Agent}:**
|
|
177
|
+
- {Use case 1}
|
|
178
|
+
- {Use case 2}
|
|
179
|
+
|
|
180
|
+
**To start story-based development work,** use `/new-work` instead.
|
|
181
|
+
</support-agent-guidance>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Role Prompting
|
|
187
|
+
|
|
188
|
+
From [Anthropic's documentation](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/system-prompts):
|
|
189
|
+
|
|
190
|
+
> When using Claude, you can dramatically improve its performance by using the `system` parameter to give it a role. This technique, known as role prompting, is the most powerful way to use system prompts with Claude.
|
|
191
|
+
|
|
192
|
+
**Benefits:**
|
|
193
|
+
- **Enhanced accuracy:** In complex scenarios, role prompting significantly boosts performance
|
|
194
|
+
- **Tailored tone:** Adjusts Claude's communication style
|
|
195
|
+
- **Improved focus:** Keeps Claude within task-specific requirements
|
|
196
|
+
|
|
197
|
+
### Pennyfarthing's Approach
|
|
198
|
+
|
|
199
|
+
We use the **persona system** for role prompting:
|
|
200
|
+
|
|
201
|
+
1. **Theme files** define characters (e.g., Discworld theme)
|
|
202
|
+
2. **Persona-loading** instructions tell Claude to adopt the character
|
|
203
|
+
3. **Agent files** provide the role's expertise and workflows
|
|
204
|
+
|
|
205
|
+
This separates:
|
|
206
|
+
- **Who you are** (persona) from
|
|
207
|
+
- **What you do** (agent instructions) from
|
|
208
|
+
- **How you do it** (shared behavior)
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Common Patterns
|
|
213
|
+
|
|
214
|
+
### Conditional Behavior Blocks
|
|
215
|
+
|
|
216
|
+
Use tags to define behavior for specific situations:
|
|
217
|
+
|
|
218
|
+
```xml
|
|
219
|
+
<when-tests-fail>
|
|
220
|
+
If tests are failing:
|
|
221
|
+
1. Read the error output
|
|
222
|
+
2. Identify the root cause
|
|
223
|
+
3. Fix the issue
|
|
224
|
+
4. Re-run tests
|
|
225
|
+
</when-tests-fail>
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Instruction Blocks
|
|
229
|
+
|
|
230
|
+
Use tags to group related instructions:
|
|
231
|
+
|
|
232
|
+
```xml
|
|
233
|
+
<instructions>
|
|
234
|
+
1. First, do X
|
|
235
|
+
2. Then, do Y
|
|
236
|
+
3. Finally, do Z
|
|
237
|
+
</instructions>
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Context Blocks
|
|
241
|
+
|
|
242
|
+
Use tags to separate context from instructions:
|
|
243
|
+
|
|
244
|
+
```xml
|
|
245
|
+
<context>
|
|
246
|
+
This project uses Go for the backend and React for the frontend.
|
|
247
|
+
The API follows REST conventions.
|
|
248
|
+
</context>
|
|
249
|
+
|
|
250
|
+
<task>
|
|
251
|
+
Implement a new endpoint for user authentication.
|
|
252
|
+
</task>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Example Blocks
|
|
256
|
+
|
|
257
|
+
Use tags to provide examples:
|
|
258
|
+
|
|
259
|
+
```xml
|
|
260
|
+
<example>
|
|
261
|
+
Input: "hello world"
|
|
262
|
+
Output: "HELLO WORLD"
|
|
263
|
+
</example>
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Chain of Thought
|
|
269
|
+
|
|
270
|
+
For complex reasoning, use thinking tags:
|
|
271
|
+
|
|
272
|
+
```xml
|
|
273
|
+
<thinking>
|
|
274
|
+
Let me work through this step by step...
|
|
275
|
+
1. First, I need to understand the problem
|
|
276
|
+
2. Then, identify possible solutions
|
|
277
|
+
3. Finally, choose the best approach
|
|
278
|
+
</thinking>
|
|
279
|
+
|
|
280
|
+
<answer>
|
|
281
|
+
The best solution is X because...
|
|
282
|
+
</answer>
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Pennyfarthing uses this in the **Reasoning Mode** (verbose mode) for tactical agents.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Anti-Patterns
|
|
290
|
+
|
|
291
|
+
### Don't: Use Tags for Everything
|
|
292
|
+
|
|
293
|
+
Tags are for **structure**, not emphasis. Use markdown for emphasis:
|
|
294
|
+
|
|
295
|
+
```markdown
|
|
296
|
+
**IMPORTANT:** This is critical. <!-- Good -->
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```xml
|
|
300
|
+
<important>This is critical.</important> <!-- Overkill -->
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Don't: Invent Unparseable Tags
|
|
304
|
+
|
|
305
|
+
If you need to extract content programmatically, use consistent, simple tags:
|
|
306
|
+
|
|
307
|
+
```xml
|
|
308
|
+
<output>Result here</output> <!-- Easy to parse -->
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
```xml
|
|
312
|
+
<the-final-output-of-the-analysis>Result</the-final-output-of-the-analysis> <!-- Hard to parse -->
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### Don't: Mix Instruction Styles
|
|
316
|
+
|
|
317
|
+
Be consistent. Don't mix XML tags with other delimiters:
|
|
318
|
+
|
|
319
|
+
```xml
|
|
320
|
+
<!-- Good: Consistent -->
|
|
321
|
+
<instructions>Do X</instructions>
|
|
322
|
+
<context>Background info</context>
|
|
323
|
+
|
|
324
|
+
<!-- Bad: Mixed styles -->
|
|
325
|
+
<instructions>Do X</instructions>
|
|
326
|
+
---CONTEXT---
|
|
327
|
+
Background info
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Further Reading
|
|
333
|
+
|
|
334
|
+
- [Anthropic: Use XML tags](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/use-xml-tags)
|
|
335
|
+
- [Anthropic: Prompt engineering overview](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview)
|
|
336
|
+
- [Anthropic: System prompts and roles](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/system-prompts)
|
|
337
|
+
- [GitHub: Anthropic prompt engineering tutorial](https://github.com/anthropics/prompt-eng-interactive-tutorial)
|
|
338
|
+
- [Google Sheets: Interactive prompting tutorial](https://docs.google.com/spreadsheets/d/19jzLgRruG9kjUQNKtCg1ZjdD6l6weA6qRXG5zLIAhC8)
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Scale Levels Guide
|
|
2
|
+
|
|
3
|
+
Pennyfarthing uses scale levels (0-4) to route work to appropriate workflows. Scale levels are aligned with BMAD 6.0 methodology.
|
|
4
|
+
|
|
5
|
+
## Scale Level Definitions
|
|
6
|
+
|
|
7
|
+
| Level | Scope | Story Count | Workflow | Required Artifacts |
|
|
8
|
+
|-------|-------|-------------|----------|-------------------|
|
|
9
|
+
| **0** | fix, bug, typo, small change, patch | 1 | `trivial` | None |
|
|
10
|
+
| **1** | simple, basic, small feature, add | 1-10 | `quick-spec` | tech-spec |
|
|
11
|
+
| **2** | dashboard, several features, admin panel | 5-15 | `prd` | PRD |
|
|
12
|
+
| **3** | platform, integration, complex, system | 12-40 | `prd` | PRD + architecture |
|
|
13
|
+
| **4** | enterprise, multi-tenant, multiple products | 40+ | `prd` | Full BMAD process |
|
|
14
|
+
|
|
15
|
+
## Automatic Detection
|
|
16
|
+
|
|
17
|
+
When you describe work to Pennyfarthing, the scale level is detected from keywords:
|
|
18
|
+
|
|
19
|
+
### Level 0 Keywords
|
|
20
|
+
- fix, bug, typo, patch, hotfix, small change
|
|
21
|
+
|
|
22
|
+
### Level 1 Keywords
|
|
23
|
+
- simple, basic, small, add, minor
|
|
24
|
+
|
|
25
|
+
### Level 2 Keywords
|
|
26
|
+
- dashboard, admin panel, several, multiple features
|
|
27
|
+
|
|
28
|
+
### Level 3 Keywords
|
|
29
|
+
- platform, integration, complex, system
|
|
30
|
+
|
|
31
|
+
### Level 4 Keywords
|
|
32
|
+
- enterprise, multi-tenant, multiple products
|
|
33
|
+
|
|
34
|
+
**Priority:** Higher levels take precedence. "Enterprise dashboard" → Level 4.
|
|
35
|
+
|
|
36
|
+
## Workflow Routing
|
|
37
|
+
|
|
38
|
+
| Level | Workflow | Description |
|
|
39
|
+
|-------|----------|-------------|
|
|
40
|
+
| 0 | `trivial` | Direct fix, no planning artifacts |
|
|
41
|
+
| 1 | `quick-spec` | Conversational spec, produces tech-spec |
|
|
42
|
+
| 2-4 | `prd` | Full PRD workflow with gates |
|
|
43
|
+
|
|
44
|
+
## Required Artifacts
|
|
45
|
+
|
|
46
|
+
### Level 0: None
|
|
47
|
+
Just fix it. No planning documents required.
|
|
48
|
+
|
|
49
|
+
### Level 1: Tech-Spec
|
|
50
|
+
Quick conversational spec producing implementation-ready technical specification.
|
|
51
|
+
|
|
52
|
+
### Level 2: PRD
|
|
53
|
+
Product Requirements Document. Architecture is optional.
|
|
54
|
+
|
|
55
|
+
### Level 3: PRD + Architecture
|
|
56
|
+
Both PRD and architecture documents required. System-level changes need design review.
|
|
57
|
+
|
|
58
|
+
### Level 4: Full BMAD
|
|
59
|
+
Complete BMAD process:
|
|
60
|
+
- PRD
|
|
61
|
+
- Architecture
|
|
62
|
+
- Epics and Stories breakdown
|
|
63
|
+
- Implementation Readiness checklist
|
|
64
|
+
|
|
65
|
+
## User Override
|
|
66
|
+
|
|
67
|
+
You can always override the detected level:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Explicitly set scale level
|
|
71
|
+
/workflow start prd --scale 3
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Or when asked during workflow initiation, specify your preferred level.
|
|
75
|
+
|
|
76
|
+
## Python API
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
from pennyfarthing_scripts.workflow import (
|
|
80
|
+
detect_scale_level,
|
|
81
|
+
get_workflow_for_scale_level,
|
|
82
|
+
get_required_artifacts,
|
|
83
|
+
get_scale_level_info,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
# Detect from description
|
|
87
|
+
level = detect_scale_level("build an enterprise platform") # Returns 4
|
|
88
|
+
|
|
89
|
+
# Get recommended workflow
|
|
90
|
+
workflow = get_workflow_for_scale_level(level) # Returns "prd"
|
|
91
|
+
|
|
92
|
+
# Get required artifacts
|
|
93
|
+
artifacts = get_required_artifacts(level) # Returns ["prd", "architecture", "epics-and-stories"]
|
|
94
|
+
|
|
95
|
+
# Get full metadata
|
|
96
|
+
info = get_scale_level_info(level)
|
|
97
|
+
# Returns: {"level": 4, "scope": "...", "stories_min": 40, ...}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Examples
|
|
101
|
+
|
|
102
|
+
| Description | Detected Level | Workflow |
|
|
103
|
+
|-------------|----------------|----------|
|
|
104
|
+
| "Fix the login bug" | 0 | trivial |
|
|
105
|
+
| "Add a logout button" | 1 | quick-spec |
|
|
106
|
+
| "Build an admin dashboard" | 2 | prd |
|
|
107
|
+
| "New platform for data processing" | 3 | prd |
|
|
108
|
+
| "Enterprise multi-tenant SaaS" | 4 | prd |
|
|
109
|
+
|
|
110
|
+
## Related
|
|
111
|
+
|
|
112
|
+
- [Workflow Skill](/workflow) - Workflow management commands
|
|
113
|
+
- [PRD Workflow](../workflows/prd/) - Full PRD stepped workflow
|
|
114
|
+
- [Quick-Spec Workflow](../workflows/quick-spec/) - Lightweight spec workflow
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Session Artifacts Naming Convention
|
|
2
|
+
|
|
3
|
+
This guide defines the standard naming patterns for all files in `.session/`.
|
|
4
|
+
|
|
5
|
+
## Why This Matters
|
|
6
|
+
|
|
7
|
+
Consistent naming enables:
|
|
8
|
+
1. **Predictable cleanup** - Scripts can reliably find and remove artifacts
|
|
9
|
+
2. **Easy debugging** - Quickly identify what story/agent created a file
|
|
10
|
+
3. **No accumulation** - Story-specific cleanup catches everything
|
|
11
|
+
|
|
12
|
+
## File Categories
|
|
13
|
+
|
|
14
|
+
| Category | Purpose | Lifecycle |
|
|
15
|
+
|----------|---------|-----------|
|
|
16
|
+
| `session` | Active work session file | Archived on story completion |
|
|
17
|
+
| `context` | Technical context (story/epic) | Archived on completion |
|
|
18
|
+
| `test` | Test execution output | Cleaned after 1 day or story completion |
|
|
19
|
+
| `lint` | Lint execution output | Cleaned after 1 day or story completion |
|
|
20
|
+
| `handoff` | Agent-to-agent transition data | Cleaned on story completion |
|
|
21
|
+
|
|
22
|
+
## Naming Patterns
|
|
23
|
+
|
|
24
|
+
### Session Files (Canonical)
|
|
25
|
+
|
|
26
|
+
The primary work session file. One per active story.
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
{STORY_ID}-session.md
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Examples:**
|
|
33
|
+
- `36-2-session.md`
|
|
34
|
+
- `10-15-session.md`
|
|
35
|
+
|
|
36
|
+
**Created by:** `sm-setup MODE=setup`
|
|
37
|
+
**Archived by:** `sm-finish PHASE=execute` → `sprint/archive/story-{STORY_ID}-{DATE}.md`
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### Context Files
|
|
42
|
+
|
|
43
|
+
Technical context for stories and epics.
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
context-story-{STORY_ID}.md
|
|
47
|
+
context-epic-{EPIC_NUM}.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Examples:**
|
|
51
|
+
- `context-story-36-2.md`
|
|
52
|
+
- `context-epic-10.md`
|
|
53
|
+
|
|
54
|
+
**Created by:** SM (epic-tech-context task)
|
|
55
|
+
**Archived by:** `sm-finish PHASE=execute` (story), `/start-epic` or `/retro` (epic)
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### Test Output Files
|
|
60
|
+
|
|
61
|
+
Test execution logs and reports.
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
test-{STORY_ID}-{AGENT}-{PHASE}.log
|
|
65
|
+
test-{STORY_ID}-{AGENT}-{PHASE}.md
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Components:**
|
|
69
|
+
- `{STORY_ID}` - e.g., `36-2`
|
|
70
|
+
- `{AGENT}` - `tea`, `dev`, `reviewer`
|
|
71
|
+
- `{PHASE}` - `red`, `green`, `verify`
|
|
72
|
+
|
|
73
|
+
**Examples:**
|
|
74
|
+
- `test-36-2-tea-red.log`
|
|
75
|
+
- `test-36-2-dev-green.md`
|
|
76
|
+
- `test-36-2-reviewer-verify.log`
|
|
77
|
+
|
|
78
|
+
**Created by:** `handoff`, `reviewer-preflight`, `testing-runner`
|
|
79
|
+
**Cleaned by:** `session-cleanup.sh --story {STORY_ID}` or 1-day retention
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### Lint Output Files
|
|
84
|
+
|
|
85
|
+
Lint execution logs.
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
lint-{STORY_ID}-{REPO}.log
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Examples:**
|
|
92
|
+
- `lint-36-2-api.log`
|
|
93
|
+
- `lint-36-2-ui.log`
|
|
94
|
+
|
|
95
|
+
**Created by:** `reviewer-preflight`
|
|
96
|
+
**Cleaned by:** `session-cleanup.sh --story {STORY_ID}` or 1-day retention
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### Handoff Files
|
|
101
|
+
|
|
102
|
+
Agent-to-agent transition data for structured handoffs.
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
handoff-{STORY_ID}-{FROM_AGENT}.md
|
|
106
|
+
handoff-{STORY_ID}-{FROM_AGENT}.json
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Examples:**
|
|
110
|
+
- `handoff-36-2-tea.md` (TEA → Dev)
|
|
111
|
+
- `handoff-36-2-dev.json` (Dev → Reviewer)
|
|
112
|
+
- `handoff-36-2-reviewer.md` (Reviewer → SM)
|
|
113
|
+
|
|
114
|
+
**Created by:** Handoff subagents (`tea-handoff`, `dev-handoff`, `reviewer-handoff-*`)
|
|
115
|
+
**Cleaned by:** `session-cleanup.sh --story {STORY_ID}`
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## System Files
|
|
120
|
+
|
|
121
|
+
These are managed automatically and should not be manually created.
|
|
122
|
+
|
|
123
|
+
| File | Purpose | Management |
|
|
124
|
+
|------|---------|------------|
|
|
125
|
+
| `.gitkeep` | Keeps directory in git | Never delete |
|
|
126
|
+
| `session-log.txt` | Session activity log | Rotated to 1000 lines by cleanup |
|
|
127
|
+
| `agents/` | Agent session state (UUIDs) | Cleaned after 1 day |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Cleanup Patterns
|
|
132
|
+
|
|
133
|
+
The `session-cleanup.sh` script uses these patterns:
|
|
134
|
+
|
|
135
|
+
### Story-specific cleanup (`--story {ID}`)
|
|
136
|
+
```bash
|
|
137
|
+
test-{STORY_ID}-*.log
|
|
138
|
+
test-{STORY_ID}-*.md
|
|
139
|
+
lint-{STORY_ID}-*.log
|
|
140
|
+
handoff-{STORY_ID}-*.md
|
|
141
|
+
handoff-{STORY_ID}-*.json
|
|
142
|
+
context-story-{STORY_ID}.md
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Time-based cleanup (default: 1 day retention)
|
|
146
|
+
```bash
|
|
147
|
+
test-*.log
|
|
148
|
+
test-*.md
|
|
149
|
+
lint-*.log
|
|
150
|
+
handoff-*.md
|
|
151
|
+
handoff-*.json
|
|
152
|
+
context-story-*.md
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Aggressive cleanup (`--aggressive`)
|
|
156
|
+
```bash
|
|
157
|
+
context-epic-*.md # Only for completed epics
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Migration from Old Patterns
|
|
163
|
+
|
|
164
|
+
Old patterns that should no longer be used:
|
|
165
|
+
|
|
166
|
+
| Old Pattern | New Pattern |
|
|
167
|
+
|-------------|-------------|
|
|
168
|
+
| `story-{ID}-context.md` | `context-story-{ID}.md` |
|
|
169
|
+
| `epic-{N}-context.md` | `context-epic-{N}.md` |
|
|
170
|
+
| `test-results-{repo}-{ID}.log` | `test-{ID}-{agent}-{phase}.log` |
|
|
171
|
+
| `tea-{ID}-red-check-results.md` | `test-{ID}-tea-red.md` |
|
|
172
|
+
| `dev-{ID}-red-verify-report.md` | `test-{ID}-dev-red.md` |
|
|
173
|
+
| `{ID}-handoff-summary.md` | `handoff-{ID}-{agent}.md` |
|
|
174
|
+
| `lint-results-{repo}-{ID}.log` | `lint-{ID}-{repo}.log` |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Quick Reference
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
.session/
|
|
182
|
+
├── .gitkeep # Git placeholder
|
|
183
|
+
├── session-log.txt # Activity log (auto-rotated)
|
|
184
|
+
├── agents/ # Agent session state
|
|
185
|
+
│ └── {uuid}.md # Per-session state
|
|
186
|
+
├── 36-2-session.md # Active story session
|
|
187
|
+
├── context-story-36-2.md # Story technical context
|
|
188
|
+
├── context-epic-10.md # Epic technical context
|
|
189
|
+
├── test-36-2-tea-red.log # TEA test output
|
|
190
|
+
├── test-36-2-dev-green.md # Dev test report
|
|
191
|
+
├── lint-36-2-api.log # Lint output
|
|
192
|
+
└── handoff-36-2-tea.md # TEA → Dev handoff
|
|
193
|
+
```
|