jettypod 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SYSTEM-BEHAVIOR.md +18 -18
- package/features/work-commands/steps.js +41 -2
- package/features/work-tracking/mode-required.feature +9 -9
- package/features/work-tracking/work-start-mode.feature +3 -3
- package/package.json +1 -1
- package/skills-templates/external-transition/SKILL.md +384 -0
- package/skills-templates/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982642301/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982642301/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982642301/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982642301/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982642301/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982642564/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982642564/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982642564/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982642564/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982642564/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982642808/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982642808/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982642808/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982642808/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982642808/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982643116/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982643116/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982643116/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982643116/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982643116/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982643364/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982643364/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982643364/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982643364/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982643364/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982643618/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982643618/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982643618/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982643618/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982643618/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982643860/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982643860/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982643860/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982643860/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982643860/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982643991/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982643991/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982643991/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982643991/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982643991/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982644134/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982644134/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982644134/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982644134/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982644134/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982644269/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982644269/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982644269/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982644269/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982644269/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982644399/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982644399/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982644399/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982644399/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982644399/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982644526/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982644526/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982644526/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982644526/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982644526/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982644652/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982644652/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982644652/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982644652/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982644652/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982644891/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982644891/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982644891/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982644891/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982644891/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982645161/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982645161/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982645161/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982645161/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982645161/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982685251/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982685251/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982685251/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982685251/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982685251/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982685496/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982685496/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982685496/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982685496/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982685496/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982685793/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982685793/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982685793/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982685793/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982685793/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982686068/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982686068/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982686068/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982686068/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982686068/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982686347/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982686347/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982686347/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982686347/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982686347/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982686671/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982686671/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982686671/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982686671/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982686671/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982686913/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982686913/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982686913/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982686913/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982686913/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982687076/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982687076/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982687076/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982687076/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982687076/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982687204/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982687204/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982687204/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982687204/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982687204/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982687327/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982687327/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982687327/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982687327/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982687327/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982687448/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982687448/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982687448/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982687448/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982687448/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982687677/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982687677/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982687677/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982687677/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982687677/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982687813/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982687813/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982687813/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982687813/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982687813/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982688062/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982688062/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982688062/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982688062/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982688062/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982688189/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982688189/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982688189/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982688189/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982688189/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982737358/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982737358/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982737358/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982737358/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982737358/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982737594/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982737594/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982737594/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982737594/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982737594/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982737931/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982737931/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982737931/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982737931/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982737931/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982738184/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982738184/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982738184/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982738184/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982738184/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982738500/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982738500/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982738500/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982738500/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982738500/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982738729/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982738729/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982738729/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982738729/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982738729/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982738960/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982738960/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982738960/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982738960/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982738960/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982739084/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982739084/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982739084/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982739084/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982739084/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982739206/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982739206/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982739206/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982739206/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982739206/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982739402/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982739402/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982739402/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982739402/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982739402/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982739532/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982739532/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982739532/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982739532/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982739532/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982740510/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982740510/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982740510/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982740510/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982740510/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982740655/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982740655/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982740655/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982740655/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982740655/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982741707/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982741707/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982741707/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982741707/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982741707/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982741828/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982741828/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982741828/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982741828/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982741828/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982854935/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982854935/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982854935/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982854935/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982854935/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982854935/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982854935/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982855281/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982855281/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982855281/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982855281/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982855281/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982855281/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982855281/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982855562/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982855562/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982855562/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982855562/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982855562/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982855562/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982855562/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982855855/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982855855/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982855855/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982855855/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982855855/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982855855/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982855855/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982856107/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982856107/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982856107/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982856107/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982856107/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982856107/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982856107/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982856356/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982856356/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982856356/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982856356/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982856356/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982856356/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982856356/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982856716/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982856716/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982856716/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982856716/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982856716/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982856716/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982856716/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982856851/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982856851/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982856851/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982856851/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982856851/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982856851/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982856851/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982856983/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982856983/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982856983/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982856983/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982856983/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982856983/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982856983/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982857114/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982857114/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982857114/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982857114/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982857114/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982857114/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982857114/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982857250/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982857250/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982857250/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982857250/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982857250/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982857250/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982857250/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982857380/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982857380/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982857380/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982857380/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982857380/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982857380/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982857380/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982857515/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982857515/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982857515/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982857515/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982857515/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982857515/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982857515/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982857865/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982857865/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982857865/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982857865/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982857865/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982857865/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982857865/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982858002/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982858002/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982858002/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982858002/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982858002/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982858002/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982858002/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/external-transition-1762982858258/.claude/settings.json +24 -0
- package/test-tmp/external-transition-1762982858258/.claude/skills/epic-planning/SKILL.md +297 -0
- package/test-tmp/external-transition-1762982858258/.claude/skills/external-transition/SKILL.md +384 -0
- package/test-tmp/external-transition-1762982858258/.claude/skills/feature-planning/SKILL.md +464 -0
- package/test-tmp/external-transition-1762982858258/.claude/skills/production-mode/SKILL.md +369 -0
- package/test-tmp/external-transition-1762982858258/.claude/skills/speed-mode/SKILL.md +481 -0
- package/test-tmp/external-transition-1762982858258/.claude/skills/stable-mode/SKILL.md +687 -0
- package/test-tmp/production-mode-1762982642199/features/test-feature.feature +22 -0
- package/test-tmp/production-mode-1762982642221/features/new-feature.feature +17 -0
- package/test-tmp/production-mode-1762982642230/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982642238/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982642247/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982642255/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982642264/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982642283/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982685154/features/test-feature.feature +22 -0
- package/test-tmp/production-mode-1762982685176/features/new-feature.feature +17 -0
- package/test-tmp/production-mode-1762982685187/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982685196/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982685203/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982685211/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982685219/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982685235/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982737257/features/test-feature.feature +22 -0
- package/test-tmp/production-mode-1762982737284/features/new-feature.feature +17 -0
- package/test-tmp/production-mode-1762982737294/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982737302/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982737309/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982737316/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982737325/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982737342/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854832/features/test-feature.feature +22 -0
- package/test-tmp/production-mode-1762982854855/features/new-feature.feature +17 -0
- package/test-tmp/production-mode-1762982854866/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854873/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854881/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854888/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854897/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854917/features/test-feature.feature +4 -0
- package/test-tmp/production-mode-1762982854924/features/test-feature.feature +4 -0
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: epic-planning
|
|
3
|
+
description: Guide epic planning with feature brainstorming and optional architectural decision prototyping. Use when user asks to plan an epic, mentions planning features for an epic, says "help me plan epic", or when they just created an epic and want to break it down into features.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Epic Planning Skill
|
|
7
|
+
|
|
8
|
+
Guides Claude through comprehensive epic planning including feature identification and architectural decisions.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
When this skill is activated, you are helping plan an epic. Follow this structured approach:
|
|
13
|
+
|
|
14
|
+
### Step 1: Understand the Epic
|
|
15
|
+
|
|
16
|
+
You'll receive context about the epic being planned. Review:
|
|
17
|
+
- Epic title and description
|
|
18
|
+
- Project context
|
|
19
|
+
- Any parent context
|
|
20
|
+
|
|
21
|
+
### Step 2: Check Existing Features and Decisions
|
|
22
|
+
|
|
23
|
+
**CRITICAL:** Before suggesting features or approaches, check what already exists:
|
|
24
|
+
|
|
25
|
+
**Check for existing features:**
|
|
26
|
+
```bash
|
|
27
|
+
node jettypod.js backlog | grep -A 20 "Epic Name"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If features already exist, acknowledge them and skip to Step 4 (Architectural Decision).
|
|
31
|
+
|
|
32
|
+
**Check for existing decisions:**
|
|
33
|
+
```bash
|
|
34
|
+
node -e "const { showDecisionsForEpic } = require('./features/decisions/index.js'); showDecisionsForEpic(epicId)"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If decisions exist, present them to the user:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
🎯 **Existing Architectural Decisions for This Epic:**
|
|
41
|
+
|
|
42
|
+
[For each decision:]
|
|
43
|
+
- **[Aspect]:** [Decision]
|
|
44
|
+
*Rationale:* [Why this was chosen]
|
|
45
|
+
*Decided:* [Date]
|
|
46
|
+
|
|
47
|
+
These decisions were made previously. Before we continue:
|
|
48
|
+
1. Do these decisions still apply?
|
|
49
|
+
2. Should we revisit any of them?
|
|
50
|
+
3. Are there additional aspects we need to decide?
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Only proceed with suggesting new architectural options if:
|
|
54
|
+
- No decisions exist yet, OR
|
|
55
|
+
- User confirms decisions need to be revisited, OR
|
|
56
|
+
- User identifies new aspects to decide
|
|
57
|
+
|
|
58
|
+
### Step 3: Brainstorm Features (Skip if Features Already Exist)
|
|
59
|
+
|
|
60
|
+
Based on the epic's purpose, suggest features that belong in this epic:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
I'll help you plan the features for this epic.
|
|
64
|
+
|
|
65
|
+
Based on [epic name], here are the features I recommend:
|
|
66
|
+
|
|
67
|
+
**Feature 1: [Name]** - [Brief description of what users can do]
|
|
68
|
+
**Feature 2: [Name]** - [Brief description]
|
|
69
|
+
**Feature 3: [Name]** - [Brief description]
|
|
70
|
+
...
|
|
71
|
+
|
|
72
|
+
**Questions:**
|
|
73
|
+
- [Any clarifying questions about scope]
|
|
74
|
+
- [Missing features to consider]
|
|
75
|
+
|
|
76
|
+
What features should we include? What am I missing?
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 4: Architectural Decision (Optional)
|
|
80
|
+
|
|
81
|
+
After features are defined, ask if this epic needs a shared technical approach:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
**Architectural question:** Does this epic need a shared technical decision?
|
|
85
|
+
|
|
86
|
+
For example:
|
|
87
|
+
- Which library/framework for this capability?
|
|
88
|
+
- What data structure or protocol?
|
|
89
|
+
- What architectural pattern?
|
|
90
|
+
|
|
91
|
+
Examples where architectural decisions matter:
|
|
92
|
+
- Real-time features: WebSockets vs SSE vs polling?
|
|
93
|
+
- Auth system: Which auth library and token strategy?
|
|
94
|
+
- Data sync: Optimistic vs pessimistic locking?
|
|
95
|
+
|
|
96
|
+
Should we explore different architectural approaches?
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Step 5A: If Architectural Decision Needed
|
|
100
|
+
|
|
101
|
+
If the epic needs architectural decision, suggest exactly 3 approaches:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
Here are 3 different architectural approaches for [epic name]:
|
|
105
|
+
|
|
106
|
+
**Option 1: [Simple/Conservative approach name]**
|
|
107
|
+
- **Pros**: ✅ [2-3 advantages - proven, reliable, fast to implement]
|
|
108
|
+
- **Cons**: ❌ [2-3 trade-offs - limitations, constraints]
|
|
109
|
+
- **Technical Impact**: [How this affects the features in this epic]
|
|
110
|
+
|
|
111
|
+
**Option 2: [Balanced approach name]**
|
|
112
|
+
- **Pros**: ✅ [2-3 advantages - good balance]
|
|
113
|
+
- **Cons**: ❌ [2-3 trade-offs]
|
|
114
|
+
- **Technical Impact**: [How this affects the features in this epic]
|
|
115
|
+
|
|
116
|
+
**Option 3: [Advanced/Modern approach name]**
|
|
117
|
+
- **Pros**: ✅ [2-3 advantages - powerful, flexible]
|
|
118
|
+
- **Cons**: ❌ [2-3 trade-offs - complexity, learning curve]
|
|
119
|
+
- **Technical Impact**: [How this affects the features in this epic]
|
|
120
|
+
|
|
121
|
+
**Additional approaches considered but not recommended:**
|
|
122
|
+
- *[Alternative 1]*: [Brief] - Not selected because [reason]
|
|
123
|
+
- *[Alternative 2]*: [Brief] - Not selected because [reason]
|
|
124
|
+
|
|
125
|
+
Would you like me to create working prototypes of these architectural approaches?
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Step 5B: If Prototyping Needed
|
|
129
|
+
|
|
130
|
+
If user wants to prototype approaches:
|
|
131
|
+
|
|
132
|
+
1. Build 2-3 prototype approaches in `/prototypes/epic-[id]-[approach-name]/`
|
|
133
|
+
2. Each prototype should demonstrate the architectural difference
|
|
134
|
+
3. **Add prototype header**:
|
|
135
|
+
```
|
|
136
|
+
// Prototype: Epic [epic-id] - [approach name]
|
|
137
|
+
// Created: [date]
|
|
138
|
+
// Purpose: Demonstrate [architectural aspect]
|
|
139
|
+
// Decision: [to be filled after testing]
|
|
140
|
+
```
|
|
141
|
+
4. After user tests, help them choose the winner
|
|
142
|
+
5. Document the decision and rationale
|
|
143
|
+
|
|
144
|
+
### Step 5C: If Approach Already Known
|
|
145
|
+
|
|
146
|
+
If user already knows the approach or skips prototyping:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
Which architectural approach works best for this epic?
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Then record their decision.
|
|
153
|
+
|
|
154
|
+
### Step 6: Create Features and Complete Discovery
|
|
155
|
+
|
|
156
|
+
Once features are defined and architectural decision is made (if needed):
|
|
157
|
+
|
|
158
|
+
**CRITICAL: You must EXECUTE commands using the Bash tool. Do NOT just display them as text.**
|
|
159
|
+
|
|
160
|
+
#### Step 6A: Create Features
|
|
161
|
+
|
|
162
|
+
Use the Bash tool to create each feature:
|
|
163
|
+
|
|
164
|
+
```javascript
|
|
165
|
+
// For each feature, use Bash tool to execute:
|
|
166
|
+
node jettypod.js work create feature "[Feature 1]" "[Description]" --parent=[epic-id]
|
|
167
|
+
node jettypod.js work create feature "[Feature 2]" "[Description]" --parent=[epic-id]
|
|
168
|
+
// etc.
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Display to user as you create each one:
|
|
172
|
+
```
|
|
173
|
+
Creating features...
|
|
174
|
+
✅ Created Feature #123: [Feature 1]
|
|
175
|
+
✅ Created Feature #456: [Feature 2]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### Step 6B: Record Architectural Decision (if applicable)
|
|
179
|
+
|
|
180
|
+
If an architectural decision was made, propose the rationale to the user:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
I'm going to record this architectural decision:
|
|
184
|
+
|
|
185
|
+
Aspect: Architecture
|
|
186
|
+
Decision: [architectural approach chosen]
|
|
187
|
+
Rationale: [why this approach was selected]
|
|
188
|
+
|
|
189
|
+
Does this rationale capture why you chose this approach? (You can edit it if needed)
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**WAIT for user to confirm or provide edited rationale.**
|
|
193
|
+
|
|
194
|
+
**CRITICAL: After user confirms, use Bash tool to EXECUTE the epic-implement command:**
|
|
195
|
+
|
|
196
|
+
```javascript
|
|
197
|
+
// Use Bash tool to execute:
|
|
198
|
+
node jettypod.js work epic-implement [epic-id] \
|
|
199
|
+
--aspect="Architecture" \
|
|
200
|
+
--decision="[architectural approach chosen]" \
|
|
201
|
+
--rationale="[user's confirmed/edited rationale]"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**DO NOT display this as example text. EXECUTE IT using the Bash tool.**
|
|
205
|
+
|
|
206
|
+
After execution succeeds, verify the decision was recorded and display:
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
✅ Architectural decision recorded
|
|
210
|
+
|
|
211
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
212
|
+
🎯 Epic Planning Complete!
|
|
213
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
214
|
+
|
|
215
|
+
Features created: [count]
|
|
216
|
+
Architectural decision: Recorded
|
|
217
|
+
|
|
218
|
+
**Next step:** Plan your first feature
|
|
219
|
+
Run: jettypod work discover [feature-id]
|
|
220
|
+
Or talk to Claude Code: "Let's do feature discovery for #[feature-id]"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Key Principles
|
|
224
|
+
|
|
225
|
+
1. **Feature brainstorming is always required** - Don't skip this even if architectural decision is clear
|
|
226
|
+
2. **Architectural decision is optional** - Not all epics need one (e.g., "Q1 Goals" is just grouping)
|
|
227
|
+
3. **Always suggest exactly 3 options** when architectural decision needed - Simple/Conservative, Balanced, Advanced
|
|
228
|
+
4. **Be specific about features** - Each feature should be user-facing capability
|
|
229
|
+
5. **Use the Approach Suggestion template** - Pros, Cons, Technical Impact format
|
|
230
|
+
6. **Suggest next step** - Always end with clear guidance on what to do next
|
|
231
|
+
7. **Use jettypod commands** - Create features using jettypod CLI, record decisions with epic-implement
|
|
232
|
+
|
|
233
|
+
## Example: Epic with Architectural Decision
|
|
234
|
+
|
|
235
|
+
Epic: "Real-time Collaboration"
|
|
236
|
+
|
|
237
|
+
**Features brainstormed:**
|
|
238
|
+
- Live cursor tracking
|
|
239
|
+
- Concurrent editing with conflict resolution
|
|
240
|
+
- Presence indicators
|
|
241
|
+
- Real-time chat
|
|
242
|
+
|
|
243
|
+
**Architectural approaches suggested:**
|
|
244
|
+
|
|
245
|
+
**Option 1: Long Polling (REST)**
|
|
246
|
+
- **Pros**: ✅ Simple, works with all proxies, uses existing HTTP infrastructure
|
|
247
|
+
- **Cons**: ❌ Higher latency (1-2s), more server load, inefficient for high-frequency updates
|
|
248
|
+
- **Technical Impact**: Each feature polls independently, easy to implement per feature
|
|
249
|
+
|
|
250
|
+
**Option 2: Server-Sent Events (SSE)**
|
|
251
|
+
- **Pros**: ✅ Lightweight, auto-reconnection, efficient one-way streaming
|
|
252
|
+
- **Cons**: ❌ One-direction only (server→client), limited browser connections (6 per domain)
|
|
253
|
+
- **Technical Impact**: Good for cursor/presence, requires separate POST for edits
|
|
254
|
+
|
|
255
|
+
**Option 3: WebSockets (Socket.io)**
|
|
256
|
+
- **Pros**: ✅ Bidirectional, low latency (<100ms), perfect for real-time, fallback support
|
|
257
|
+
- **Cons**: ❌ More complex infrastructure, requires sticky sessions, WebSocket proxies needed
|
|
258
|
+
- **Technical Impact**: All features use unified connection, best UX but infrastructure complexity
|
|
259
|
+
|
|
260
|
+
**Additional approaches considered:**
|
|
261
|
+
- *WebRTC Data Channels*: Peer-to-peer, low latency - Not selected due to NAT/firewall traversal complexity
|
|
262
|
+
- *GraphQL Subscriptions*: Good for selective updates - Not selected as overkill for this use case
|
|
263
|
+
|
|
264
|
+
**User choice:** Option 3 (WebSockets with Socket.io)
|
|
265
|
+
|
|
266
|
+
**Rationale confirmation:**
|
|
267
|
+
Claude proposes: "Bidirectional real-time updates needed for collaboration, Socket.io provides fallbacks and auto-reconnection"
|
|
268
|
+
User confirms: "Yes, that's right"
|
|
269
|
+
|
|
270
|
+
**Command run:**
|
|
271
|
+
```bash
|
|
272
|
+
jettypod work epic-implement 5 \
|
|
273
|
+
--aspect="Architecture" \
|
|
274
|
+
--decision="WebSockets with Socket.io" \
|
|
275
|
+
--rationale="Bidirectional real-time updates needed for collaboration, Socket.io provides fallbacks and auto-reconnection"
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Example: Epic without Architectural Decision
|
|
279
|
+
|
|
280
|
+
Epic: "User Management"
|
|
281
|
+
|
|
282
|
+
**Features brainstormed:**
|
|
283
|
+
- User registration
|
|
284
|
+
- Profile editing
|
|
285
|
+
- Password reset
|
|
286
|
+
- Account deletion
|
|
287
|
+
|
|
288
|
+
**Architectural decision:** None needed - these are independent features using existing auth system
|
|
289
|
+
|
|
290
|
+
## Validation
|
|
291
|
+
|
|
292
|
+
Before completing epic discovery, ensure:
|
|
293
|
+
- [ ] At least 2-3 features identified
|
|
294
|
+
- [ ] Features are user-facing capabilities (not technical tasks)
|
|
295
|
+
- [ ] Architectural decision documented if needed
|
|
296
|
+
- [ ] Features created in database
|
|
297
|
+
- [ ] User knows next step .jettypod work discover [feature-id])
|
package/test-tmp/external-transition-1762982855562/.claude/skills/external-transition/SKILL.md
ADDED
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: external-transition
|
|
3
|
+
description: Guide users through transitioning project from internal to external state when they mention launch, production deployment, or accepting real users. Explains infrastructure work creation and gets confirmation before executing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# External Transition Skill
|
|
7
|
+
|
|
8
|
+
Guides users through transitioning their JettyPod project from internal (staging/preview) to external (production-ready) state.
|
|
9
|
+
|
|
10
|
+
## When to Activate
|
|
11
|
+
|
|
12
|
+
This skill should activate when the user expresses intent to:
|
|
13
|
+
- Launch to production
|
|
14
|
+
- Accept external/real users
|
|
15
|
+
- Deploy publicly
|
|
16
|
+
- Go live
|
|
17
|
+
- Prepare for production
|
|
18
|
+
- Make the project production-ready
|
|
19
|
+
- Similar language indicating readiness for customer/public access
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
|
|
23
|
+
When this skill is activated, follow this structured approach:
|
|
24
|
+
|
|
25
|
+
### Step 1: Explain the Transition
|
|
26
|
+
|
|
27
|
+
**CRITICAL:** Do not execute anything yet. First explain what this transition means.
|
|
28
|
+
|
|
29
|
+
Say to the user:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
You're ready to transition to external state. Here's what that means:
|
|
33
|
+
|
|
34
|
+
🏗️ **Infrastructure Work Items Will Be Created:**
|
|
35
|
+
|
|
36
|
+
I'll create an "Infrastructure Readiness" epic with 15 work items across 4 categories:
|
|
37
|
+
|
|
38
|
+
• **Security Infrastructure (5 items)**
|
|
39
|
+
- Input validation on public endpoints
|
|
40
|
+
- SQL injection prevention
|
|
41
|
+
- XSS protection
|
|
42
|
+
- Rate limiting on public APIs
|
|
43
|
+
- Authentication/authorization
|
|
44
|
+
|
|
45
|
+
• **Monitoring Setup (3 items)**
|
|
46
|
+
- Error tracking integration
|
|
47
|
+
- Performance monitoring
|
|
48
|
+
- Audit logging
|
|
49
|
+
|
|
50
|
+
• **Infrastructure Setup (4 items)**
|
|
51
|
+
- Database backup automation
|
|
52
|
+
- Rollback procedures tested
|
|
53
|
+
- Load testing completed
|
|
54
|
+
- Graceful degradation under load
|
|
55
|
+
|
|
56
|
+
• **Compliance (3 items)**
|
|
57
|
+
- Privacy policy
|
|
58
|
+
- Data retention policy
|
|
59
|
+
- Security headers implemented
|
|
60
|
+
|
|
61
|
+
📦 **Production Chores Will Be Generated:**
|
|
62
|
+
|
|
63
|
+
For each feature currently in stable mode, I'll:
|
|
64
|
+
• Generate production scenarios from your chosen standards
|
|
65
|
+
• Append scenarios to the feature's BDD file
|
|
66
|
+
• Create production chores (security, scale, compliance)
|
|
67
|
+
• Move features to production mode and reopen them
|
|
68
|
+
|
|
69
|
+
This uses your feature's BDD scenarios as context for what needs hardening.
|
|
70
|
+
|
|
71
|
+
⚠️ **Mode Requirement Changes:**
|
|
72
|
+
|
|
73
|
+
After this transition, ALL customer-facing features MUST be built through Production mode (not Stable).
|
|
74
|
+
|
|
75
|
+
This change is essentially permanent - you're declaring that real users will access your project.
|
|
76
|
+
|
|
77
|
+
Ready to proceed? (yes/no)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Step 2: Wait for Initial Confirmation
|
|
81
|
+
|
|
82
|
+
**CRITICAL:** Do NOT proceed without explicit confirmation from the user.
|
|
83
|
+
|
|
84
|
+
Wait for the user to respond with "yes" or similar affirmative response.
|
|
85
|
+
|
|
86
|
+
If they say "no" or express hesitation, ask what concerns they have or what they need to clarify.
|
|
87
|
+
|
|
88
|
+
### Step 3: Production Standards Selection
|
|
89
|
+
|
|
90
|
+
After user confirms, explain production standards and show preset options:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Before we transition, let's establish your production standards. These define what "production-ready" means for your project and will guide all future production work.
|
|
94
|
+
|
|
95
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
96
|
+
📋 Choose Your Production Standards Preset
|
|
97
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
98
|
+
|
|
99
|
+
🚀 **Startup MVP**
|
|
100
|
+
Early-stage products, internal tools going external, prototypes with first users
|
|
101
|
+
|
|
102
|
+
Examples: Beta SaaS with first 20 customers, internal tool opened to partners, developer tool in early access, side project gaining traction
|
|
103
|
+
|
|
104
|
+
What you get:
|
|
105
|
+
✅ HTTPS/TLS, basic auth, structured logging
|
|
106
|
+
✅ Health checks, daily backups (24h RPO)
|
|
107
|
+
✅ Single region, 2 instances, 99.0% SLO
|
|
108
|
+
❌ No 24/7 on-call, no multi-region
|
|
109
|
+
|
|
110
|
+
Cost: $200–$500/mo | Time: 1–2 weeks
|
|
111
|
+
|
|
112
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
113
|
+
|
|
114
|
+
🏢 **Production SaaS**
|
|
115
|
+
Established SaaS with paying customers, revenue dependency, uptime expectations
|
|
116
|
+
|
|
117
|
+
Examples: B2B SaaS with annual contracts, consumer app with 5k DAU, API service with enterprise customers, e-commerce platform
|
|
118
|
+
|
|
119
|
+
What you get:
|
|
120
|
+
✅ WAF + rate limiting, OAuth/OIDC
|
|
121
|
+
✅ APM with SLO dashboards, PII sanitization
|
|
122
|
+
✅ Zero-downtime deployments, 15min backups
|
|
123
|
+
✅ Multi-AZ, on-call rotation, 99.9% SLO
|
|
124
|
+
⚠️ Single region (multi-region optional)
|
|
125
|
+
|
|
126
|
+
Cost: $1.5k–$4k/mo infra + $2k–$3k/mo ops | Time: 4–6 weeks
|
|
127
|
+
|
|
128
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
129
|
+
|
|
130
|
+
🏛️ **Enterprise**
|
|
131
|
+
Mission-critical systems, large customer base with strict SLAs, Fortune 500 customers
|
|
132
|
+
|
|
133
|
+
Examples: Enterprise SaaS for F500, financial services platform, infrastructure/DevOps tooling, global marketplace
|
|
134
|
+
|
|
135
|
+
What you get:
|
|
136
|
+
✅ Everything in Production SaaS, plus:
|
|
137
|
+
✅ Multi-region active-passive or active-active
|
|
138
|
+
✅ Advanced DDoS, mTLS, per-tenant encryption
|
|
139
|
+
✅ SOC2 Type II ready, chaos engineering
|
|
140
|
+
✅ PITR backups (1min RPO), 99.95% SLO
|
|
141
|
+
|
|
142
|
+
Cost: $5k–$15k/mo infra + $4k–$8k/mo ops | Time: 8–12 weeks
|
|
143
|
+
|
|
144
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
145
|
+
|
|
146
|
+
🏥 **Regulated (Healthcare, Finance, Gov)**
|
|
147
|
+
Products handling PHI, PCI, FedRAMP - strict compliance mandates, legal liability
|
|
148
|
+
|
|
149
|
+
Examples: Healthcare app (HIPAA), fintech/payments (PCI), government contractor (FedRAMP), legal tech, HR platform
|
|
150
|
+
|
|
151
|
+
What you get:
|
|
152
|
+
✅ Everything in Enterprise, plus:
|
|
153
|
+
✅ HIPAA/PCI/FedRAMP compliance controls
|
|
154
|
+
✅ Encryption at rest/in transit, MFA, PAM
|
|
155
|
+
✅ Quarterly pentesting, annual audits
|
|
156
|
+
✅ Real-time replication, 99.99% SLO
|
|
157
|
+
|
|
158
|
+
Cost: $10k–$30k/mo infra + $6k–$12k/mo ops + $20k–$50k/yr audits | Time: 12–24 weeks
|
|
159
|
+
|
|
160
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
161
|
+
|
|
162
|
+
Which preset best matches your needs? (startup-mvp / production-saas / enterprise / regulated)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Step 4: Refinement Questions
|
|
166
|
+
|
|
167
|
+
After user selects preset, ask 3-5 refinement questions to tailor standards:
|
|
168
|
+
|
|
169
|
+
**For All Presets:**
|
|
170
|
+
|
|
171
|
+
1. **What does your app do?** (free text)
|
|
172
|
+
- Use to validate preset choice and infer compliance needs
|
|
173
|
+
|
|
174
|
+
2. **How many users do you expect?**
|
|
175
|
+
- Options: 1-10 / 10-100 / 100-1k / 1k-10k / 10k+
|
|
176
|
+
- Use to adjust performance budgets
|
|
177
|
+
|
|
178
|
+
3. **What happens if it's down for an hour?**
|
|
179
|
+
- Options: No big deal / Users annoyed / Revenue loss / Contractual violation / Safety risk
|
|
180
|
+
- Use to validate SLO and on-call needs
|
|
181
|
+
|
|
182
|
+
4. **What happens if you lose the last day of data?**
|
|
183
|
+
- Options: Annoying / Bad but recoverable / Major problem / Catastrophic
|
|
184
|
+
- Use to adjust RPO (24h → 15min → 1min)
|
|
185
|
+
|
|
186
|
+
5. **Does it handle sensitive data? If yes, what kind?**
|
|
187
|
+
- Examples: Passwords only / Email addresses / Credit cards / Health records
|
|
188
|
+
- Use to activate PII sanitization, encryption, compliance
|
|
189
|
+
|
|
190
|
+
**Additional for Production SaaS / Enterprise / Regulated:**
|
|
191
|
+
|
|
192
|
+
6. **Where are your users?** (Single country / North America / Europe / Global)
|
|
193
|
+
- Use for data residency requirements
|
|
194
|
+
|
|
195
|
+
7. **Do you have compliance requirements?** (GDPR / CCPA / SOC2 / HIPAA / PCI / None yet)
|
|
196
|
+
- Use to activate specific compliance standards
|
|
197
|
+
|
|
198
|
+
8. **How often do you want to deploy?** (Daily+ / Weekly / Monthly)
|
|
199
|
+
- Use to recommend canary/feature flags
|
|
200
|
+
|
|
201
|
+
### Step 5: Generate and Show Recommendations
|
|
202
|
+
|
|
203
|
+
After collecting answers, use the `lib/production-standards-engine.js` to generate tailored standards, then show recommendations:
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
207
|
+
📋 Recommended Production Standards
|
|
208
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
209
|
+
|
|
210
|
+
Based on:
|
|
211
|
+
• Preset: [preset name]
|
|
212
|
+
• App: [user's description]
|
|
213
|
+
• Users: [user count]
|
|
214
|
+
• Downtime impact: [impact level]
|
|
215
|
+
• Data loss impact: [impact level]
|
|
216
|
+
• Sensitive data: [yes/no + types]
|
|
217
|
+
• Compliance: [requirements]
|
|
218
|
+
|
|
219
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
220
|
+
|
|
221
|
+
✅ SECURITY ([X] standards)
|
|
222
|
+
|
|
223
|
+
[✓] TLS/HTTPS enforcement
|
|
224
|
+
Why: [reasoning]
|
|
225
|
+
Test: [acceptance criteria]
|
|
226
|
+
|
|
227
|
+
[✓] [Other security standards...]
|
|
228
|
+
|
|
229
|
+
✅ PERFORMANCE & SCALE ([X] standards)
|
|
230
|
+
|
|
231
|
+
[✓] Performance budgets
|
|
232
|
+
Why: [reasoning]
|
|
233
|
+
Test: [acceptance criteria]
|
|
234
|
+
|
|
235
|
+
[✓] [Other scale standards...]
|
|
236
|
+
|
|
237
|
+
✅ COMPLIANCE ([X] standards)
|
|
238
|
+
|
|
239
|
+
[✓] [Compliance standards if applicable]
|
|
240
|
+
|
|
241
|
+
✅ INFRASTRUCTURE ([X] standards)
|
|
242
|
+
|
|
243
|
+
[✓] [Infrastructure standards]
|
|
244
|
+
|
|
245
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
246
|
+
|
|
247
|
+
💰 Estimated Cost: $[X]–$[Y]/mo
|
|
248
|
+
|
|
249
|
+
Infrastructure: $[range]
|
|
250
|
+
Operations: $[range]
|
|
251
|
+
Drivers: [list of cost drivers]
|
|
252
|
+
|
|
253
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
254
|
+
|
|
255
|
+
⚠️ Warnings (if any)
|
|
256
|
+
|
|
257
|
+
• [Warning messages for edge cases]
|
|
258
|
+
|
|
259
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
260
|
+
|
|
261
|
+
Accept these standards? (yes / review / customize)
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Step 6: Handle Customization
|
|
265
|
+
|
|
266
|
+
If user chooses "review" or "customize", offer interactive customization:
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
Which standards would you like to adjust?
|
|
270
|
+
|
|
271
|
+
Commands:
|
|
272
|
+
• disable <id> - Disable a non-required standard
|
|
273
|
+
• adjust <id> - Modify threshold/config
|
|
274
|
+
• show <id> - Show details for a standard
|
|
275
|
+
• done - Accept current configuration
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Allow user to toggle/adjust standards, then regenerate the summary.
|
|
279
|
+
|
|
280
|
+
### Step 7: Save Production Standards
|
|
281
|
+
|
|
282
|
+
After user accepts, save standards to `.jettypod/production-standards.json` using the engine's output format.
|
|
283
|
+
|
|
284
|
+
Confirm to user:
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
✅ Production standards saved to .jettypod/production-standards.json
|
|
288
|
+
|
|
289
|
+
These standards will guide all production mode work going forward.
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Step 8: Final Confirmation for Transition
|
|
293
|
+
|
|
294
|
+
Now confirm the actual state transition:
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
Ready to execute the external transition? (yes/no)
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Wait for final "yes" confirmation.
|
|
301
|
+
|
|
302
|
+
### Step 9: Execute Transition
|
|
303
|
+
|
|
304
|
+
Only after receiving explicit "yes" confirmation, execute the transition using the Bash tool:
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
node jettypod.js project external
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Step 10: Report Results
|
|
311
|
+
|
|
312
|
+
After the command completes successfully, relay the results to the user:
|
|
313
|
+
|
|
314
|
+
```
|
|
315
|
+
✅ **Transition Complete!**
|
|
316
|
+
|
|
317
|
+
Your project is now in external state.
|
|
318
|
+
|
|
319
|
+
📦 Created Infrastructure Readiness epic with:
|
|
320
|
+
• 4 features (Security, Monitoring, Infrastructure, Compliance)
|
|
321
|
+
• 15 chores across those features
|
|
322
|
+
|
|
323
|
+
🔍 Production mode work items are now visible in your backlog.
|
|
324
|
+
|
|
325
|
+
**Next Steps:**
|
|
326
|
+
|
|
327
|
+
1. Run `jettypod backlog` to see all infrastructure work items
|
|
328
|
+
2. Start working on infrastructure: `jettypod work start [epic-id]`
|
|
329
|
+
3. Remember: All customer-facing features must use Production mode from now on
|
|
330
|
+
|
|
331
|
+
**Want to start on infrastructure work now?**
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Step 11: Guide Next Actions
|
|
335
|
+
|
|
336
|
+
If the user wants to start infrastructure work:
|
|
337
|
+
- Suggest they run `jettypod backlog` to see the epic
|
|
338
|
+
- Offer to help them start work on specific infrastructure items
|
|
339
|
+
|
|
340
|
+
If they want to continue building features:
|
|
341
|
+
- Remind them that customer-facing features require Production mode
|
|
342
|
+
- Explain that Production mode includes security, scale, and compliance chores
|
|
343
|
+
|
|
344
|
+
## Key Principles
|
|
345
|
+
|
|
346
|
+
1. **Always explain before executing** - User must understand the implications
|
|
347
|
+
2. **Always get confirmation** - This is a significant project state change
|
|
348
|
+
3. **Emphasize no duplication** - Production chores already exist from stable mode
|
|
349
|
+
4. **Clarify mode requirements** - Customer-facing features need Production mode
|
|
350
|
+
5. **Guide next steps** - Help user understand what to do after transition
|
|
351
|
+
|
|
352
|
+
## Example Flow
|
|
353
|
+
|
|
354
|
+
**User:** "I think we're ready to launch this to real users"
|
|
355
|
+
|
|
356
|
+
**Claude:** [Explains transition as shown in Step 1]
|
|
357
|
+
|
|
358
|
+
**User:** "Yes, let's do it"
|
|
359
|
+
|
|
360
|
+
**Claude:** [Executes command via Bash tool]
|
|
361
|
+
|
|
362
|
+
**Claude:** [Reports results as shown in Step 4]
|
|
363
|
+
|
|
364
|
+
**User:** "What should I work on first?"
|
|
365
|
+
|
|
366
|
+
**Claude:** "I'd suggest starting with the Security Infrastructure items since those are critical for protecting user data. Want me to show you what's in that category?"
|
|
367
|
+
|
|
368
|
+
## Validation
|
|
369
|
+
|
|
370
|
+
Before completing external transition, ensure:
|
|
371
|
+
- [ ] User expressed intent to go external/production
|
|
372
|
+
- [ ] Transition implications explained clearly
|
|
373
|
+
- [ ] User provided initial confirmation
|
|
374
|
+
- [ ] Production standards preset shown (4 options)
|
|
375
|
+
- [ ] User selected preset
|
|
376
|
+
- [ ] Refinement questions asked (3-8 questions based on preset)
|
|
377
|
+
- [ ] Standards generated using production-standards-engine.js
|
|
378
|
+
- [ ] Recommendations shown with reasoning and acceptance criteria
|
|
379
|
+
- [ ] User accepted or customized standards
|
|
380
|
+
- [ ] Production standards saved to .jettypod/production-standards.json
|
|
381
|
+
- [ ] Final confirmation obtained
|
|
382
|
+
- [ ] Command executed successfully via Bash tool
|
|
383
|
+
- [ ] Results reported to user
|
|
384
|
+
- [ ] Next steps suggested
|