@pennyfarthing/core 10.0.1 → 10.0.2
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 +13 -3
- 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 +197 -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 +298 -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 +9 -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 +218 -0
- package/pennyfarthing-dist/commands/close-epic.md +139 -0
- package/pennyfarthing-dist/commands/continue-session.md +218 -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 +9 -0
- package/pennyfarthing-dist/commands/devops.md +9 -0
- package/pennyfarthing-dist/commands/fix-blocker.md +22 -0
- package/pennyfarthing-dist/commands/git-cleanup.md +57 -0
- package/pennyfarthing-dist/commands/health-check.md +143 -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/new-work.md +23 -0
- package/pennyfarthing-dist/commands/orchestrator.md +9 -0
- package/pennyfarthing-dist/commands/parallel-work.md +73 -0
- package/pennyfarthing-dist/commands/party-mode.md +77 -0
- package/pennyfarthing-dist/commands/patch.md +210 -0
- package/pennyfarthing-dist/commands/permissions.md +193 -0
- package/pennyfarthing-dist/commands/pm.md +9 -0
- package/pennyfarthing-dist/commands/prime.md +136 -0
- package/pennyfarthing-dist/commands/release.md +74 -0
- package/pennyfarthing-dist/commands/repo-status.md +49 -0
- package/pennyfarthing-dist/commands/retro.md +200 -0
- package/pennyfarthing-dist/commands/reviewer.md +9 -0
- package/pennyfarthing-dist/commands/run-ci.md +116 -0
- package/pennyfarthing-dist/commands/set-theme.md +56 -0
- package/pennyfarthing-dist/commands/setup.md +65 -0
- package/pennyfarthing-dist/commands/show-theme.md +21 -0
- package/pennyfarthing-dist/commands/sm.md +9 -0
- package/pennyfarthing-dist/commands/solo.md +447 -0
- package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
- package/pennyfarthing-dist/commands/sprint.md +142 -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 +9 -0
- package/pennyfarthing-dist/commands/tech-writer.md +9 -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 +9 -0
- package/pennyfarthing-dist/commands/work.md +25 -0
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +92 -0
- package/pennyfarthing-dist/guides/agent-coordination.md +475 -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/session-schema.md +346 -0
- package/pennyfarthing-dist/guides/skill-schema.md +412 -0
- package/pennyfarthing-dist/guides/workflow-schema.md +257 -0
- package/pennyfarthing-dist/guides/workflow-step-schema.md +512 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
- package/pennyfarthing-dist/guides/xml-tags.md +627 -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/themes/a-team.yaml +331 -0
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +324 -0
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +289 -0
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/control.yaml +201 -0
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +315 -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/dune.yaml +301 -0
- package/pennyfarthing-dist/personas/themes/firefly.yaml +320 -0
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +316 -0
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +323 -0
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/mad-max.yaml +349 -0
- package/pennyfarthing-dist/personas/themes/mash.yaml +329 -0
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +344 -0
- package/pennyfarthing-dist/personas/themes/sandman.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +358 -0
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +297 -0
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +337 -0
- package/pennyfarthing-dist/personas/themes/the-matrix.yaml +342 -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/x-files.yaml +296 -0
- package/pennyfarthing-dist/scripts/README.md +87 -0
- package/pennyfarthing-dist/scripts/core/README.md +25 -0
- package/pennyfarthing-dist/scripts/core/agent-session.sh +390 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +194 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +112 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +90 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +30 -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 +79 -0
- package/pennyfarthing-dist/scripts/git/release.sh +246 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +497 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +156 -0
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +106 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +95 -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 +150 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +190 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +42 -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/schema-validation.sh +30 -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/sprint-yaml-validation.sh +78 -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 +95 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +91 -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 +260 -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 +58 -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 +91 -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 +77 -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 +107 -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 +212 -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 +257 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +275 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +160 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +417 -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 +133 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +91 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +158 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +52 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +63 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +145 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +110 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +148 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +415 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +33 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +230 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +139 -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 +106 -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 +30 -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/complete-step.py +304 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +154 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +222 -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 +124 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +34 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +157 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +132 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +250 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +161 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +246 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +385 -0
- package/pennyfarthing-dist/skills/code-review/SKILL.md +172 -0
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +277 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +88 -0
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +461 -0
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +261 -0
- package/pennyfarthing-dist/skills/jira/SKILL.md +508 -0
- package/pennyfarthing-dist/skills/judge/SKILL.md +644 -0
- package/pennyfarthing-dist/skills/just/SKILL.md +414 -0
- package/pennyfarthing-dist/skills/mermaid/SKILL.md +256 -0
- package/pennyfarthing-dist/skills/otel/skill.md +227 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +157 -0
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +187 -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 +93 -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 +446 -0
- package/pennyfarthing-dist/skills/testing/SKILL.md +121 -0
- package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
- package/pennyfarthing-dist/skills/theme/skill.md +141 -0
- package/pennyfarthing-dist/skills/theme-creation/SKILL.md +178 -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 +345 -0
- package/pennyfarthing-dist/skills/yq/SKILL.md +272 -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 +130 -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 +113 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +105 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +127 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +145 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +150 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +145 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +154 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +172 -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 +281 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +298 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +177 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +145 -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 +103 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +147 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +215 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +97 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +78 -0
- package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +211 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +199 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +202 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +162 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +280 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +158 -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/interactive-debug/steps/step-01-connect.md +257 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +107 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +127 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +122 -0
- package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +51 -0
- package/pennyfarthing-dist/workflows/patch.yaml +67 -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 +197 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +159 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +230 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +232 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +219 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +232 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +234 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +248 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +223 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +186 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +255 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +259 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +197 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +215 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +220 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +234 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +223 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +211 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +269 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +215 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +270 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +248 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +238 -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 +195 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +180 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +221 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +224 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +228 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +243 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +216 -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 +206 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +349 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +306 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +157 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +217 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +159 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +186 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +185 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +279 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +200 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-08-theme-packs.md +142 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-09-cyclist.md +245 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-10-complete.md +204 -0
- package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +41 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +177 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +143 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +138 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +135 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +129 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +163 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +201 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +156 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +140 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +203 -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/release/steps/step-01-preflight.md +105 -0
- package/pennyfarthing-dist/workflows/release/steps/step-02-bump.md +95 -0
- package/pennyfarthing-dist/workflows/release/steps/step-03-changelog.md +125 -0
- package/pennyfarthing-dist/workflows/release/steps/step-04-readme.md +101 -0
- package/pennyfarthing-dist/workflows/release/steps/step-05-claude-md.md +102 -0
- package/pennyfarthing-dist/workflows/release/steps/step-06-retro.md +59 -0
- package/pennyfarthing-dist/workflows/release/steps/step-07-commit.md +109 -0
- package/pennyfarthing-dist/workflows/release/steps/step-08-merge.md +65 -0
- package/pennyfarthing-dist/workflows/release/steps/step-09-push.md +75 -0
- package/pennyfarthing-dist/workflows/release/steps/step-10-publish.md +93 -0
- package/pennyfarthing-dist/workflows/release/steps/step-11-finalize.md +71 -0
- package/pennyfarthing-dist/workflows/release.yaml +62 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +159 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +253 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +263 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +232 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +260 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +477 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +205 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +262 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +227 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +275 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +286 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +203 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +510 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +159 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +264 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +274 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +228 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +267 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +522 -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 +69 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +61 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +80 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +90 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +78 -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 +141 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +133 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +196 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +222 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +225 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +240 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +258 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +260 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +230 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +230 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +247 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +243 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +270 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +234 -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,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Free-form creative brainstorming with all agents
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Party Mode - Creative Brainstorming Session
|
|
6
|
+
|
|
7
|
+
You are now in **PARTY MODE** - a free-form creative brainstorming session where all Pennyfarthing agents contribute ideas without the usual constraints.
|
|
8
|
+
|
|
9
|
+
## The Vibe
|
|
10
|
+
|
|
11
|
+
This is the "yes, and..." mode. No idea is too wild. We're exploring possibilities, not committing to implementations. The goal is to generate creative solutions and novel approaches.
|
|
12
|
+
|
|
13
|
+
## Setup
|
|
14
|
+
|
|
15
|
+
First, get the current theme's agent personas:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pennyfarthing theme show
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Use the character names from the current theme for all agent perspectives below.
|
|
22
|
+
|
|
23
|
+
## How It Works
|
|
24
|
+
|
|
25
|
+
When a topic or problem is presented:
|
|
26
|
+
|
|
27
|
+
1. **Each agent perspective contributes** (pick 3-4 relevant ones, using current theme characters):
|
|
28
|
+
- **PM character**: Strategic implications, business value, political angles
|
|
29
|
+
- **Architect character**: Technical possibilities, creative mechanisms, "what if we..."
|
|
30
|
+
- **SM character**: Practical concerns, team impact, "how would this actually work"
|
|
31
|
+
- **Dev character**: Implementation ideas, "I could build that by..."
|
|
32
|
+
- **TEA character**: Quality angles, "we could verify that with..."
|
|
33
|
+
- **UX-Designer character**: User experience, "users would love if..."
|
|
34
|
+
- **Tech-Writer character**: Communication, "we could explain it as..."
|
|
35
|
+
- **DevOps character**: Operational reality, "in production this would..."
|
|
36
|
+
- **Orchestrator character**: THE LONG VIEW. WHAT MATTERS IN THE END.
|
|
37
|
+
|
|
38
|
+
2. **Build on each other's ideas** - "Yes, and what if we also..."
|
|
39
|
+
|
|
40
|
+
3. **No shooting down ideas** - Save criticism for later. Capture everything.
|
|
41
|
+
|
|
42
|
+
4. **Wild ideas welcome** - The crazy idea might spark the brilliant one
|
|
43
|
+
|
|
44
|
+
## Output Format
|
|
45
|
+
|
|
46
|
+
After the brainstorm, summarize:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
## Party Mode Results: [Topic]
|
|
50
|
+
|
|
51
|
+
### Ideas Generated
|
|
52
|
+
1. [Idea] - sparked by [agent perspective]
|
|
53
|
+
2. [Idea] - built on idea #1 by adding...
|
|
54
|
+
...
|
|
55
|
+
|
|
56
|
+
### Most Promising
|
|
57
|
+
- [Top 3 ideas worth exploring further]
|
|
58
|
+
|
|
59
|
+
### Wild Cards
|
|
60
|
+
- [Crazy ideas that might have something to them]
|
|
61
|
+
|
|
62
|
+
### Next Steps
|
|
63
|
+
- [ ] Explore [idea] with /architect
|
|
64
|
+
- [ ] Prototype [idea] with /dev
|
|
65
|
+
- [ ] Get user feedback on [idea]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Activation
|
|
69
|
+
|
|
70
|
+
To start party mode, present a topic:
|
|
71
|
+
- "Let's party mode on: how to improve the dashboard"
|
|
72
|
+
- "Party mode: what if we had real-time collaboration?"
|
|
73
|
+
- "Creative session: solving the notification spam problem"
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
**THE PARTY HAS STARTED. WHAT SHALL WE BRAINSTORM?**
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Interrupt-driven bug fix during active story work
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Patch Mode
|
|
6
|
+
|
|
7
|
+
Quick fix for blocking issues during active story work. Branches from your FEATURE branch (not develop), fixes the issue, and restores workflow state.
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Enable rapid bug fixes without abandoning current story context. Preserves workflow state and returns to previous work after fix is merged.
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<when-to-use>
|
|
14
|
+
- Blocking bug discovered during story implementation
|
|
15
|
+
- Script error preventing progress
|
|
16
|
+
- Path or config issue blocking development
|
|
17
|
+
- Urgent UI fix needed before continuing
|
|
18
|
+
- Any issue that blocks current work but isn't part of the story
|
|
19
|
+
</when-to-use>
|
|
20
|
+
|
|
21
|
+
<when-not-to-use>
|
|
22
|
+
- For planned feature work (use `/sprint work`)
|
|
23
|
+
- For quick maintenance (use `/chore`)
|
|
24
|
+
- For standalone features (use `/standalone`)
|
|
25
|
+
- When not actively working on a story
|
|
26
|
+
</when-not-to-use>
|
|
27
|
+
|
|
28
|
+
<usage>
|
|
29
|
+
```bash
|
|
30
|
+
# Start a patch (prompts for description)
|
|
31
|
+
/patch
|
|
32
|
+
|
|
33
|
+
# With description
|
|
34
|
+
/patch "fix missing import in utils"
|
|
35
|
+
|
|
36
|
+
# Alternative trigger
|
|
37
|
+
/fix-blocker "script path not found"
|
|
38
|
+
```
|
|
39
|
+
</usage>
|
|
40
|
+
|
|
41
|
+
<key-differences>
|
|
42
|
+
| Aspect | `/patch` | `/trivial` | `/standalone` |
|
|
43
|
+
|--------|----------|------------|---------------|
|
|
44
|
+
| Branches from | Feature branch | develop | develop |
|
|
45
|
+
| Merges to | Feature branch | develop | develop |
|
|
46
|
+
| Preserves state | Yes (stack-based) | No | No |
|
|
47
|
+
| Workflow | Dev only | SM → Dev → finish | SM → finish |
|
|
48
|
+
| Use case | Mid-story fix | Quick new feature | Wrap dirty changes |
|
|
49
|
+
</key-differences>
|
|
50
|
+
|
|
51
|
+
<workflow>
|
|
52
|
+
|
|
53
|
+
## Flow: Dev Only (No TEA, No Review)
|
|
54
|
+
|
|
55
|
+
1. **Capture State** - Save current story/workflow to patch stack
|
|
56
|
+
2. **Create Branch** - `patch/{description}-{timestamp}` from current feature branch
|
|
57
|
+
3. **Fix Issue** - Dev implements minimal fix
|
|
58
|
+
4. **Commit** - `fix(patch): {description} [from:{story_id}]`
|
|
59
|
+
5. **Merge** - Merge patch branch back to feature branch
|
|
60
|
+
6. **Restore** - Pop state from patch stack, continue story work
|
|
61
|
+
|
|
62
|
+
</workflow>
|
|
63
|
+
|
|
64
|
+
## Execution
|
|
65
|
+
|
|
66
|
+
### Step 1: Capture Current State
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Verify we're on a feature branch
|
|
70
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
|
71
|
+
if [[ ! "$CURRENT_BRANCH" =~ ^feat/ ]]; then
|
|
72
|
+
echo "ERROR: /patch requires active feature branch work"
|
|
73
|
+
echo "Current branch: $CURRENT_BRANCH"
|
|
74
|
+
echo "Use /standalone or /chore for fixes outside story work"
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
# Find active session
|
|
79
|
+
SESSION_FILE=$(ls -t .session/*-session.md 2>/dev/null | head -1)
|
|
80
|
+
if [ -z "$SESSION_FILE" ]; then
|
|
81
|
+
echo "ERROR: No active session found"
|
|
82
|
+
exit 1
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# Extract current state
|
|
86
|
+
STORY_ID=$(grep -m1 "^**Story ID:**" "$SESSION_FILE" | sed 's/.*: //')
|
|
87
|
+
WORKFLOW=$(grep -m1 "^**Workflow:**" "$SESSION_FILE" | sed 's/.*: //')
|
|
88
|
+
PHASE=$(grep -m1 "^**Phase:**" "$SESSION_FILE" | sed 's/.*: //')
|
|
89
|
+
AGENT=$(grep -m1 "^**Agent:**" "$SESSION_FILE" | sed 's/.*: //')
|
|
90
|
+
|
|
91
|
+
echo "Saving state for $STORY_ID (phase: $PHASE)"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Step 2: Push State to Patch Stack
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Create or append to patch stack
|
|
98
|
+
STACK_FILE=".session/patch-stack.yaml"
|
|
99
|
+
|
|
100
|
+
# Generate stack entry
|
|
101
|
+
cat >> "$STACK_FILE" << EOF
|
|
102
|
+
- story_id: "$STORY_ID"
|
|
103
|
+
workflow: "$WORKFLOW"
|
|
104
|
+
phase: "$PHASE"
|
|
105
|
+
agent: "$AGENT"
|
|
106
|
+
feature_branch: "$CURRENT_BRANCH"
|
|
107
|
+
timestamp: "$(date -Iseconds)"
|
|
108
|
+
EOF
|
|
109
|
+
|
|
110
|
+
echo "State pushed to patch stack"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Step 3: Create Patch Branch
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Get description from args or prompt
|
|
117
|
+
DESCRIPTION="${1:-}"
|
|
118
|
+
if [ -z "$DESCRIPTION" ]; then
|
|
119
|
+
echo "Enter patch description:"
|
|
120
|
+
read DESCRIPTION
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
# Generate branch name
|
|
124
|
+
SLUG=$(echo "$DESCRIPTION" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd 'a-z0-9-' | cut -c1-30)
|
|
125
|
+
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
|
|
126
|
+
PATCH_BRANCH="patch/${SLUG}-${TIMESTAMP}"
|
|
127
|
+
|
|
128
|
+
# Create branch from current position
|
|
129
|
+
git checkout -b "$PATCH_BRANCH"
|
|
130
|
+
echo "Created patch branch: $PATCH_BRANCH"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Step 4: Dev Implements Fix
|
|
134
|
+
|
|
135
|
+
The developer implements the minimal fix needed. This is a single-agent phase with no TEA or review required.
|
|
136
|
+
|
|
137
|
+
### Step 5: Commit and Merge
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Stage and commit
|
|
141
|
+
git add .
|
|
142
|
+
git commit -m "fix(patch): ${DESCRIPTION} [from:${STORY_ID}]
|
|
143
|
+
|
|
144
|
+
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
|
|
145
|
+
|
|
146
|
+
# Merge back to feature branch
|
|
147
|
+
git checkout "$CURRENT_BRANCH"
|
|
148
|
+
git merge "$PATCH_BRANCH" --no-ff -m "Merge patch: ${DESCRIPTION}"
|
|
149
|
+
|
|
150
|
+
# Delete patch branch
|
|
151
|
+
git branch -d "$PATCH_BRANCH"
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Step 6: Restore State
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Pop from patch stack
|
|
158
|
+
STACK_FILE=".session/patch-stack.yaml"
|
|
159
|
+
|
|
160
|
+
# Get last entry and remove it
|
|
161
|
+
# (In practice, use yq or Python script for proper YAML handling)
|
|
162
|
+
|
|
163
|
+
echo "Patch complete. Restored to $STORY_ID phase: $PHASE"
|
|
164
|
+
echo "Run /${AGENT} to continue story work"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Nested Patches
|
|
168
|
+
|
|
169
|
+
Patches can be nested - if a patch uncovers another blocking issue, run `/patch` again. The stack preserves each level:
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
# .session/patch-stack.yaml
|
|
173
|
+
- story_id: "75-3"
|
|
174
|
+
workflow: "tdd"
|
|
175
|
+
phase: "green"
|
|
176
|
+
agent: "dev"
|
|
177
|
+
feature_branch: "feat/MSSCI-14001-add-feature"
|
|
178
|
+
timestamp: "2026-02-03T10:30:00-05:00"
|
|
179
|
+
|
|
180
|
+
- story_id: "75-3"
|
|
181
|
+
workflow: "patch"
|
|
182
|
+
phase: "fix"
|
|
183
|
+
agent: "dev"
|
|
184
|
+
feature_branch: "patch/fix-import-20260203-103500"
|
|
185
|
+
timestamp: "2026-02-03T10:45:00-05:00"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
When patches complete, state is restored in LIFO order.
|
|
189
|
+
|
|
190
|
+
## Safety
|
|
191
|
+
|
|
192
|
+
- **Never patch on develop** - Patches branch from feature work
|
|
193
|
+
- **Minimal scope** - Fix only the blocking issue
|
|
194
|
+
- **No skip** - Can't skip patch; must complete or abort
|
|
195
|
+
- **Stack limit** - Max 5 nested patches to prevent confusion
|
|
196
|
+
|
|
197
|
+
## Comparison
|
|
198
|
+
|
|
199
|
+
| Command | Tracking | Branch From | Merge To | State |
|
|
200
|
+
|---------|----------|-------------|----------|-------|
|
|
201
|
+
| `/patch` | Implicit | Feature | Feature | Preserved |
|
|
202
|
+
| `/chore` | None | develop | develop | None |
|
|
203
|
+
| `/standalone` | Jira | develop | develop | None |
|
|
204
|
+
| `/sprint work` | Jira + Sprint | develop | develop | Full session |
|
|
205
|
+
|
|
206
|
+
<related>
|
|
207
|
+
- `/chore` - Quick commits without tracking
|
|
208
|
+
- `/standalone` - Wrap changes into tracked Jira story
|
|
209
|
+
- `/sprint work` - Start planned sprint story
|
|
210
|
+
</related>
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View and manage runtime permission grants - list, grant, revoke, or show details
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Permission Management
|
|
6
|
+
|
|
7
|
+
Manage runtime permission grants for tool access control.
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
/permissions # List all active grants
|
|
13
|
+
/permissions grant <tool> "<scope>" [--type <type>] # Add permission
|
|
14
|
+
/permissions revoke <tool> # Remove all grants for tool
|
|
15
|
+
/permissions show <tool> # Show details for tool
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Subcommands
|
|
19
|
+
|
|
20
|
+
### List Grants (default)
|
|
21
|
+
|
|
22
|
+
When invoked without arguments, list all active permission grants:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Read grants from settings
|
|
26
|
+
cat .claude/settings.local.json 2>/dev/null | jq -r '
|
|
27
|
+
if .permissions.grants then
|
|
28
|
+
.permissions.grants[] |
|
|
29
|
+
" \(.tool): \(.scope) [\(.grant_type)] - granted \(.granted_at)"
|
|
30
|
+
else
|
|
31
|
+
empty
|
|
32
|
+
end
|
|
33
|
+
' || echo "No grants found"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Output format:**
|
|
37
|
+
```
|
|
38
|
+
Active Permission Grants:
|
|
39
|
+
WebFetch: *.github.com [session] - granted 2026-01-13T15:00:00Z
|
|
40
|
+
Bash: git * [always] - granted 2026-01-13T14:30:00Z
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
If no grants exist, display: "No active permission grants."
|
|
44
|
+
|
|
45
|
+
### Grant Tool Access
|
|
46
|
+
|
|
47
|
+
Add a permission grant:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
/permissions grant <tool> "<scope>" [--type <once|session|always>]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Parameters:**
|
|
54
|
+
- `<tool>` - Tool name (WebFetch, Bash, Read, Edit, Write, Grep, Glob, etc.)
|
|
55
|
+
- `"<scope>"` - Scope pattern in quotes (e.g., `"*.github.com"`, `"git *"`)
|
|
56
|
+
- `--type` - Grant duration: `once`, `session` (default), or `always`
|
|
57
|
+
|
|
58
|
+
**Implementation:**
|
|
59
|
+
|
|
60
|
+
1. Validate tool name is a known Claude Code tool
|
|
61
|
+
2. Create grant object with timestamp:
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"tool": "<tool>",
|
|
65
|
+
"scope": "<scope>",
|
|
66
|
+
"grant_type": "<type>",
|
|
67
|
+
"granted_at": "<ISO timestamp>"
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
3. Read existing settings, append to `permissions.grants` array
|
|
71
|
+
4. Write updated settings back to `.claude/settings.local.json`
|
|
72
|
+
5. Report success
|
|
73
|
+
|
|
74
|
+
**Example:**
|
|
75
|
+
```bash
|
|
76
|
+
# Create/update grant
|
|
77
|
+
jq --arg tool "WebFetch" \
|
|
78
|
+
--arg scope "*.github.com" \
|
|
79
|
+
--arg type "session" \
|
|
80
|
+
--arg time "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
|
|
81
|
+
'.permissions.grants += [{"tool": $tool, "scope": $scope, "grant_type": $type, "granted_at": $time}]' \
|
|
82
|
+
.claude/settings.local.json > .claude/settings.local.json.tmp \
|
|
83
|
+
&& mv .claude/settings.local.json.tmp .claude/settings.local.json
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Revoke Tool Access
|
|
87
|
+
|
|
88
|
+
Remove all grants for a specific tool:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
/permissions revoke <tool>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Implementation:**
|
|
95
|
+
|
|
96
|
+
1. Read current grants from settings
|
|
97
|
+
2. Filter out grants matching the tool name
|
|
98
|
+
3. Write updated grants back
|
|
99
|
+
4. Report how many grants were removed
|
|
100
|
+
|
|
101
|
+
**Example:**
|
|
102
|
+
```bash
|
|
103
|
+
# Remove grants for tool
|
|
104
|
+
jq --arg tool "WebFetch" \
|
|
105
|
+
'.permissions.grants = (.permissions.grants // [] | map(select(.tool != $tool)))' \
|
|
106
|
+
.claude/settings.local.json > .claude/settings.local.json.tmp \
|
|
107
|
+
&& mv .claude/settings.local.json.tmp .claude/settings.local.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Show Grant Details
|
|
111
|
+
|
|
112
|
+
Display detailed information about grants for a specific tool:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
/permissions show <tool>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Output includes:**
|
|
119
|
+
- All grants for the specified tool
|
|
120
|
+
- Scope patterns
|
|
121
|
+
- Grant types
|
|
122
|
+
- Timestamps
|
|
123
|
+
- Remaining uses (for `once` type)
|
|
124
|
+
|
|
125
|
+
**Example:**
|
|
126
|
+
```bash
|
|
127
|
+
cat .claude/settings.local.json | jq --arg tool "WebFetch" '
|
|
128
|
+
.permissions.grants // [] | map(select(.tool == $tool))
|
|
129
|
+
'
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Grant Types
|
|
133
|
+
|
|
134
|
+
| Type | Duration | Persistence |
|
|
135
|
+
|------|----------|-------------|
|
|
136
|
+
| `once` | Single use, then removed | Memory only |
|
|
137
|
+
| `session` | Until conversation ends | Memory only |
|
|
138
|
+
| `always` | Persists forever | `.claude/settings.local.json` |
|
|
139
|
+
|
|
140
|
+
## Storage
|
|
141
|
+
|
|
142
|
+
Grants are stored in `.claude/settings.local.json` under `permissions.grants`:
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"permissions": {
|
|
147
|
+
"allow": ["Read", "Bash", ...],
|
|
148
|
+
"grants": [
|
|
149
|
+
{
|
|
150
|
+
"tool": "WebFetch",
|
|
151
|
+
"scope": "*.github.com",
|
|
152
|
+
"grant_type": "session",
|
|
153
|
+
"granted_at": "2026-01-13T15:00:00Z"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Valid Tool Names
|
|
161
|
+
|
|
162
|
+
- `Read`, `Write`, `Edit`
|
|
163
|
+
- `Bash`
|
|
164
|
+
- `Glob`, `Grep`
|
|
165
|
+
- `WebFetch`, `WebSearch`
|
|
166
|
+
- `Task`
|
|
167
|
+
- `Skill`
|
|
168
|
+
- `NotebookEdit`
|
|
169
|
+
|
|
170
|
+
## Examples
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# List all grants
|
|
174
|
+
/permissions
|
|
175
|
+
|
|
176
|
+
# Grant WebFetch access to GitHub (session-scoped)
|
|
177
|
+
/permissions grant WebFetch "*.github.com"
|
|
178
|
+
|
|
179
|
+
# Grant Bash access to git commands (permanent)
|
|
180
|
+
/permissions grant Bash "git *" --type always
|
|
181
|
+
|
|
182
|
+
# Show all WebFetch grants
|
|
183
|
+
/permissions show WebFetch
|
|
184
|
+
|
|
185
|
+
# Revoke all Bash grants
|
|
186
|
+
/permissions revoke Bash
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Reference
|
|
190
|
+
|
|
191
|
+
- **Skill:** `.claude/skills/permissions/skill.md`
|
|
192
|
+
- **Settings:** `.claude/settings.local.json`
|
|
193
|
+
- **Related:** Story 33-1 (Permission Request Protocol), Story 33-3 (Cyclist Permission UI)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Product Manager - Strategic planning and prioritization
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.pennyfarthing" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done
|
|
7
|
+
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
+
python3 -m pennyfarthing_scripts.cli agent start "pm"
|
|
9
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Load essential project context at agent activation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<purpose>
|
|
6
|
+
Quickly load essential context files to reduce agent cold-start overhead.
|
|
7
|
+
Automatically invoked on agent activation via `pf agent start`.
|
|
8
|
+
</purpose>
|
|
9
|
+
|
|
10
|
+
<when-to-use>
|
|
11
|
+
- Automatically on agent activation (`/sm`, `/tea`, `/dev`, `/reviewer`)
|
|
12
|
+
- Manually to refresh context mid-session
|
|
13
|
+
- To verify what context is available
|
|
14
|
+
</when-to-use>
|
|
15
|
+
|
|
16
|
+
<execution>
|
|
17
|
+
|
|
18
|
+
## Running /prime
|
|
19
|
+
|
|
20
|
+
Use the Python CLI:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Load all essential context (default)
|
|
24
|
+
python3 -m pennyfarthing_scripts.cli agent start "sm"
|
|
25
|
+
|
|
26
|
+
# Minimal mode - fastest startup
|
|
27
|
+
python3 -m pennyfarthing_scripts.cli agent start "sm" --minimal
|
|
28
|
+
|
|
29
|
+
# Full mode - include domain docs
|
|
30
|
+
python3 -m pennyfarthing_scripts.cli agent start "sm" --full
|
|
31
|
+
|
|
32
|
+
# Skip persona loading
|
|
33
|
+
python3 -m pennyfarthing_scripts.cli agent start "sm" --no-persona
|
|
34
|
+
|
|
35
|
+
# JSON output (for Cyclist integration)
|
|
36
|
+
python3 -m pennyfarthing_scripts.cli agent start "sm" --json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Options
|
|
40
|
+
|
|
41
|
+
| Option | Description |
|
|
42
|
+
|--------|-------------|
|
|
43
|
+
| `--minimal` | Load only CLAUDE.md files (fastest startup) |
|
|
44
|
+
| `--full` | Include domain docs from .claude/project/ |
|
|
45
|
+
| `--quiet` | Suppress section headers (for automated use) |
|
|
46
|
+
| `--agent <name>` | Load agent's sidecar patterns (learned project-specific patterns) |
|
|
47
|
+
|
|
48
|
+
## What Gets Loaded
|
|
49
|
+
|
|
50
|
+
Context is loaded in priority order:
|
|
51
|
+
|
|
52
|
+
### Default Mode
|
|
53
|
+
| Priority | Content | Source |
|
|
54
|
+
|----------|---------|--------|
|
|
55
|
+
| 1 | Project instructions | `CLAUDE.md` |
|
|
56
|
+
| 2 | User instructions | `~/.claude/CLAUDE.md` (if exists) |
|
|
57
|
+
| 3 | Sprint summary | `sprint/current-sprint.yaml` (key fields only) |
|
|
58
|
+
| 4 | Active session | `.session/*-session.md` (first 50 lines) |
|
|
59
|
+
| 5 | Agent sidecar | `.pennyfarthing/sidecars/{agent}/*.md` (if `--agent` provided) |
|
|
60
|
+
| 6 | Shared context | `.pennyfarthing/guides/agent-behavior.md` (project info - all agents) |
|
|
61
|
+
| 7 | Shared behavior | `.pennyfarthing/guides/agent-behavior.md` (protocols - all agents) |
|
|
62
|
+
| 8 | Tactical guide | `.pennyfarthing/guides/agent-behavior.md` (for sm, tea, dev, reviewer only) |
|
|
63
|
+
|
|
64
|
+
### Minimal Mode (`--minimal`)
|
|
65
|
+
Only loads CLAUDE.md files (priority 1-2).
|
|
66
|
+
|
|
67
|
+
### Full Mode (`--full`)
|
|
68
|
+
Adds domain documentation from `.claude/project/CLAUDE-*.md` files.
|
|
69
|
+
|
|
70
|
+
### Agent Sidecar (`--agent <name>`)
|
|
71
|
+
When agent name is provided, loads the agent's project-specific patterns from their sidecar directory. This gives agents their learned patterns immediately on activation.
|
|
72
|
+
|
|
73
|
+
### Agent Behavior Guide (automatic for all agents)
|
|
74
|
+
All agents receive the shared context guide which includes project info, directory structure, git strategy, sprint system overview, and build commands.
|
|
75
|
+
|
|
76
|
+
### Shared Behavior (automatic for all agents)
|
|
77
|
+
All agents receive the shared behavior guide which includes confidence protocols, sidecar memory system documentation, reasoning modes, and exit protocols.
|
|
78
|
+
|
|
79
|
+
### Tactical Guide (automatic for tactical agents)
|
|
80
|
+
For tactical agents (sm, tea, dev, reviewer), additionally loads the tactical behavior guide which includes critical patterns for Bash tool usage, session file handling, and handoff protocols.
|
|
81
|
+
|
|
82
|
+
</execution>
|
|
83
|
+
|
|
84
|
+
<output-format>
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
# CLAUDE.md
|
|
88
|
+
[Project instructions content...]
|
|
89
|
+
|
|
90
|
+
# ~/.claude/CLAUDE.md (if exists)
|
|
91
|
+
[User instructions content...]
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
# Sprint Context
|
|
95
|
+
Sprint 7: Benchmark framework expansion, monorepo consolidation, rich agent telemetry
|
|
96
|
+
Progress: 62/106 points
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
# Active Session
|
|
100
|
+
[First 50 lines of session file...]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
With `--quiet`, section headers are suppressed.
|
|
104
|
+
|
|
105
|
+
</output-format>
|
|
106
|
+
|
|
107
|
+
<integration>
|
|
108
|
+
|
|
109
|
+
## Python CLI Integration
|
|
110
|
+
|
|
111
|
+
The `/prime` command is automatically invoked when agents activate:
|
|
112
|
+
|
|
113
|
+
1. User invokes `/sm`, `/tea`, `/dev`, or `/reviewer`
|
|
114
|
+
2. `pf agent start <name>` runs
|
|
115
|
+
3. Context is loaded: workflow state, agent definition, persona, behavior guide, sprint context, session, sidecars
|
|
116
|
+
4. Agent starts with full context AND their learned patterns loaded
|
|
117
|
+
|
|
118
|
+
This reduces the "cold start" problem where agents must discover context through multiple file reads.
|
|
119
|
+
|
|
120
|
+
## Manual Refresh
|
|
121
|
+
|
|
122
|
+
If context becomes stale mid-session, run `/prime` manually:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
/prime # Refresh standard context
|
|
126
|
+
/prime --full # Include domain docs
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
</integration>
|
|
130
|
+
|
|
131
|
+
<reference>
|
|
132
|
+
- **CLI:** `pf agent start <name>` or `python3 -m pennyfarthing_scripts.cli agent start <name>`
|
|
133
|
+
- **Loads:** Workflow state, agent definition, persona, behavior guide, sprint context, session, sidecars
|
|
134
|
+
- **Sidecar location:** `.pennyfarthing/sidecars/{agent}/*.md`
|
|
135
|
+
- **Behavior guide:** `.pennyfarthing/guides/agent-behavior.md` (all agents)
|
|
136
|
+
</reference>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Interactive stepped release with verification gates
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<purpose>
|
|
6
|
+
Release a new version of Pennyfarthing using an interactive stepped workflow with gates at every critical point. An 11-step process that verifies each stage before proceeding.
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<usage>
|
|
10
|
+
```bash
|
|
11
|
+
# Start the interactive release workflow
|
|
12
|
+
/release
|
|
13
|
+
|
|
14
|
+
# The workflow will ask for bump type (major/minor/patch) during preflight
|
|
15
|
+
```
|
|
16
|
+
</usage>
|
|
17
|
+
|
|
18
|
+
<workflow>
|
|
19
|
+
This command starts the `release` stepped workflow (BikeLane):
|
|
20
|
+
|
|
21
|
+
1. **Preflight** — Clean state, compute version, conflict checks
|
|
22
|
+
2. **Bump** — Update all version files, show diff ← GATE
|
|
23
|
+
3. **Changelog** — Generate entries from commits (`/changelog`) ← GATE
|
|
24
|
+
4. **README** — Audit feature counts, update content
|
|
25
|
+
5. **CLAUDE.md** — Verify version, build commands, project structure
|
|
26
|
+
6. **Retro** — Optional retrospective (`/retro`)
|
|
27
|
+
7. **Commit** — Stage, commit, merge to develop, verify staging ← GATE
|
|
28
|
+
8. **Merge** — Merge develop → main, create tag
|
|
29
|
+
9. **Push & Tag** — Push branches + tag (point of no return) ← GATE
|
|
30
|
+
10. **Publish** — npm publish all packages (core, cyclist, theme packs) ← GATE
|
|
31
|
+
11. **Finalize** — GitHub release, summary
|
|
32
|
+
|
|
33
|
+
Gates pause for user approval. You can abort, revise, or continue at each gate.
|
|
34
|
+
</workflow>
|
|
35
|
+
|
|
36
|
+
<instructions>
|
|
37
|
+
Start the release stepped workflow:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Start the workflow
|
|
41
|
+
/workflow start release
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If already in progress:
|
|
45
|
+
```bash
|
|
46
|
+
# Resume where you left off
|
|
47
|
+
/workflow resume
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
To check status:
|
|
51
|
+
```bash
|
|
52
|
+
/workflow status
|
|
53
|
+
```
|
|
54
|
+
</instructions>
|
|
55
|
+
|
|
56
|
+
<when-to-use>
|
|
57
|
+
- After completing a sprint or set of features
|
|
58
|
+
- When develop is stable and ready for production
|
|
59
|
+
- Before deploying to production environments
|
|
60
|
+
</when-to-use>
|
|
61
|
+
|
|
62
|
+
<prerequisites>
|
|
63
|
+
- Clean working directory (no uncommitted changes)
|
|
64
|
+
- On develop branch
|
|
65
|
+
- Origin remote configured
|
|
66
|
+
- npm authentication configured (for publish step)
|
|
67
|
+
- `gh` CLI authenticated (for GitHub release step)
|
|
68
|
+
</prerequisites>
|
|
69
|
+
|
|
70
|
+
<skills>
|
|
71
|
+
- `/changelog` - For changelog format reference and auto-generation
|
|
72
|
+
- `/retro` - For optional release retrospective
|
|
73
|
+
- `/workflow` - For workflow management commands
|
|
74
|
+
</skills>
|