From 7da0294100a5b43accc33cb1b18186f449c1aead Mon Sep 17 00:00:00 2001 From: Snider Date: Sun, 15 Mar 2026 13:55:25 +0000 Subject: [PATCH] =?UTF-8?q?refactor:=20restructure=20agents=20=E2=86=92=20?= =?UTF-8?q?prompts/personas,=20add=20plan=20templates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move agent persona definitions from agents/ to prompts/personas/. Add plan templates (bug-fix, code-review, feature-port, new-feature, refactor) from the PHP PlanTemplateService into prompts/templates/. Co-Authored-By: Virgil --- .../personas}/design/design-brand-guardian.md | 0 .../design/design-image-prompt-engineer.md | 0 .../design-inclusive-visuals-specialist.md | 0 .../personas}/design/design-ui-designer.md | 0 .../personas}/design/design-ux-architect.md | 0 .../personas}/design/design-ux-researcher.md | 0 .../design/design-visual-storyteller.md | 0 .../design/design-whimsy-injector.md | 0 .../engineering/engineering-ai-engineer.md | 0 ...ering-autonomous-optimization-architect.md | 0 .../engineering-backend-architect.md | 0 .../engineering/engineering-data-engineer.md | 0 .../engineering-devops-automator.md | 0 .../engineering-frontend-developer.md | 0 ...engineering-incident-response-commander.md | 0 .../engineering-rapid-prototyper.md | 0 .../engineering-security-engineer.md | 0 .../engineering-senior-developer.md | 0 .../engineering-technical-writer.md | 0 .../personas}/examples/README.md | 0 .../examples/nexus-spatial-discovery.md | 0 .../examples/workflow-landing-page.md | 0 .../examples/workflow-startup-mvp.md | 0 .../examples/workflow-with-memory.md | 0 .../marketing-carousel-growth-engine.md | 0 .../marketing/marketing-content-creator.md | 0 .../marketing/marketing-growth-hacker.md | 0 .../marketing/marketing-instagram-curator.md | 0 .../marketing-linkedin-content-creator.md | 0 .../marketing-reddit-community-builder.md | 0 .../marketing/marketing-seo-specialist.md | 0 .../marketing-social-media-strategist.md | 0 .../marketing/marketing-tiktok-strategist.md | 0 .../marketing/marketing-twitter-engager.md | 0 .../paid-media/paid-media-auditor.md | 0 .../paid-media-creative-strategist.md | 0 .../paid-media-paid-social-strategist.md | 0 .../paid-media/paid-media-ppc-strategist.md | 0 .../paid-media-programmatic-buyer.md | 0 .../paid-media-search-query-analyst.md | 0 .../paid-media-tracking-specialist.md | 0 .../product-behavioral-nudge-engine.md | 0 .../product/product-feedback-synthesizer.md | 0 .../product/product-sprint-prioritizer.md | 0 .../product/product-trend-researcher.md | 0 .../project-management-experiment-tracker.md | 0 .../project-management-project-shepherd.md | 0 .../project-management-studio-operations.md | 0 .../project-management-studio-producer.md | 0 .../project-manager-senior.md | 0 .../sales/sales-account-strategist.md | 0 .../personas}/sales/sales-coach.md | 0 .../personas}/sales/sales-deal-strategist.md | 0 .../personas}/sales/sales-discovery-coach.md | 0 .../personas}/sales/sales-engineer.md | 0 .../sales/sales-outbound-strategist.md | 0 .../personas}/sales/sales-pipeline-analyst.md | 0 .../sales/sales-proposal-strategist.md | 0 .../macos-spatial-metal-engineer.md | 0 .../terminal-integration-specialist.md | 0 .../specialized/accounts-payable-agent.md | 0 .../specialized/agentic-identity-trust.md | 0 .../specialized/agents-orchestrator.md | 0 .../blockchain-security-auditor.md | 0 .../specialized/compliance-auditor.md | 0 .../specialized/identity-graph-operator.md | 0 .../specialized/lsp-index-engineer.md | 0 ...alized-cultural-intelligence-strategist.md | 0 .../specialized-developer-advocate.md | 0 .../specialized/specialized-model-qa.md | 0 .../personas}/specialized/zk-steward.md | 0 .../personas}/strategy/EXECUTIVE-BRIEF.md | 0 .../personas}/strategy/QUICKSTART.md | 0 .../coordination/agent-activation-prompts.md | 0 .../coordination/handoff-templates.md | 0 .../personas}/strategy/nexus-strategy.md | 0 .../strategy/playbooks/phase-0-discovery.md | 0 .../strategy/playbooks/phase-1-strategy.md | 0 .../strategy/playbooks/phase-2-foundation.md | 0 .../strategy/playbooks/phase-3-build.md | 0 .../strategy/playbooks/phase-4-hardening.md | 0 .../strategy/playbooks/phase-5-launch.md | 0 .../strategy/playbooks/phase-6-operate.md | 0 .../runbooks/scenario-enterprise-feature.md | 0 .../runbooks/scenario-incident-response.md | 0 .../runbooks/scenario-marketing-campaign.md | 0 .../strategy/runbooks/scenario-startup-mvp.md | 0 .../support/support-analytics-reporter.md | 0 .../support-executive-summary-generator.md | 0 .../support/support-finance-tracker.md | 0 .../support-infrastructure-maintainer.md | 0 .../support-legal-compliance-checker.md | 0 .../support/support-support-responder.md | 0 .../testing/testing-accessibility-auditor.md | 0 .../personas}/testing/testing-api-tester.md | 0 .../testing/testing-evidence-collector.md | 0 .../testing-performance-benchmarker.md | 0 .../testing/testing-reality-checker.md | 0 .../testing/testing-test-results-analyzer.md | 0 .../testing/testing-tool-evaluator.md | 0 .../testing/testing-workflow-optimizer.md | 0 prompts/templates/bug-fix.yaml | 72 +++++ prompts/templates/code-review.yaml | 81 ++++++ prompts/templates/feature-port.yaml | 84 ++++++ prompts/templates/new-feature.yaml | 80 ++++++ prompts/templates/prod-push-polish.md | 248 ++++++++++++++++++ prompts/templates/refactor.yaml | 72 +++++ 107 files changed, 637 insertions(+) rename {agents => prompts/personas}/design/design-brand-guardian.md (100%) rename {agents => prompts/personas}/design/design-image-prompt-engineer.md (100%) rename {agents => prompts/personas}/design/design-inclusive-visuals-specialist.md (100%) rename {agents => prompts/personas}/design/design-ui-designer.md (100%) rename {agents => prompts/personas}/design/design-ux-architect.md (100%) rename {agents => prompts/personas}/design/design-ux-researcher.md (100%) rename {agents => prompts/personas}/design/design-visual-storyteller.md (100%) rename {agents => prompts/personas}/design/design-whimsy-injector.md (100%) rename {agents => prompts/personas}/engineering/engineering-ai-engineer.md (100%) rename {agents => prompts/personas}/engineering/engineering-autonomous-optimization-architect.md (100%) rename {agents => prompts/personas}/engineering/engineering-backend-architect.md (100%) rename {agents => prompts/personas}/engineering/engineering-data-engineer.md (100%) rename {agents => prompts/personas}/engineering/engineering-devops-automator.md (100%) rename {agents => prompts/personas}/engineering/engineering-frontend-developer.md (100%) rename {agents => prompts/personas}/engineering/engineering-incident-response-commander.md (100%) rename {agents => prompts/personas}/engineering/engineering-rapid-prototyper.md (100%) rename {agents => prompts/personas}/engineering/engineering-security-engineer.md (100%) rename {agents => prompts/personas}/engineering/engineering-senior-developer.md (100%) rename {agents => prompts/personas}/engineering/engineering-technical-writer.md (100%) rename {agents => prompts/personas}/examples/README.md (100%) rename {agents => prompts/personas}/examples/nexus-spatial-discovery.md (100%) rename {agents => prompts/personas}/examples/workflow-landing-page.md (100%) rename {agents => prompts/personas}/examples/workflow-startup-mvp.md (100%) rename {agents => prompts/personas}/examples/workflow-with-memory.md (100%) rename {agents => prompts/personas}/marketing/marketing-carousel-growth-engine.md (100%) rename {agents => prompts/personas}/marketing/marketing-content-creator.md (100%) rename {agents => prompts/personas}/marketing/marketing-growth-hacker.md (100%) rename {agents => prompts/personas}/marketing/marketing-instagram-curator.md (100%) rename {agents => prompts/personas}/marketing/marketing-linkedin-content-creator.md (100%) rename {agents => prompts/personas}/marketing/marketing-reddit-community-builder.md (100%) rename {agents => prompts/personas}/marketing/marketing-seo-specialist.md (100%) rename {agents => prompts/personas}/marketing/marketing-social-media-strategist.md (100%) rename {agents => prompts/personas}/marketing/marketing-tiktok-strategist.md (100%) rename {agents => prompts/personas}/marketing/marketing-twitter-engager.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-auditor.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-creative-strategist.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-paid-social-strategist.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-ppc-strategist.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-programmatic-buyer.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-search-query-analyst.md (100%) rename {agents => prompts/personas}/paid-media/paid-media-tracking-specialist.md (100%) rename {agents => prompts/personas}/product/product-behavioral-nudge-engine.md (100%) rename {agents => prompts/personas}/product/product-feedback-synthesizer.md (100%) rename {agents => prompts/personas}/product/product-sprint-prioritizer.md (100%) rename {agents => prompts/personas}/product/product-trend-researcher.md (100%) rename {agents => prompts/personas}/project-management/project-management-experiment-tracker.md (100%) rename {agents => prompts/personas}/project-management/project-management-project-shepherd.md (100%) rename {agents => prompts/personas}/project-management/project-management-studio-operations.md (100%) rename {agents => prompts/personas}/project-management/project-management-studio-producer.md (100%) rename {agents => prompts/personas}/project-management/project-manager-senior.md (100%) rename {agents => prompts/personas}/sales/sales-account-strategist.md (100%) rename {agents => prompts/personas}/sales/sales-coach.md (100%) rename {agents => prompts/personas}/sales/sales-deal-strategist.md (100%) rename {agents => prompts/personas}/sales/sales-discovery-coach.md (100%) rename {agents => prompts/personas}/sales/sales-engineer.md (100%) rename {agents => prompts/personas}/sales/sales-outbound-strategist.md (100%) rename {agents => prompts/personas}/sales/sales-pipeline-analyst.md (100%) rename {agents => prompts/personas}/sales/sales-proposal-strategist.md (100%) rename {agents => prompts/personas}/spatial-computing/macos-spatial-metal-engineer.md (100%) rename {agents => prompts/personas}/spatial-computing/terminal-integration-specialist.md (100%) rename {agents => prompts/personas}/specialized/accounts-payable-agent.md (100%) rename {agents => prompts/personas}/specialized/agentic-identity-trust.md (100%) rename {agents => prompts/personas}/specialized/agents-orchestrator.md (100%) rename {agents => prompts/personas}/specialized/blockchain-security-auditor.md (100%) rename {agents => prompts/personas}/specialized/compliance-auditor.md (100%) rename {agents => prompts/personas}/specialized/identity-graph-operator.md (100%) rename {agents => prompts/personas}/specialized/lsp-index-engineer.md (100%) rename {agents => prompts/personas}/specialized/specialized-cultural-intelligence-strategist.md (100%) rename {agents => prompts/personas}/specialized/specialized-developer-advocate.md (100%) rename {agents => prompts/personas}/specialized/specialized-model-qa.md (100%) rename {agents => prompts/personas}/specialized/zk-steward.md (100%) rename {agents => prompts/personas}/strategy/EXECUTIVE-BRIEF.md (100%) rename {agents => prompts/personas}/strategy/QUICKSTART.md (100%) rename {agents => prompts/personas}/strategy/coordination/agent-activation-prompts.md (100%) rename {agents => prompts/personas}/strategy/coordination/handoff-templates.md (100%) rename {agents => prompts/personas}/strategy/nexus-strategy.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-0-discovery.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-1-strategy.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-2-foundation.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-3-build.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-4-hardening.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-5-launch.md (100%) rename {agents => prompts/personas}/strategy/playbooks/phase-6-operate.md (100%) rename {agents => prompts/personas}/strategy/runbooks/scenario-enterprise-feature.md (100%) rename {agents => prompts/personas}/strategy/runbooks/scenario-incident-response.md (100%) rename {agents => prompts/personas}/strategy/runbooks/scenario-marketing-campaign.md (100%) rename {agents => prompts/personas}/strategy/runbooks/scenario-startup-mvp.md (100%) rename {agents => prompts/personas}/support/support-analytics-reporter.md (100%) rename {agents => prompts/personas}/support/support-executive-summary-generator.md (100%) rename {agents => prompts/personas}/support/support-finance-tracker.md (100%) rename {agents => prompts/personas}/support/support-infrastructure-maintainer.md (100%) rename {agents => prompts/personas}/support/support-legal-compliance-checker.md (100%) rename {agents => prompts/personas}/support/support-support-responder.md (100%) rename {agents => prompts/personas}/testing/testing-accessibility-auditor.md (100%) rename {agents => prompts/personas}/testing/testing-api-tester.md (100%) rename {agents => prompts/personas}/testing/testing-evidence-collector.md (100%) rename {agents => prompts/personas}/testing/testing-performance-benchmarker.md (100%) rename {agents => prompts/personas}/testing/testing-reality-checker.md (100%) rename {agents => prompts/personas}/testing/testing-test-results-analyzer.md (100%) rename {agents => prompts/personas}/testing/testing-tool-evaluator.md (100%) rename {agents => prompts/personas}/testing/testing-workflow-optimizer.md (100%) create mode 100644 prompts/templates/bug-fix.yaml create mode 100644 prompts/templates/code-review.yaml create mode 100644 prompts/templates/feature-port.yaml create mode 100644 prompts/templates/new-feature.yaml create mode 100644 prompts/templates/prod-push-polish.md create mode 100644 prompts/templates/refactor.yaml diff --git a/agents/design/design-brand-guardian.md b/prompts/personas/design/design-brand-guardian.md similarity index 100% rename from agents/design/design-brand-guardian.md rename to prompts/personas/design/design-brand-guardian.md diff --git a/agents/design/design-image-prompt-engineer.md b/prompts/personas/design/design-image-prompt-engineer.md similarity index 100% rename from agents/design/design-image-prompt-engineer.md rename to prompts/personas/design/design-image-prompt-engineer.md diff --git a/agents/design/design-inclusive-visuals-specialist.md b/prompts/personas/design/design-inclusive-visuals-specialist.md similarity index 100% rename from agents/design/design-inclusive-visuals-specialist.md rename to prompts/personas/design/design-inclusive-visuals-specialist.md diff --git a/agents/design/design-ui-designer.md b/prompts/personas/design/design-ui-designer.md similarity index 100% rename from agents/design/design-ui-designer.md rename to prompts/personas/design/design-ui-designer.md diff --git a/agents/design/design-ux-architect.md b/prompts/personas/design/design-ux-architect.md similarity index 100% rename from agents/design/design-ux-architect.md rename to prompts/personas/design/design-ux-architect.md diff --git a/agents/design/design-ux-researcher.md b/prompts/personas/design/design-ux-researcher.md similarity index 100% rename from agents/design/design-ux-researcher.md rename to prompts/personas/design/design-ux-researcher.md diff --git a/agents/design/design-visual-storyteller.md b/prompts/personas/design/design-visual-storyteller.md similarity index 100% rename from agents/design/design-visual-storyteller.md rename to prompts/personas/design/design-visual-storyteller.md diff --git a/agents/design/design-whimsy-injector.md b/prompts/personas/design/design-whimsy-injector.md similarity index 100% rename from agents/design/design-whimsy-injector.md rename to prompts/personas/design/design-whimsy-injector.md diff --git a/agents/engineering/engineering-ai-engineer.md b/prompts/personas/engineering/engineering-ai-engineer.md similarity index 100% rename from agents/engineering/engineering-ai-engineer.md rename to prompts/personas/engineering/engineering-ai-engineer.md diff --git a/agents/engineering/engineering-autonomous-optimization-architect.md b/prompts/personas/engineering/engineering-autonomous-optimization-architect.md similarity index 100% rename from agents/engineering/engineering-autonomous-optimization-architect.md rename to prompts/personas/engineering/engineering-autonomous-optimization-architect.md diff --git a/agents/engineering/engineering-backend-architect.md b/prompts/personas/engineering/engineering-backend-architect.md similarity index 100% rename from agents/engineering/engineering-backend-architect.md rename to prompts/personas/engineering/engineering-backend-architect.md diff --git a/agents/engineering/engineering-data-engineer.md b/prompts/personas/engineering/engineering-data-engineer.md similarity index 100% rename from agents/engineering/engineering-data-engineer.md rename to prompts/personas/engineering/engineering-data-engineer.md diff --git a/agents/engineering/engineering-devops-automator.md b/prompts/personas/engineering/engineering-devops-automator.md similarity index 100% rename from agents/engineering/engineering-devops-automator.md rename to prompts/personas/engineering/engineering-devops-automator.md diff --git a/agents/engineering/engineering-frontend-developer.md b/prompts/personas/engineering/engineering-frontend-developer.md similarity index 100% rename from agents/engineering/engineering-frontend-developer.md rename to prompts/personas/engineering/engineering-frontend-developer.md diff --git a/agents/engineering/engineering-incident-response-commander.md b/prompts/personas/engineering/engineering-incident-response-commander.md similarity index 100% rename from agents/engineering/engineering-incident-response-commander.md rename to prompts/personas/engineering/engineering-incident-response-commander.md diff --git a/agents/engineering/engineering-rapid-prototyper.md b/prompts/personas/engineering/engineering-rapid-prototyper.md similarity index 100% rename from agents/engineering/engineering-rapid-prototyper.md rename to prompts/personas/engineering/engineering-rapid-prototyper.md diff --git a/agents/engineering/engineering-security-engineer.md b/prompts/personas/engineering/engineering-security-engineer.md similarity index 100% rename from agents/engineering/engineering-security-engineer.md rename to prompts/personas/engineering/engineering-security-engineer.md diff --git a/agents/engineering/engineering-senior-developer.md b/prompts/personas/engineering/engineering-senior-developer.md similarity index 100% rename from agents/engineering/engineering-senior-developer.md rename to prompts/personas/engineering/engineering-senior-developer.md diff --git a/agents/engineering/engineering-technical-writer.md b/prompts/personas/engineering/engineering-technical-writer.md similarity index 100% rename from agents/engineering/engineering-technical-writer.md rename to prompts/personas/engineering/engineering-technical-writer.md diff --git a/agents/examples/README.md b/prompts/personas/examples/README.md similarity index 100% rename from agents/examples/README.md rename to prompts/personas/examples/README.md diff --git a/agents/examples/nexus-spatial-discovery.md b/prompts/personas/examples/nexus-spatial-discovery.md similarity index 100% rename from agents/examples/nexus-spatial-discovery.md rename to prompts/personas/examples/nexus-spatial-discovery.md diff --git a/agents/examples/workflow-landing-page.md b/prompts/personas/examples/workflow-landing-page.md similarity index 100% rename from agents/examples/workflow-landing-page.md rename to prompts/personas/examples/workflow-landing-page.md diff --git a/agents/examples/workflow-startup-mvp.md b/prompts/personas/examples/workflow-startup-mvp.md similarity index 100% rename from agents/examples/workflow-startup-mvp.md rename to prompts/personas/examples/workflow-startup-mvp.md diff --git a/agents/examples/workflow-with-memory.md b/prompts/personas/examples/workflow-with-memory.md similarity index 100% rename from agents/examples/workflow-with-memory.md rename to prompts/personas/examples/workflow-with-memory.md diff --git a/agents/marketing/marketing-carousel-growth-engine.md b/prompts/personas/marketing/marketing-carousel-growth-engine.md similarity index 100% rename from agents/marketing/marketing-carousel-growth-engine.md rename to prompts/personas/marketing/marketing-carousel-growth-engine.md diff --git a/agents/marketing/marketing-content-creator.md b/prompts/personas/marketing/marketing-content-creator.md similarity index 100% rename from agents/marketing/marketing-content-creator.md rename to prompts/personas/marketing/marketing-content-creator.md diff --git a/agents/marketing/marketing-growth-hacker.md b/prompts/personas/marketing/marketing-growth-hacker.md similarity index 100% rename from agents/marketing/marketing-growth-hacker.md rename to prompts/personas/marketing/marketing-growth-hacker.md diff --git a/agents/marketing/marketing-instagram-curator.md b/prompts/personas/marketing/marketing-instagram-curator.md similarity index 100% rename from agents/marketing/marketing-instagram-curator.md rename to prompts/personas/marketing/marketing-instagram-curator.md diff --git a/agents/marketing/marketing-linkedin-content-creator.md b/prompts/personas/marketing/marketing-linkedin-content-creator.md similarity index 100% rename from agents/marketing/marketing-linkedin-content-creator.md rename to prompts/personas/marketing/marketing-linkedin-content-creator.md diff --git a/agents/marketing/marketing-reddit-community-builder.md b/prompts/personas/marketing/marketing-reddit-community-builder.md similarity index 100% rename from agents/marketing/marketing-reddit-community-builder.md rename to prompts/personas/marketing/marketing-reddit-community-builder.md diff --git a/agents/marketing/marketing-seo-specialist.md b/prompts/personas/marketing/marketing-seo-specialist.md similarity index 100% rename from agents/marketing/marketing-seo-specialist.md rename to prompts/personas/marketing/marketing-seo-specialist.md diff --git a/agents/marketing/marketing-social-media-strategist.md b/prompts/personas/marketing/marketing-social-media-strategist.md similarity index 100% rename from agents/marketing/marketing-social-media-strategist.md rename to prompts/personas/marketing/marketing-social-media-strategist.md diff --git a/agents/marketing/marketing-tiktok-strategist.md b/prompts/personas/marketing/marketing-tiktok-strategist.md similarity index 100% rename from agents/marketing/marketing-tiktok-strategist.md rename to prompts/personas/marketing/marketing-tiktok-strategist.md diff --git a/agents/marketing/marketing-twitter-engager.md b/prompts/personas/marketing/marketing-twitter-engager.md similarity index 100% rename from agents/marketing/marketing-twitter-engager.md rename to prompts/personas/marketing/marketing-twitter-engager.md diff --git a/agents/paid-media/paid-media-auditor.md b/prompts/personas/paid-media/paid-media-auditor.md similarity index 100% rename from agents/paid-media/paid-media-auditor.md rename to prompts/personas/paid-media/paid-media-auditor.md diff --git a/agents/paid-media/paid-media-creative-strategist.md b/prompts/personas/paid-media/paid-media-creative-strategist.md similarity index 100% rename from agents/paid-media/paid-media-creative-strategist.md rename to prompts/personas/paid-media/paid-media-creative-strategist.md diff --git a/agents/paid-media/paid-media-paid-social-strategist.md b/prompts/personas/paid-media/paid-media-paid-social-strategist.md similarity index 100% rename from agents/paid-media/paid-media-paid-social-strategist.md rename to prompts/personas/paid-media/paid-media-paid-social-strategist.md diff --git a/agents/paid-media/paid-media-ppc-strategist.md b/prompts/personas/paid-media/paid-media-ppc-strategist.md similarity index 100% rename from agents/paid-media/paid-media-ppc-strategist.md rename to prompts/personas/paid-media/paid-media-ppc-strategist.md diff --git a/agents/paid-media/paid-media-programmatic-buyer.md b/prompts/personas/paid-media/paid-media-programmatic-buyer.md similarity index 100% rename from agents/paid-media/paid-media-programmatic-buyer.md rename to prompts/personas/paid-media/paid-media-programmatic-buyer.md diff --git a/agents/paid-media/paid-media-search-query-analyst.md b/prompts/personas/paid-media/paid-media-search-query-analyst.md similarity index 100% rename from agents/paid-media/paid-media-search-query-analyst.md rename to prompts/personas/paid-media/paid-media-search-query-analyst.md diff --git a/agents/paid-media/paid-media-tracking-specialist.md b/prompts/personas/paid-media/paid-media-tracking-specialist.md similarity index 100% rename from agents/paid-media/paid-media-tracking-specialist.md rename to prompts/personas/paid-media/paid-media-tracking-specialist.md diff --git a/agents/product/product-behavioral-nudge-engine.md b/prompts/personas/product/product-behavioral-nudge-engine.md similarity index 100% rename from agents/product/product-behavioral-nudge-engine.md rename to prompts/personas/product/product-behavioral-nudge-engine.md diff --git a/agents/product/product-feedback-synthesizer.md b/prompts/personas/product/product-feedback-synthesizer.md similarity index 100% rename from agents/product/product-feedback-synthesizer.md rename to prompts/personas/product/product-feedback-synthesizer.md diff --git a/agents/product/product-sprint-prioritizer.md b/prompts/personas/product/product-sprint-prioritizer.md similarity index 100% rename from agents/product/product-sprint-prioritizer.md rename to prompts/personas/product/product-sprint-prioritizer.md diff --git a/agents/product/product-trend-researcher.md b/prompts/personas/product/product-trend-researcher.md similarity index 100% rename from agents/product/product-trend-researcher.md rename to prompts/personas/product/product-trend-researcher.md diff --git a/agents/project-management/project-management-experiment-tracker.md b/prompts/personas/project-management/project-management-experiment-tracker.md similarity index 100% rename from agents/project-management/project-management-experiment-tracker.md rename to prompts/personas/project-management/project-management-experiment-tracker.md diff --git a/agents/project-management/project-management-project-shepherd.md b/prompts/personas/project-management/project-management-project-shepherd.md similarity index 100% rename from agents/project-management/project-management-project-shepherd.md rename to prompts/personas/project-management/project-management-project-shepherd.md diff --git a/agents/project-management/project-management-studio-operations.md b/prompts/personas/project-management/project-management-studio-operations.md similarity index 100% rename from agents/project-management/project-management-studio-operations.md rename to prompts/personas/project-management/project-management-studio-operations.md diff --git a/agents/project-management/project-management-studio-producer.md b/prompts/personas/project-management/project-management-studio-producer.md similarity index 100% rename from agents/project-management/project-management-studio-producer.md rename to prompts/personas/project-management/project-management-studio-producer.md diff --git a/agents/project-management/project-manager-senior.md b/prompts/personas/project-management/project-manager-senior.md similarity index 100% rename from agents/project-management/project-manager-senior.md rename to prompts/personas/project-management/project-manager-senior.md diff --git a/agents/sales/sales-account-strategist.md b/prompts/personas/sales/sales-account-strategist.md similarity index 100% rename from agents/sales/sales-account-strategist.md rename to prompts/personas/sales/sales-account-strategist.md diff --git a/agents/sales/sales-coach.md b/prompts/personas/sales/sales-coach.md similarity index 100% rename from agents/sales/sales-coach.md rename to prompts/personas/sales/sales-coach.md diff --git a/agents/sales/sales-deal-strategist.md b/prompts/personas/sales/sales-deal-strategist.md similarity index 100% rename from agents/sales/sales-deal-strategist.md rename to prompts/personas/sales/sales-deal-strategist.md diff --git a/agents/sales/sales-discovery-coach.md b/prompts/personas/sales/sales-discovery-coach.md similarity index 100% rename from agents/sales/sales-discovery-coach.md rename to prompts/personas/sales/sales-discovery-coach.md diff --git a/agents/sales/sales-engineer.md b/prompts/personas/sales/sales-engineer.md similarity index 100% rename from agents/sales/sales-engineer.md rename to prompts/personas/sales/sales-engineer.md diff --git a/agents/sales/sales-outbound-strategist.md b/prompts/personas/sales/sales-outbound-strategist.md similarity index 100% rename from agents/sales/sales-outbound-strategist.md rename to prompts/personas/sales/sales-outbound-strategist.md diff --git a/agents/sales/sales-pipeline-analyst.md b/prompts/personas/sales/sales-pipeline-analyst.md similarity index 100% rename from agents/sales/sales-pipeline-analyst.md rename to prompts/personas/sales/sales-pipeline-analyst.md diff --git a/agents/sales/sales-proposal-strategist.md b/prompts/personas/sales/sales-proposal-strategist.md similarity index 100% rename from agents/sales/sales-proposal-strategist.md rename to prompts/personas/sales/sales-proposal-strategist.md diff --git a/agents/spatial-computing/macos-spatial-metal-engineer.md b/prompts/personas/spatial-computing/macos-spatial-metal-engineer.md similarity index 100% rename from agents/spatial-computing/macos-spatial-metal-engineer.md rename to prompts/personas/spatial-computing/macos-spatial-metal-engineer.md diff --git a/agents/spatial-computing/terminal-integration-specialist.md b/prompts/personas/spatial-computing/terminal-integration-specialist.md similarity index 100% rename from agents/spatial-computing/terminal-integration-specialist.md rename to prompts/personas/spatial-computing/terminal-integration-specialist.md diff --git a/agents/specialized/accounts-payable-agent.md b/prompts/personas/specialized/accounts-payable-agent.md similarity index 100% rename from agents/specialized/accounts-payable-agent.md rename to prompts/personas/specialized/accounts-payable-agent.md diff --git a/agents/specialized/agentic-identity-trust.md b/prompts/personas/specialized/agentic-identity-trust.md similarity index 100% rename from agents/specialized/agentic-identity-trust.md rename to prompts/personas/specialized/agentic-identity-trust.md diff --git a/agents/specialized/agents-orchestrator.md b/prompts/personas/specialized/agents-orchestrator.md similarity index 100% rename from agents/specialized/agents-orchestrator.md rename to prompts/personas/specialized/agents-orchestrator.md diff --git a/agents/specialized/blockchain-security-auditor.md b/prompts/personas/specialized/blockchain-security-auditor.md similarity index 100% rename from agents/specialized/blockchain-security-auditor.md rename to prompts/personas/specialized/blockchain-security-auditor.md diff --git a/agents/specialized/compliance-auditor.md b/prompts/personas/specialized/compliance-auditor.md similarity index 100% rename from agents/specialized/compliance-auditor.md rename to prompts/personas/specialized/compliance-auditor.md diff --git a/agents/specialized/identity-graph-operator.md b/prompts/personas/specialized/identity-graph-operator.md similarity index 100% rename from agents/specialized/identity-graph-operator.md rename to prompts/personas/specialized/identity-graph-operator.md diff --git a/agents/specialized/lsp-index-engineer.md b/prompts/personas/specialized/lsp-index-engineer.md similarity index 100% rename from agents/specialized/lsp-index-engineer.md rename to prompts/personas/specialized/lsp-index-engineer.md diff --git a/agents/specialized/specialized-cultural-intelligence-strategist.md b/prompts/personas/specialized/specialized-cultural-intelligence-strategist.md similarity index 100% rename from agents/specialized/specialized-cultural-intelligence-strategist.md rename to prompts/personas/specialized/specialized-cultural-intelligence-strategist.md diff --git a/agents/specialized/specialized-developer-advocate.md b/prompts/personas/specialized/specialized-developer-advocate.md similarity index 100% rename from agents/specialized/specialized-developer-advocate.md rename to prompts/personas/specialized/specialized-developer-advocate.md diff --git a/agents/specialized/specialized-model-qa.md b/prompts/personas/specialized/specialized-model-qa.md similarity index 100% rename from agents/specialized/specialized-model-qa.md rename to prompts/personas/specialized/specialized-model-qa.md diff --git a/agents/specialized/zk-steward.md b/prompts/personas/specialized/zk-steward.md similarity index 100% rename from agents/specialized/zk-steward.md rename to prompts/personas/specialized/zk-steward.md diff --git a/agents/strategy/EXECUTIVE-BRIEF.md b/prompts/personas/strategy/EXECUTIVE-BRIEF.md similarity index 100% rename from agents/strategy/EXECUTIVE-BRIEF.md rename to prompts/personas/strategy/EXECUTIVE-BRIEF.md diff --git a/agents/strategy/QUICKSTART.md b/prompts/personas/strategy/QUICKSTART.md similarity index 100% rename from agents/strategy/QUICKSTART.md rename to prompts/personas/strategy/QUICKSTART.md diff --git a/agents/strategy/coordination/agent-activation-prompts.md b/prompts/personas/strategy/coordination/agent-activation-prompts.md similarity index 100% rename from agents/strategy/coordination/agent-activation-prompts.md rename to prompts/personas/strategy/coordination/agent-activation-prompts.md diff --git a/agents/strategy/coordination/handoff-templates.md b/prompts/personas/strategy/coordination/handoff-templates.md similarity index 100% rename from agents/strategy/coordination/handoff-templates.md rename to prompts/personas/strategy/coordination/handoff-templates.md diff --git a/agents/strategy/nexus-strategy.md b/prompts/personas/strategy/nexus-strategy.md similarity index 100% rename from agents/strategy/nexus-strategy.md rename to prompts/personas/strategy/nexus-strategy.md diff --git a/agents/strategy/playbooks/phase-0-discovery.md b/prompts/personas/strategy/playbooks/phase-0-discovery.md similarity index 100% rename from agents/strategy/playbooks/phase-0-discovery.md rename to prompts/personas/strategy/playbooks/phase-0-discovery.md diff --git a/agents/strategy/playbooks/phase-1-strategy.md b/prompts/personas/strategy/playbooks/phase-1-strategy.md similarity index 100% rename from agents/strategy/playbooks/phase-1-strategy.md rename to prompts/personas/strategy/playbooks/phase-1-strategy.md diff --git a/agents/strategy/playbooks/phase-2-foundation.md b/prompts/personas/strategy/playbooks/phase-2-foundation.md similarity index 100% rename from agents/strategy/playbooks/phase-2-foundation.md rename to prompts/personas/strategy/playbooks/phase-2-foundation.md diff --git a/agents/strategy/playbooks/phase-3-build.md b/prompts/personas/strategy/playbooks/phase-3-build.md similarity index 100% rename from agents/strategy/playbooks/phase-3-build.md rename to prompts/personas/strategy/playbooks/phase-3-build.md diff --git a/agents/strategy/playbooks/phase-4-hardening.md b/prompts/personas/strategy/playbooks/phase-4-hardening.md similarity index 100% rename from agents/strategy/playbooks/phase-4-hardening.md rename to prompts/personas/strategy/playbooks/phase-4-hardening.md diff --git a/agents/strategy/playbooks/phase-5-launch.md b/prompts/personas/strategy/playbooks/phase-5-launch.md similarity index 100% rename from agents/strategy/playbooks/phase-5-launch.md rename to prompts/personas/strategy/playbooks/phase-5-launch.md diff --git a/agents/strategy/playbooks/phase-6-operate.md b/prompts/personas/strategy/playbooks/phase-6-operate.md similarity index 100% rename from agents/strategy/playbooks/phase-6-operate.md rename to prompts/personas/strategy/playbooks/phase-6-operate.md diff --git a/agents/strategy/runbooks/scenario-enterprise-feature.md b/prompts/personas/strategy/runbooks/scenario-enterprise-feature.md similarity index 100% rename from agents/strategy/runbooks/scenario-enterprise-feature.md rename to prompts/personas/strategy/runbooks/scenario-enterprise-feature.md diff --git a/agents/strategy/runbooks/scenario-incident-response.md b/prompts/personas/strategy/runbooks/scenario-incident-response.md similarity index 100% rename from agents/strategy/runbooks/scenario-incident-response.md rename to prompts/personas/strategy/runbooks/scenario-incident-response.md diff --git a/agents/strategy/runbooks/scenario-marketing-campaign.md b/prompts/personas/strategy/runbooks/scenario-marketing-campaign.md similarity index 100% rename from agents/strategy/runbooks/scenario-marketing-campaign.md rename to prompts/personas/strategy/runbooks/scenario-marketing-campaign.md diff --git a/agents/strategy/runbooks/scenario-startup-mvp.md b/prompts/personas/strategy/runbooks/scenario-startup-mvp.md similarity index 100% rename from agents/strategy/runbooks/scenario-startup-mvp.md rename to prompts/personas/strategy/runbooks/scenario-startup-mvp.md diff --git a/agents/support/support-analytics-reporter.md b/prompts/personas/support/support-analytics-reporter.md similarity index 100% rename from agents/support/support-analytics-reporter.md rename to prompts/personas/support/support-analytics-reporter.md diff --git a/agents/support/support-executive-summary-generator.md b/prompts/personas/support/support-executive-summary-generator.md similarity index 100% rename from agents/support/support-executive-summary-generator.md rename to prompts/personas/support/support-executive-summary-generator.md diff --git a/agents/support/support-finance-tracker.md b/prompts/personas/support/support-finance-tracker.md similarity index 100% rename from agents/support/support-finance-tracker.md rename to prompts/personas/support/support-finance-tracker.md diff --git a/agents/support/support-infrastructure-maintainer.md b/prompts/personas/support/support-infrastructure-maintainer.md similarity index 100% rename from agents/support/support-infrastructure-maintainer.md rename to prompts/personas/support/support-infrastructure-maintainer.md diff --git a/agents/support/support-legal-compliance-checker.md b/prompts/personas/support/support-legal-compliance-checker.md similarity index 100% rename from agents/support/support-legal-compliance-checker.md rename to prompts/personas/support/support-legal-compliance-checker.md diff --git a/agents/support/support-support-responder.md b/prompts/personas/support/support-support-responder.md similarity index 100% rename from agents/support/support-support-responder.md rename to prompts/personas/support/support-support-responder.md diff --git a/agents/testing/testing-accessibility-auditor.md b/prompts/personas/testing/testing-accessibility-auditor.md similarity index 100% rename from agents/testing/testing-accessibility-auditor.md rename to prompts/personas/testing/testing-accessibility-auditor.md diff --git a/agents/testing/testing-api-tester.md b/prompts/personas/testing/testing-api-tester.md similarity index 100% rename from agents/testing/testing-api-tester.md rename to prompts/personas/testing/testing-api-tester.md diff --git a/agents/testing/testing-evidence-collector.md b/prompts/personas/testing/testing-evidence-collector.md similarity index 100% rename from agents/testing/testing-evidence-collector.md rename to prompts/personas/testing/testing-evidence-collector.md diff --git a/agents/testing/testing-performance-benchmarker.md b/prompts/personas/testing/testing-performance-benchmarker.md similarity index 100% rename from agents/testing/testing-performance-benchmarker.md rename to prompts/personas/testing/testing-performance-benchmarker.md diff --git a/agents/testing/testing-reality-checker.md b/prompts/personas/testing/testing-reality-checker.md similarity index 100% rename from agents/testing/testing-reality-checker.md rename to prompts/personas/testing/testing-reality-checker.md diff --git a/agents/testing/testing-test-results-analyzer.md b/prompts/personas/testing/testing-test-results-analyzer.md similarity index 100% rename from agents/testing/testing-test-results-analyzer.md rename to prompts/personas/testing/testing-test-results-analyzer.md diff --git a/agents/testing/testing-tool-evaluator.md b/prompts/personas/testing/testing-tool-evaluator.md similarity index 100% rename from agents/testing/testing-tool-evaluator.md rename to prompts/personas/testing/testing-tool-evaluator.md diff --git a/agents/testing/testing-workflow-optimizer.md b/prompts/personas/testing/testing-workflow-optimizer.md similarity index 100% rename from agents/testing/testing-workflow-optimizer.md rename to prompts/personas/testing/testing-workflow-optimizer.md diff --git a/prompts/templates/bug-fix.yaml b/prompts/templates/bug-fix.yaml new file mode 100644 index 0000000..2fdf4b9 --- /dev/null +++ b/prompts/templates/bug-fix.yaml @@ -0,0 +1,72 @@ +name: Bug Fix +description: Investigate and fix a bug +category: development + +variables: + bug_description: + description: Brief description of the bug + required: true + location: + description: Where the bug occurs (file, component, etc.) + required: false + +guidelines: + - Reproduce the bug before fixing + - Understand the root cause, not just symptoms + - Write a failing test first + - Consider related edge cases + +phases: + - name: Investigation + description: Understand and reproduce the bug + tasks: + - Reproduce the bug locally + - Gather error logs and stack traces + - Identify the affected code paths + - Check for related issues + - Document reproduction steps + + - name: Root Cause Analysis + description: Find the underlying cause + tasks: + - Trace the code execution + - Identify the exact failure point + - Understand why the bug occurs + - Check for similar patterns elsewhere + - Document findings + + - name: Solution Design + description: Plan the fix + tasks: + - Consider multiple approaches + - Evaluate impact of each approach + - Choose the best solution + - Identify potential side effects + - Plan regression testing + + - name: Implementation + description: Fix the bug + tasks: + - Write a failing test that reproduces the bug + - Implement the fix + - Verify the test passes + - Check for edge cases + - Update any affected tests + + - name: Verification + description: Ensure the fix works + tasks: + - Run full test suite + - Manual testing in development + - Test related functionality + - Performance check if relevant + - Check for regressions + + - name: Release + description: Deploy the fix + tasks: + - Create pull request with clear description + - Include reproduction steps and solution + - Address review feedback + - Merge and deploy + - Monitor production for issues diff --git a/prompts/templates/code-review.yaml b/prompts/templates/code-review.yaml new file mode 100644 index 0000000..8a93164 --- /dev/null +++ b/prompts/templates/code-review.yaml @@ -0,0 +1,81 @@ +name: Code Review +description: Thorough review of a pull request or code change +category: review + +variables: + pr_or_branch: + description: PR number or branch name to review + required: true + focus_area: + description: Specific area to focus on (security, performance, etc.) + required: false + +guidelines: + - Review for correctness first + - Consider maintainability + - Check for security issues + - Be constructive in feedback + +phases: + - name: Context + description: Understand the change + tasks: + - Read PR description + - Understand the purpose + - Review linked issues + - Check for breaking changes + - Note any concerns + + - name: Structure Review + description: Review code organisation + tasks: + - Check file placement + - Review class/function structure + - Assess naming conventions + - Check for duplication + - Evaluate abstractions + + - name: Logic Review + description: Review implementation logic + tasks: + - Check algorithm correctness + - Review edge case handling + - Assess error handling + - Check null/undefined handling + - Review control flow + + - name: Quality Review + description: Check code quality + tasks: + - Verify type safety + - Check documentation + - Review test coverage + - Assess readability + - Check style consistency + + - name: Security Review + description: Check for security issues + tasks: + - Input validation + - SQL injection risks + - XSS vulnerabilities + - Authentication/authorisation + - Sensitive data handling + + - name: Performance Review + description: Check for performance issues + tasks: + - Database query efficiency + - Memory usage + - Unnecessary operations + - Caching opportunities + - Potential bottlenecks + + - name: Feedback + description: Compile review feedback + tasks: + - Summarise findings + - Categorise by severity + - Suggest improvements + - Note positive aspects + - Submit review diff --git a/prompts/templates/feature-port.yaml b/prompts/templates/feature-port.yaml new file mode 100644 index 0000000..02ed4f8 --- /dev/null +++ b/prompts/templates/feature-port.yaml @@ -0,0 +1,84 @@ +name: Feature Port +description: Port functionality from one codebase to another +category: development + +variables: + source: + description: Source codebase or package + required: true + feature: + description: Feature to port + required: true + target: + description: Target location in codebase + required: false + +guidelines: + - Understand the source implementation thoroughly + - Adapt to target architecture patterns + - Avoid copy-paste without understanding + - Test thoroughly in new environment + +phases: + - name: Analysis + description: Understand the source implementation + tasks: + - Study the source code structure + - Identify all dependencies + - Document the feature's behaviour + - List configuration requirements + - Identify integration points + + - name: Planning + description: Plan the port + tasks: + - Map source patterns to target patterns + - Identify what needs adaptation + - List files to create/modify + - Plan database migrations if needed + - Create a port checklist + + - name: Infrastructure + description: Set up base requirements + tasks: + - Create necessary directories + - Add required dependencies + - Set up configuration + - Create database migrations + - Add base models/interfaces + + - name: Core Port + description: Port the main functionality + tasks: + - Port core classes/services + - Adapt to target patterns + - Update namespaces and imports + - Fix type hints and return types + - Ensure PSR-12 compliance + + - name: Integration + description: Connect to existing systems + tasks: + - Add routes and controllers + - Integrate with existing services + - Add UI components + - Wire up events and listeners + - Configure middleware + + - name: Testing + description: Verify the port + tasks: + - Port existing tests + - Add new integration tests + - Test edge cases + - Verify UI functionality + - Performance testing + + - name: Cleanup + description: Finalise the port + tasks: + - Remove unused code + - Update documentation + - Add code comments + - Create pull request + - Document any differences from source diff --git a/prompts/templates/new-feature.yaml b/prompts/templates/new-feature.yaml new file mode 100644 index 0000000..42677b1 --- /dev/null +++ b/prompts/templates/new-feature.yaml @@ -0,0 +1,80 @@ +name: New Feature +description: Implement a new feature from scratch +category: development + +variables: + feature_name: + description: Name of the feature + required: true + description: + description: Brief description of what the feature does + required: false + +guidelines: + - Start with a clear understanding of requirements + - Design before implementing + - Write tests alongside code + - Document as you go + +phases: + - name: Planning + description: Define scope and approach + tasks: + - Clarify requirements for {{ feature_name }} + - Identify affected components + - Design data models if needed + - Plan API endpoints if needed + - Create task breakdown + + - name: Foundation + description: Set up base infrastructure + tasks: + - Create feature branch + - Set up database migrations + - Create model classes + - Set up basic routes/controllers + - Add configuration if needed + + - name: Core Implementation + description: Build the main functionality + tasks: + - Implement business logic + - Add service layer if complex + - Create API endpoints + - Add validation + - Handle edge cases + + - name: Frontend + description: Build user interface + tasks: + - Create views/components + - Add form handling + - Implement client-side validation + - Add loading states + - Handle errors gracefully + + - name: Testing + description: Ensure quality + tasks: + - Write unit tests + - Write feature/integration tests + - Write API tests if applicable + - Manual testing + - Performance testing if needed + + - name: Documentation + description: Document the feature + tasks: + - Update API documentation + - Add inline code comments + - Update README if needed + - Create user documentation + + - name: Review & Deploy + description: Get approval and ship + tasks: + - Self-review all changes + - Create pull request + - Address review feedback + - Merge and deploy + - Monitor for issues diff --git a/prompts/templates/prod-push-polish.md b/prompts/templates/prod-push-polish.md new file mode 100644 index 0000000..25c41a8 --- /dev/null +++ b/prompts/templates/prod-push-polish.md @@ -0,0 +1,248 @@ +# Production Push Polish Template + +**Use when:** Preparing a codebase for production deployment after feature development is complete. + +**Purpose:** Ensure all routes work correctly, render meaningful content, handle errors gracefully, and meet security/performance standards. + +--- + +## How to Request This Task + +When asking an agent to create a prod push polish task, include: + +``` +Create a production push polish task following the template at: +resources/plan-templates/prod-push-polish.md + +Focus areas: [list any specific concerns] +Target deployment date: [date if applicable] +``` + +--- + +## Task Structure + +### Phase 1: Public Route Tests + +Every public route must have a test that: +1. Asserts HTTP 200 OK status +2. Asserts meaningful HTML content renders (title, headings, key elements) +3. Does NOT just use `assertOk()` alone + +**Pattern:** +```php +it('renders [page name] with [key content]', function () { + $this->get('/route') + ->assertOk() + ->assertSee('Expected heading') + ->assertSee('Expected content') + ->assertSee('Expected CTA'); +}); +``` + +**Why:** A page can return 200 with blank body, PHP errors, or broken layout. Content assertions catch these. + +### Phase 2: Authenticated Route Tests + +Every authenticated route must have a test that: +1. Uses `actingAs()` with appropriate user type +2. Asserts the Livewire component renders +3. Asserts key UI elements are present + +**Pattern:** +```php +it('renders [page name] for authenticated user', function () { + $this->actingAs($this->user) + ->get('/hub/route') + ->assertOk() + ->assertSeeLivewire('component.name') + ->assertSee('Expected heading') + ->assertSee('Expected widget'); +}); +``` + +### Phase 3: Error Page Verification + +Error pages must: +1. Use consistent brand styling (not default Laravel) +2. Provide helpful messages +3. Include navigation back to safe pages +4. Not expose stack traces in production + +**Test pattern:** +```php +it('renders 404 with helpful message', function () { + $this->get('/nonexistent-route') + ->assertNotFound() + ->assertSee('Page not found') + ->assertSee('Go to homepage') + ->assertDontSee('Exception'); +}); +``` + +### Phase 4: Security Headers + +Verify these headers are present on all responses: + +| Header | Value | Purpose | +|--------|-------|---------| +| `X-Frame-Options` | `DENY` or `SAMEORIGIN` | Prevent clickjacking | +| `X-Content-Type-Options` | `nosniff` | Prevent MIME sniffing | +| `Referrer-Policy` | `strict-origin-when-cross-origin` | Control referrer info | +| `Content-Security-Policy` | (varies) | Prevent XSS | +| `X-Powered-By` | (removed) | Don't expose stack | + +**Middleware pattern:** +```php +class SecurityHeaders +{ + public function handle(Request $request, Closure $next): Response + { + $response = $next($request); + + $response->headers->set('X-Frame-Options', 'DENY'); + $response->headers->set('X-Content-Type-Options', 'nosniff'); + $response->headers->set('Referrer-Policy', 'strict-origin-when-cross-origin'); + $response->headers->remove('X-Powered-By'); + + return $response; + } +} +``` + +### Phase 5: Performance Baseline + +Document response times for key routes: + +| Route Type | Target | Acceptable | Needs Investigation | +|------------|--------|------------|---------------------| +| Static marketing | <200ms | <400ms | >600ms | +| Dynamic public | <300ms | <500ms | >800ms | +| Authenticated dashboard | <500ms | <800ms | >1200ms | +| Data-heavy pages | <800ms | <1200ms | >2000ms | + +**Test pattern:** +```php +it('responds within performance target', function () { + $start = microtime(true); + + $this->get('/'); + + $duration = (microtime(true) - $start) * 1000; + + expect($duration)->toBeLessThan(400); // ms +}); +``` + +**N+1 detection:** +```php +it('has no N+1 queries on listing page', function () { + DB::enableQueryLog(); + + $this->get('/hub/social/posts'); + + $queries = DB::getQueryLog(); + + // With 10 posts, should be ~3 queries (posts, accounts, user) + // not 10+ (one per post) + expect(count($queries))->toBeLessThan(10); +}); +``` + +### Phase 6: Final Verification + +Pre-deployment checklist: + +- [ ] `./vendor/bin/pest` — 0 failures +- [ ] `npm run build` — 0 errors +- [ ] `npm run test:smoke` — Playwright passes +- [ ] Error pages reviewed manually +- [ ] Security headers verified via browser dev tools +- [ ] Performance baselines documented + +--- + +## Acceptance Criteria Template + +Copy and customise for your task: + +```markdown +### Phase 1: Public Route Tests +- [ ] AC1: Test for `/` asserts page title and hero content +- [ ] AC2: Test for `/pricing` asserts pricing tiers display +- [ ] AC3: Test for `/login` asserts form fields render +[Add one AC per route] + +### Phase 2: Authenticated Route Tests +- [ ] AC4: Test for `/hub` asserts dashboard widgets render +- [ ] AC5: Test for `/hub/profile` asserts form with user data +[Add one AC per authenticated route] + +### Phase 3: Error Page Verification +- [ ] AC6: 404 page renders with brand styling +- [ ] AC7: 403 page renders with access denied message +- [ ] AC8: 500 page renders without stack trace + +### Phase 4: Security Headers +- [ ] AC9: X-Frame-Options header present +- [ ] AC10: X-Content-Type-Options header present +- [ ] AC11: Referrer-Policy header present +- [ ] AC12: X-Powered-By header removed + +### Phase 5: Performance Baseline +- [ ] AC13: Homepage <400ms response time +- [ ] AC14: No N+1 queries on listing pages +- [ ] AC15: Performance baselines documented + +### Phase 6: Final Verification +- [ ] AC16: Full test suite passes +- [ ] AC17: Build completes without errors +- [ ] AC18: Smoke tests pass +``` + +--- + +## Common Issues to Check + +### Blank Pages +- Missing `return` in controller +- Livewire component `render()` returns nothing +- Blade `@extends` pointing to missing layout + +### Broken Layouts +- Missing Flux UI components +- CSS not loaded (Vite build issue) +- Alpine.js not initialised + +### Authentication Redirects +- Middleware order incorrect +- Session not persisting +- CSRF token mismatch + +### Performance Problems +- Eager loading missing (N+1) +- Large datasets not paginated +- Expensive queries in loops +- Missing database indexes + +### Security Gaps +- Debug mode enabled in production +- Sensitive data in logs +- Missing CSRF protection +- Exposed .env or config values + +--- + +## File Locations + +| Purpose | Location | +|---------|----------| +| Route tests | `tests/Feature/PublicRoutesTest.php`, `tests/Feature/HubRoutesTest.php` | +| Error pages | `resources/views/errors/` | +| Security middleware | `app/Http/Middleware/SecurityHeaders.php` | +| Performance tests | `tests/Feature/PerformanceBaselineTest.php` | +| Smoke tests | `tests/Browser/smoke/` | + +--- + +*This template ensures production deployments don't ship broken pages.* diff --git a/prompts/templates/refactor.yaml b/prompts/templates/refactor.yaml new file mode 100644 index 0000000..9acf5a9 --- /dev/null +++ b/prompts/templates/refactor.yaml @@ -0,0 +1,72 @@ +name: Refactor +description: Improve code quality without changing behaviour +category: development + +variables: + target: + description: Code to refactor (file, class, module) + required: true + goal: + description: What improvement to achieve + required: false + +guidelines: + - Ensure tests exist before refactoring + - Make small, incremental changes + - Commit frequently + - Run tests after each change + +phases: + - name: Assessment + description: Understand current state + tasks: + - Review existing code + - Identify code smells + - Check test coverage + - Document current behaviour + - List specific improvements + + - name: Preparation + description: Set up for safe refactoring + tasks: + - Ensure tests pass + - Add tests for uncovered behaviour + - Create feature branch + - Set up automated checks + - Document expected behaviour + + - name: Extraction + description: Extract and simplify + tasks: + - Extract methods/functions + - Extract classes if too large + - Remove duplication + - Simplify conditionals + - Improve naming + + - name: Structure + description: Improve organisation + tasks: + - Reorganise file structure + - Update namespaces + - Improve class relationships + - Apply design patterns + - Add interfaces where useful + + - name: Polish + description: Final improvements + tasks: + - Add type hints + - Improve documentation + - Remove dead code + - Optimise performance + - Ensure style consistency + + - name: Verification + description: Confirm behaviour unchanged + tasks: + - Run full test suite + - Manual testing + - Performance comparison + - Code review + - Merge and monitor