@pennyfarthing/core 7.9.3 → 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 +1 -1
- 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,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Facilitate sprint planning session
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Sprint Planning - Plan the Next Sprint
|
|
6
|
+
|
|
7
|
+
You are facilitating a **sprint planning session** to define what work will be done in the upcoming sprint.
|
|
8
|
+
|
|
9
|
+
## Pre-Planning: Load Context
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Current sprint status
|
|
13
|
+
cat sprint/current-sprint.yaml
|
|
14
|
+
|
|
15
|
+
# Full backlog
|
|
16
|
+
cat sprint/backlog.yaml
|
|
17
|
+
|
|
18
|
+
# Recent velocity (completed points)
|
|
19
|
+
grep -A5 "summary:" sprint/current-sprint.yaml
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Planning Phases
|
|
23
|
+
|
|
24
|
+
### Phase 1: Review & Reflect (5 min)
|
|
25
|
+
- How did last sprint go? (Quick check, not full retro)
|
|
26
|
+
- Any carryover items?
|
|
27
|
+
- Blockers or dependencies resolved?
|
|
28
|
+
|
|
29
|
+
### Phase 2: Capacity Planning (3 min)
|
|
30
|
+
- Team availability this sprint
|
|
31
|
+
- Known interruptions (holidays, meetings, on-call)
|
|
32
|
+
- Realistic velocity target
|
|
33
|
+
|
|
34
|
+
### Phase 3: Backlog Grooming (10 min)
|
|
35
|
+
- Review top items in backlog
|
|
36
|
+
- Clarify acceptance criteria
|
|
37
|
+
- Estimate if not already estimated
|
|
38
|
+
- Identify dependencies
|
|
39
|
+
|
|
40
|
+
### Phase 4: Sprint Goal (2 min)
|
|
41
|
+
- What's the ONE thing this sprint must achieve?
|
|
42
|
+
- How will we know we succeeded?
|
|
43
|
+
|
|
44
|
+
### Phase 5: Commitment (5 min)
|
|
45
|
+
- Select stories that fit capacity
|
|
46
|
+
- Balance: features vs bugs vs tech debt
|
|
47
|
+
- Ensure no single epic dominates
|
|
48
|
+
- Leave buffer for unknowns (~20%)
|
|
49
|
+
|
|
50
|
+
## Output Template
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Sprint [N+1] Planning
|
|
54
|
+
**Dates**: [Start] - [End]
|
|
55
|
+
**Sprint Goal**: [One sentence goal]
|
|
56
|
+
|
|
57
|
+
### Capacity
|
|
58
|
+
- Velocity target: [X] points
|
|
59
|
+
- Buffer (20%): [Y] points reserved
|
|
60
|
+
- Usable capacity: [Z] points
|
|
61
|
+
|
|
62
|
+
### Committed Stories
|
|
63
|
+
|
|
64
|
+
#### [Epic Name] ([X] pts)
|
|
65
|
+
| Story | Points | Priority | Assignee |
|
|
66
|
+
|-------|--------|----------|----------|
|
|
67
|
+
| [Story] | 3 | P0 | Dev |
|
|
68
|
+
| [Story] | 5 | P1 | Dev |
|
|
69
|
+
|
|
70
|
+
#### [Another Epic] ([Y] pts)
|
|
71
|
+
...
|
|
72
|
+
|
|
73
|
+
#### Bugs ([Z] pts)
|
|
74
|
+
| Bug | Points | Priority |
|
|
75
|
+
|-----|--------|----------|
|
|
76
|
+
| BUG-XXX | 2 | P0 |
|
|
77
|
+
|
|
78
|
+
### Not This Sprint (Explicitly Deferred)
|
|
79
|
+
- [Story] - Why deferred
|
|
80
|
+
- [Story] - Blocked by X
|
|
81
|
+
|
|
82
|
+
### Risks
|
|
83
|
+
- [Risk and mitigation]
|
|
84
|
+
|
|
85
|
+
### Definition of Done
|
|
86
|
+
- [ ] All acceptance criteria met
|
|
87
|
+
- [ ] Tests passing
|
|
88
|
+
- [ ] Code reviewed
|
|
89
|
+
- [ ] Documentation updated
|
|
90
|
+
- [ ] No P0/P1 bugs introduced
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## After Planning
|
|
94
|
+
|
|
95
|
+
1. Update `sprint/current-sprint.yaml` with committed stories
|
|
96
|
+
2. Move selected items from `backlog` to `in_sprint`
|
|
97
|
+
3. Create feature branches if needed
|
|
98
|
+
4. Notify team of sprint start
|
|
99
|
+
|
|
100
|
+
## Usage
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
/sprint-planning # Plan next sprint
|
|
104
|
+
/sprint-planning sprint-3 # Plan specific sprint
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
**READY TO PLAN. WHAT'S OUR GOAL FOR THE NEXT SPRINT?**
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Sprint status, backlog, and story management - check status, find work, archive completed stories
|
|
3
|
+
args: "[status|backlog|work|archive|new|future|promote] [args...]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sprint Management
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Manage sprint workflow: check status, view backlog, start work, archive completed stories, and promote future epics. This is the primary interface for sprint operations.
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<critical>
|
|
13
|
+
Never manually edit `sprint/current-sprint.yaml`. Always use the provided scripts.
|
|
14
|
+
</critical>
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
### `/sprint` or `/sprint status [filter]`
|
|
19
|
+
|
|
20
|
+
Show current sprint status with story counts and points.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
.pennyfarthing/scripts/core/run.sh sprint/sprint-status.sh [filter]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
| Filter | Description |
|
|
27
|
+
|--------|-------------|
|
|
28
|
+
| (none) | All stories |
|
|
29
|
+
| `todo` | Backlog only |
|
|
30
|
+
| `in-progress` | Work in progress |
|
|
31
|
+
| `done` | Completed stories |
|
|
32
|
+
|
|
33
|
+
### `/sprint backlog`
|
|
34
|
+
|
|
35
|
+
Show available stories ready for work, grouped by epic.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
.pennyfarthing/scripts/core/run.sh sprint/available-stories.sh
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### `/sprint work [story-id|epic-id|next]`
|
|
42
|
+
|
|
43
|
+
Start work on a story. Primary entry point for development.
|
|
44
|
+
|
|
45
|
+
| Argument | Behavior |
|
|
46
|
+
|----------|----------|
|
|
47
|
+
| (none) | Interactive selection from backlog |
|
|
48
|
+
| `MSSCI-XXXXX` | Start specific story |
|
|
49
|
+
| `epic-XX` | Start first available story in epic |
|
|
50
|
+
| `next` | Auto-select highest priority story |
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Check if story is available
|
|
54
|
+
.pennyfarthing/scripts/core/run.sh sprint/check-story.sh <story-id>
|
|
55
|
+
|
|
56
|
+
# Then load SM to begin work
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
<workflow>
|
|
60
|
+
When starting work, this command:
|
|
61
|
+
1. Validates story availability
|
|
62
|
+
2. Loads SM agent
|
|
63
|
+
3. SM creates context and claims Jira
|
|
64
|
+
4. Hands off to TEA (tdd) or Dev (trivial)
|
|
65
|
+
</workflow>
|
|
66
|
+
|
|
67
|
+
### `/sprint archive <story-id> [pr-number] [--apply]`
|
|
68
|
+
|
|
69
|
+
Archive a completed story.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
.pennyfarthing/scripts/core/run.sh sprint/archive-story.sh <story-id> [pr-number] [--apply]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
| Option | Description |
|
|
76
|
+
|--------|-------------|
|
|
77
|
+
| `--apply` | Also remove from current-sprint.yaml |
|
|
78
|
+
|
|
79
|
+
### `/sprint new <yyww> <jira-id> <start> <end> "<goal>"`
|
|
80
|
+
|
|
81
|
+
Initialize a new sprint.
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
.pennyfarthing/scripts/core/run.sh sprint/new-sprint.sh 2605 277 2026-02-03 2026-02-16 "Sprint goal"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### `/sprint future [--epic EPIC_ID]`
|
|
88
|
+
|
|
89
|
+
Show future work available for promotion.
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
.pennyfarthing/scripts/core/run.sh sprint/list-future.sh [--epic epic-XX]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### `/sprint promote <epic-id>`
|
|
96
|
+
|
|
97
|
+
Move an epic from future.yaml to current sprint.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
.pennyfarthing/scripts/core/run.sh sprint/promote-epic.sh epic-XX
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Quick Reference
|
|
104
|
+
|
|
105
|
+
| Command | Action |
|
|
106
|
+
|---------|--------|
|
|
107
|
+
| `/sprint` | Show sprint status |
|
|
108
|
+
| `/sprint status todo` | Show backlog |
|
|
109
|
+
| `/sprint backlog` | Available stories |
|
|
110
|
+
| `/sprint work` | Interactive start |
|
|
111
|
+
| `/sprint work next` | Start highest priority |
|
|
112
|
+
| `/sprint work MSSCI-XXX` | Start specific story |
|
|
113
|
+
| `/sprint archive MSSCI-XXX` | Archive completed |
|
|
114
|
+
| `/sprint future` | Show future work |
|
|
115
|
+
| `/sprint promote epic-XX` | Promote to sprint |
|
|
116
|
+
|
|
117
|
+
## Aliases
|
|
118
|
+
|
|
119
|
+
- `/new-work` is an alias for `/sprint work`
|
|
120
|
+
|
|
121
|
+
## Related
|
|
122
|
+
|
|
123
|
+
| Skill | Purpose |
|
|
124
|
+
|-------|---------|
|
|
125
|
+
| `/jira` | Jira operations (create, sync, claim) |
|
|
126
|
+
| `/story` | Story creation, sizing, finish |
|
|
127
|
+
| `/sm` | Scrum Master agent for coordination |
|
|
128
|
+
|
|
129
|
+
<reference>
|
|
130
|
+
- **Skill:** `.claude/skills/sprint/skill.md`
|
|
131
|
+
- **Scripts:** `.pennyfarthing/scripts/sprint/`
|
|
132
|
+
- **Data:** `sprint/current-sprint.yaml`
|
|
133
|
+
</reference>
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Wrap current changes into a standalone Jira story, branch, PR, and merge
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Standalone Story
|
|
6
|
+
|
|
7
|
+
Quickly wrap dirty changes into a tracked Jira story without the full sprint/workflow ceremony. Creates a Jira ticket, feature branch, commits, pushes, creates PR, and merges.
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Fast path for shipping completed work that deserves tracking but doesn't need story setup upfront.
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<when-to-use>
|
|
14
|
+
- You've done exploratory work that turned into something shippable
|
|
15
|
+
- A bug fix or feature emerged during other work
|
|
16
|
+
- Process improvements that should be tracked
|
|
17
|
+
- Any change worth a Jira ticket but not a full sprint story
|
|
18
|
+
</when-to-use>
|
|
19
|
+
|
|
20
|
+
<usage>
|
|
21
|
+
```bash
|
|
22
|
+
# Interactive: prompts for title and description
|
|
23
|
+
/standalone
|
|
24
|
+
|
|
25
|
+
# With title
|
|
26
|
+
/standalone "Add drift detection script"
|
|
27
|
+
|
|
28
|
+
# With title and points
|
|
29
|
+
/standalone "Add drift detection script" 2
|
|
30
|
+
```
|
|
31
|
+
</usage>
|
|
32
|
+
|
|
33
|
+
<workflow>
|
|
34
|
+
1. Verify dirty files exist (abort if clean)
|
|
35
|
+
2. Show changes and confirm with user
|
|
36
|
+
3. Create Jira story (prompts for title/description if not provided)
|
|
37
|
+
4. Add story to current sprint and mark Done
|
|
38
|
+
5. Create feature branch: `feat/MSSCI-XXXXX-{slug}`
|
|
39
|
+
6. Stage and commit changes
|
|
40
|
+
7. Push branch
|
|
41
|
+
8. Create PR with summary
|
|
42
|
+
9. Merge PR (squash) and delete branch
|
|
43
|
+
10. Return to develop
|
|
44
|
+
</workflow>
|
|
45
|
+
|
|
46
|
+
## Execution
|
|
47
|
+
|
|
48
|
+
### Step 1: Pre-Flight
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Abort if clean
|
|
52
|
+
git diff --quiet && git diff --cached --quiet && {
|
|
53
|
+
echo "ERROR: No changes to commit."
|
|
54
|
+
exit 1
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
echo "=== Changes to Commit ==="
|
|
58
|
+
git status --short
|
|
59
|
+
git diff --stat
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Step 2: Gather Story Info
|
|
63
|
+
|
|
64
|
+
If title not provided, prompt:
|
|
65
|
+
- **Title:** Short summary (becomes Jira summary and commit message)
|
|
66
|
+
- **Description:** What was done (becomes Jira description and PR body)
|
|
67
|
+
- **Points:** Story points (default: 2)
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Defaults
|
|
71
|
+
TITLE="${1:-}"
|
|
72
|
+
POINTS="${2:-2}"
|
|
73
|
+
|
|
74
|
+
if [ -z "$TITLE" ]; then
|
|
75
|
+
# Prompt user for title
|
|
76
|
+
echo "Enter story title:"
|
|
77
|
+
read TITLE
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# Generate description from changed files
|
|
81
|
+
CHANGED_FILES=$(git status --porcelain | awk '{print $2}')
|
|
82
|
+
DESCRIPTION="## Changes
|
|
83
|
+
$(git diff --stat)
|
|
84
|
+
|
|
85
|
+
## Files
|
|
86
|
+
$(echo "$CHANGED_FILES" | head -20)"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 3: Create Jira Story
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Create Jira story
|
|
93
|
+
JIRA_OUTPUT=$(jira issue create \
|
|
94
|
+
--project MSSCI \
|
|
95
|
+
--type Story \
|
|
96
|
+
--summary "$TITLE" \
|
|
97
|
+
--body "$DESCRIPTION" \
|
|
98
|
+
--label pennyfarthing \
|
|
99
|
+
--custom story-points="$POINTS" \
|
|
100
|
+
--no-input 2>&1)
|
|
101
|
+
|
|
102
|
+
JIRA_KEY=$(echo "$JIRA_OUTPUT" | grep -oE 'MSSCI-[0-9]+' | head -1)
|
|
103
|
+
|
|
104
|
+
if [ -z "$JIRA_KEY" ]; then
|
|
105
|
+
echo "ERROR: Failed to create Jira story"
|
|
106
|
+
echo "$JIRA_OUTPUT"
|
|
107
|
+
exit 1
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
echo "Created: $JIRA_KEY"
|
|
111
|
+
|
|
112
|
+
# Add to sprint and mark done
|
|
113
|
+
jira sprint add 276 "$JIRA_KEY"
|
|
114
|
+
jira issue move "$JIRA_KEY" "Done"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Step 4: Create Branch and Commit
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Generate slug from title
|
|
121
|
+
SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd 'a-z0-9-' | cut -c1-30)
|
|
122
|
+
|
|
123
|
+
# Stash, update develop, create branch
|
|
124
|
+
git stash push -m "standalone-wip-$(date +%s)"
|
|
125
|
+
git checkout develop && git pull origin develop
|
|
126
|
+
BRANCH="feat/${JIRA_KEY}-${SLUG}"
|
|
127
|
+
git checkout -b "$BRANCH"
|
|
128
|
+
git stash pop
|
|
129
|
+
|
|
130
|
+
# Stage and commit
|
|
131
|
+
git add .
|
|
132
|
+
git commit -m "feat: ${TITLE} (${JIRA_KEY})
|
|
133
|
+
|
|
134
|
+
${DESCRIPTION}
|
|
135
|
+
|
|
136
|
+
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Step 5: Push and Create PR
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
git push -u origin "$BRANCH"
|
|
143
|
+
|
|
144
|
+
gh pr create \
|
|
145
|
+
--title "feat: ${TITLE} (${JIRA_KEY})" \
|
|
146
|
+
--body "## Summary
|
|
147
|
+
${DESCRIPTION}
|
|
148
|
+
|
|
149
|
+
## Jira
|
|
150
|
+
[${JIRA_KEY}](https://1898andco.atlassian.net/browse/${JIRA_KEY})
|
|
151
|
+
|
|
152
|
+
## Test plan
|
|
153
|
+
- [x] Changes verified locally
|
|
154
|
+
|
|
155
|
+
🤖 Generated with [Claude Code](https://claude.com/claude-code)"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Step 6: Merge and Cleanup
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Get PR number and merge
|
|
162
|
+
PR_URL=$(gh pr view --json url -q '.url')
|
|
163
|
+
gh pr merge --squash --delete-branch
|
|
164
|
+
|
|
165
|
+
# Return to develop
|
|
166
|
+
git checkout develop
|
|
167
|
+
git pull origin develop
|
|
168
|
+
|
|
169
|
+
echo "✅ Done: $JIRA_KEY merged"
|
|
170
|
+
echo " Jira: https://1898andco.atlassian.net/browse/$JIRA_KEY"
|
|
171
|
+
echo " PR: $PR_URL"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Safety
|
|
175
|
+
|
|
176
|
+
- **NEVER commit directly to develop**
|
|
177
|
+
- **Never force push**
|
|
178
|
+
- **Never commit secrets** (.env, credentials)
|
|
179
|
+
- **Abort if working directory is clean**
|
|
180
|
+
- **Confirm changes before proceeding**
|
|
181
|
+
|
|
182
|
+
## Comparison
|
|
183
|
+
|
|
184
|
+
| Command | Tracking | Branch | PR | Use For |
|
|
185
|
+
|---------|----------|--------|-----|---------|
|
|
186
|
+
| `/chore` | None | chore/* | No | Quick maintenance |
|
|
187
|
+
| `/standalone` | Jira | feat/* | Yes | Trackable features |
|
|
188
|
+
| `/sprint work` | Jira + Sprint | feat/* | Yes | Planned sprint work |
|
|
189
|
+
|
|
190
|
+
<related>
|
|
191
|
+
- `/chore` - Quick commits without Jira tracking
|
|
192
|
+
- `/sprint work` - Full sprint workflow with story setup
|
|
193
|
+
- `/git-cleanup` - Organize multiple changes into groups
|
|
194
|
+
</related>
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start an epic - move to current sprint and generate tech context
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Start Epic Workflow
|
|
6
|
+
|
|
7
|
+
**This command prepares an epic for development by moving it to the current sprint and generating technical context.**
|
|
8
|
+
|
|
9
|
+
## What This Does
|
|
10
|
+
|
|
11
|
+
1. **Validates** the epic exists in backlog or current sprint
|
|
12
|
+
2. **Moves** the epic to current sprint if not already there
|
|
13
|
+
3. **Runs** the SM agent's `epic-tech-context` task to generate technical specifications
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cd $CLAUDE_PROJECT_DIR
|
|
19
|
+
|
|
20
|
+
# Verify sprint files exist
|
|
21
|
+
if [ ! -f "sprint/current-sprint.yaml" ] || [ ! -f "sprint/backlog.yaml" ]; then
|
|
22
|
+
echo "ERROR: Sprint files not found"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo "Sprint files found - ready to start epic"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Usage
|
|
30
|
+
|
|
31
|
+
Provide the epic ID when invoking this command:
|
|
32
|
+
- `epic-5` - Pennyfarthing epic (format: `epic-N`)
|
|
33
|
+
|
|
34
|
+
## Workflow Steps
|
|
35
|
+
|
|
36
|
+
### Step 0: Clean Previous Work Artifacts
|
|
37
|
+
|
|
38
|
+
Before starting a new epic, clean up stale artifacts from previous work:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cd $CLAUDE_PROJECT_DIR
|
|
42
|
+
|
|
43
|
+
# Run conservative cleanup (7+ day old artifacts)
|
|
44
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh --dry-run
|
|
45
|
+
|
|
46
|
+
# If dry-run looks good, run actual cleanup
|
|
47
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh
|
|
48
|
+
|
|
49
|
+
# Archive epic contexts for completed epics
|
|
50
|
+
$CLAUDE_PROJECT_DIR/scripts/run.sh misc/session-cleanup.sh --aggressive
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This ensures a clean slate before starting new epic work and archives contexts from completed epics.
|
|
54
|
+
|
|
55
|
+
### Step 1: Identify Epic
|
|
56
|
+
|
|
57
|
+
Ask the user for the epic ID if not provided:
|
|
58
|
+
> "Which epic would you like to start? (e.g., epic-5, sim-epic-10)"
|
|
59
|
+
|
|
60
|
+
### Step 2: Check Epic Location
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
cd $CLAUDE_PROJECT_DIR
|
|
64
|
+
|
|
65
|
+
# Check if epic is in current sprint
|
|
66
|
+
if grep -q "^$EPIC_ID:" sprint/current-sprint.yaml; then
|
|
67
|
+
echo "Epic $EPIC_ID is already in current sprint"
|
|
68
|
+
EPIC_LOCATION="current"
|
|
69
|
+
elif grep -q "^$EPIC_ID:" sprint/backlog.yaml; then
|
|
70
|
+
echo "Epic $EPIC_ID found in backlog - will move to current sprint"
|
|
71
|
+
EPIC_LOCATION="backlog"
|
|
72
|
+
else
|
|
73
|
+
echo "ERROR: Epic $EPIC_ID not found in sprint files"
|
|
74
|
+
exit 1
|
|
75
|
+
fi
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 3: Move Epic to Current Sprint (if needed)
|
|
79
|
+
|
|
80
|
+
If the epic is in backlog:
|
|
81
|
+
|
|
82
|
+
1. **Extract** the epic block from `sprint/backlog.yaml`
|
|
83
|
+
2. **Add** the epic to `sprint/current-sprint.yaml` under the active work section
|
|
84
|
+
3. **Update** the epic status from `backlog` or `planned` to `in-progress`
|
|
85
|
+
4. **Remove** the epic from `sprint/backlog.yaml`
|
|
86
|
+
|
|
87
|
+
**Format for current-sprint.yaml:**
|
|
88
|
+
```yaml
|
|
89
|
+
# ===========================================================================
|
|
90
|
+
# EPIC [N]: [Name]
|
|
91
|
+
# ===========================================================================
|
|
92
|
+
- id: MSSCI-XXXXX
|
|
93
|
+
type: epic
|
|
94
|
+
title: "Epic: [Name]"
|
|
95
|
+
points: [total_pts]
|
|
96
|
+
completed_points: 0
|
|
97
|
+
priority: P1
|
|
98
|
+
status: in_progress
|
|
99
|
+
stories:
|
|
100
|
+
# Stories added during tech context generation
|
|
101
|
+
- id: MSSCI-XXXXX
|
|
102
|
+
title: "[Story title]"
|
|
103
|
+
points: [N]
|
|
104
|
+
priority: P2
|
|
105
|
+
status: backlog
|
|
106
|
+
repos: [cyclist|pennyfarthing|both]
|
|
107
|
+
workflow: [tdd|trivial|agent-docs]
|
|
108
|
+
acceptance_criteria:
|
|
109
|
+
- [AC 1]
|
|
110
|
+
- [AC 2]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Step 4: Generate Epic Tech Context
|
|
114
|
+
|
|
115
|
+
Invoke the SM agent with the `epic-tech-context` task:
|
|
116
|
+
|
|
117
|
+
**Run:** `/sm` with task: `epic-tech-context` for epic `$EPIC_ID`
|
|
118
|
+
|
|
119
|
+
The SM agent will:
|
|
120
|
+
1. Load the epic details from current sprint
|
|
121
|
+
2. Analyze the codebase for relevant files
|
|
122
|
+
3. Generate technical context including:
|
|
123
|
+
- Current state analysis
|
|
124
|
+
- Technical approach
|
|
125
|
+
- File modifications needed
|
|
126
|
+
- API/UI changes
|
|
127
|
+
- Database changes
|
|
128
|
+
- Testing strategy
|
|
129
|
+
- Story breakdown with acceptance criteria
|
|
130
|
+
4. Save context to `.session/context-epic-$EPIC_ID.md`
|
|
131
|
+
|
|
132
|
+
### Step 5: Confirm Ready
|
|
133
|
+
|
|
134
|
+
After tech context is generated:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
✅ Epic $EPIC_ID is ready for development
|
|
138
|
+
|
|
139
|
+
Next steps:
|
|
140
|
+
1. Review the tech context: cat .session/context-epic-$EPIC_ID.md
|
|
141
|
+
2. Start first story: /new-work
|
|
142
|
+
3. SM will select from this epic's stories
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Example
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# User invokes: /start-epic epic-5
|
|
149
|
+
|
|
150
|
+
# Output:
|
|
151
|
+
# → Checking epic-5 location...
|
|
152
|
+
# → Epic epic-5 found in backlog
|
|
153
|
+
# → Moving epic-5 to current sprint...
|
|
154
|
+
# → Updating status to in-progress...
|
|
155
|
+
# → Invoking SM for epic-tech-context...
|
|
156
|
+
# → [SM generates technical context]
|
|
157
|
+
# → ✅ Epic epic-5 is ready for development
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Notes
|
|
161
|
+
|
|
162
|
+
- This command does NOT start a story - use `/new-work` for that
|
|
163
|
+
- The epic tech context provides the foundation for story-level work
|
|
164
|
+
- Stories within the epic will be worked via the normal TDD flow
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
**Flow:** `/start-epic` → SM (epic-tech-context) → `/new-work` → TDD cycle
|