@raishin/vanguard-frontier-agentic 2.3.0 → 2.6.0
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/.agents/tasks/task-dynamic-kiro-powers/2025-01-24-120000-review.md +92 -0
- package/.agents/tasks/task-dynamic-kiro-powers/context.json +22 -0
- package/.agents/tasks/task-dynamic-kiro-powers/features/FEAT-001.json +34 -0
- package/.agents/tasks/task-dynamic-kiro-powers/task.json +14 -0
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +31 -1
- package/.cursor-plugin/plugin.json +31 -1
- package/.github/plugin/marketplace.json +1 -1
- package/README.md +17 -12
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/AGENT.md +1 -1
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/claude-code.agent.md +1 -1
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/copilot.agent.md +1 -1
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/cursor.agent.md +1 -1
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/gemini.agent.md +1 -1
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/kiro-ide.agent.md +1 -1
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/AGENT.md +2 -2
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/claude-code.agent.md +2 -2
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/copilot.agent.md +2 -2
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/cursor.agent.md +2 -2
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/gemini.agent.md +2 -2
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/kiro-ide.agent.md +2 -2
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/AGENT.md +3 -3
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/claude-code.agent.md +3 -3
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/copilot.agent.md +3 -3
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/cursor.agent.md +3 -3
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/gemini.agent.md +3 -3
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/kiro-ide.agent.md +3 -3
- package/agents/hetzner/README.md +1 -1
- package/agents/oci/oci-devops-container-platform-engineer-agent/AGENT.md +1 -1
- package/agents/oci/oci-exadata-platform-architect-agent/AGENT.md +1 -1
- package/agents/oci/oci-multi-cloud-architect-agent/AGENT.md +1 -1
- package/agents/prometheus/README.md +1 -1
- package/agents/qa/playwright-e2e-suite-review-agent/AGENT.md +3 -3
- package/agents/qa/playwright-e2e-suite-review-agent/harnesses/claude-code.agent.md +3 -3
- package/agents/qa/playwright-e2e-suite-review-agent/harnesses/copilot.agent.md +3 -3
- package/agents/qa/playwright-e2e-suite-review-agent/harnesses/cursor.agent.md +3 -3
- package/agents/qa/playwright-e2e-suite-review-agent/harnesses/gemini.agent.md +3 -3
- package/agents/qa/playwright-e2e-suite-review-agent/harnesses/kiro-ide.agent.md +3 -3
- package/agents/salesforce/AGENTS.md +31 -0
- package/agents/salesforce/README.md +135 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/AGENT.md +117 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/LEAST-PRIVILEGES.md +91 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/claude-code.agent.md +69 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/codex.toml +30 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/copilot.agent.md +69 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/cursor.agent.md +69 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/gemini.agent.md +69 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/harnesses/kiro-ide.agent.md +69 -0
- package/agents/salesforce/salesforce-adaptive-access-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/AGENT.md +126 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/LEAST-PRIVILEGES.md +92 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/claude-code.agent.md +81 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/codex.toml +36 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/copilot.agent.md +81 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/cursor.agent.md +81 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/gemini.agent.md +81 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/harnesses/kiro-ide.agent.md +49 -0
- package/agents/salesforce/salesforce-agentforce-ai-agent/metadata.json +41 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/AGENT.md +119 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/LEAST-PRIVILEGES.md +81 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/claude-code.agent.md +75 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/copilot.agent.md +75 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/cursor.agent.md +75 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/gemini.agent.md +75 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/harnesses/kiro-ide.agent.md +45 -0
- package/agents/salesforce/salesforce-analytics-tableau-agent/metadata.json +41 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/AGENT.md +112 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/LEAST-PRIVILEGES.md +86 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/claude-code.agent.md +50 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/copilot.agent.md +50 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/cursor.agent.md +50 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/gemini.agent.md +50 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/kiro-ide.agent.md +50 -0
- package/agents/salesforce/salesforce-app-builder-automation-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-business-analyst-agent/AGENT.md +110 -0
- package/agents/salesforce/salesforce-business-analyst-agent/LEAST-PRIVILEGES.md +89 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/claude-code.agent.md +48 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/copilot.agent.md +48 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/cursor.agent.md +48 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/gemini.agent.md +48 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/kiro-ide.agent.md +48 -0
- package/agents/salesforce/salesforce-business-analyst-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/AGENT.md +112 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/LEAST-PRIVILEGES.md +81 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/claude-code.agent.md +66 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/codex.toml +30 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/copilot.agent.md +66 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/cursor.agent.md +66 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/gemini.agent.md +66 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/harnesses/kiro-ide.agent.md +66 -0
- package/agents/salesforce/salesforce-certificate-lifecycle-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/AGENT.md +121 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/LEAST-PRIVILEGES.md +87 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/claude-code.agent.md +74 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/codex.toml +30 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/copilot.agent.md +74 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/cursor.agent.md +74 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/gemini.agent.md +74 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/harnesses/kiro-ide.agent.md +74 -0
- package/agents/salesforce/salesforce-change-impact-analyst-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/AGENT.md +119 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/LEAST-PRIVILEGES.md +88 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/claude-code.agent.md +67 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/codex.toml +30 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/copilot.agent.md +67 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/cursor.agent.md +67 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/gemini.agent.md +67 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/harnesses/kiro-ide.agent.md +67 -0
- package/agents/salesforce/salesforce-code-analyzer-orchestrator-agent/metadata.json +31 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/AGENT.md +130 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/LEAST-PRIVILEGES.md +85 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/claude-code.agent.md +84 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/codex.toml +36 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/copilot.agent.md +84 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/cursor.agent.md +84 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/gemini.agent.md +84 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/harnesses/kiro-ide.agent.md +49 -0
- package/agents/salesforce/salesforce-compliance-privacy-agent/metadata.json +41 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/AGENT.md +113 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/LEAST-PRIVILEGES.md +90 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/claude-code.agent.md +64 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/codex.toml +30 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/copilot.agent.md +64 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/cursor.agent.md +64 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/gemini.agent.md +64 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/harnesses/kiro-ide.agent.md +64 -0
- package/agents/salesforce/salesforce-continuous-verification-agent/metadata.json +31 -0
- package/agents/salesforce/salesforce-data-architecture-agent/AGENT.md +113 -0
- package/agents/salesforce/salesforce-data-architecture-agent/LEAST-PRIVILEGES.md +92 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/claude-code.agent.md +49 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/copilot.agent.md +49 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/cursor.agent.md +49 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/gemini.agent.md +49 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/kiro-ide.agent.md +49 -0
- package/agents/salesforce/salesforce-data-architecture-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-development-agent/AGENT.md +114 -0
- package/agents/salesforce/salesforce-development-agent/LEAST-PRIVILEGES.md +89 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/claude-code.agent.md +50 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/codex.toml +36 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/copilot.agent.md +50 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/cursor.agent.md +50 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/gemini.agent.md +50 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-development-agent/harnesses/kiro-ide.agent.md +50 -0
- package/agents/salesforce/salesforce-development-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-devops-release-agent/AGENT.md +115 -0
- package/agents/salesforce/salesforce-devops-release-agent/LEAST-PRIVILEGES.md +90 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/claude-code.agent.md +51 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/copilot.agent.md +51 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/cursor.agent.md +51 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/gemini.agent.md +51 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/kiro-ide.agent.md +51 -0
- package/agents/salesforce/salesforce-devops-release-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/AGENT.md +128 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/LEAST-PRIVILEGES.md +92 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/claude-code.agent.md +81 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/codex.toml +36 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/copilot.agent.md +81 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/cursor.agent.md +81 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/gemini.agent.md +81 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/harnesses/kiro-ide.agent.md +49 -0
- package/agents/salesforce/salesforce-enterprise-architect-agent/metadata.json +41 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/AGENT.md +124 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/LEAST-PRIVILEGES.md +80 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/claude-code.agent.md +79 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/copilot.agent.md +79 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/cursor.agent.md +79 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/gemini.agent.md +79 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/harnesses/kiro-ide.agent.md +59 -0
- package/agents/salesforce/salesforce-experience-cloud-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/AGENT.md +113 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/LEAST-PRIVILEGES.md +80 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/codex.toml +28 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/copilot.agent.md +72 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/cursor.agent.md +72 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/gemini.agent.md +72 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/salesforce/salesforce-hyperforce-security-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/AGENT.md +125 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/LEAST-PRIVILEGES.md +88 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/claude-code.agent.md +80 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/codex.toml +41 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/copilot.agent.md +80 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/cursor.agent.md +80 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/gemini.agent.md +80 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/harnesses/kiro-ide.agent.md +48 -0
- package/agents/salesforce/salesforce-industry-cloud-agent/metadata.json +42 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/AGENT.md +115 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/LEAST-PRIVILEGES.md +91 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/claude-code.agent.md +50 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/copilot.agent.md +50 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/cursor.agent.md +50 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/gemini.agent.md +50 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/kiro-ide.agent.md +50 -0
- package/agents/salesforce/salesforce-integration-mulesoft-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-live-guard-agent/AGENT.md +126 -0
- package/agents/salesforce/salesforce-live-guard-agent/LEAST-PRIVILEGES.md +100 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/claude-code.agent.md +85 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/codex.toml +50 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/copilot.agent.md +85 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/cursor.agent.md +85 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/gemini.agent.md +85 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-live-guard-agent/harnesses/kiro-ide.agent.md +58 -0
- package/agents/salesforce/salesforce-live-guard-agent/metadata.json +39 -0
- package/agents/salesforce/salesforce-maestro-agent/AGENT.md +77 -0
- package/agents/salesforce/salesforce-maestro-agent/LEAST-PRIVILEGES.md +93 -0
- package/agents/salesforce/salesforce-maestro-agent/README.md +593 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/claude-code.agent.md +65 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/codex.toml +66 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/copilot.agent.md +65 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/cursor.agent.md +65 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/gemini.agent.md +65 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-maestro-agent/harnesses/kiro-ide.agent.md +65 -0
- package/agents/salesforce/salesforce-maestro-agent/metadata.json +38 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/AGENT.md +124 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/LEAST-PRIVILEGES.md +86 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/claude-code.agent.md +78 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/codex.toml +34 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/copilot.agent.md +78 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/cursor.agent.md +78 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/gemini.agent.md +78 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/harnesses/kiro-ide.agent.md +48 -0
- package/agents/salesforce/salesforce-marketing-cloud-agent/metadata.json +41 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/AGENT.md +113 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/LEAST-PRIVILEGES.md +87 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/codex.toml +28 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/copilot.agent.md +72 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/cursor.agent.md +72 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/gemini.agent.md +72 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/salesforce/salesforce-network-policy-architect-agent/metadata.json +31 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/AGENT.md +113 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/LEAST-PRIVILEGES.md +88 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/claude-code.agent.md +49 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/codex.toml +36 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/copilot.agent.md +49 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/cursor.agent.md +49 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/gemini.agent.md +49 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/kiro-ide.agent.md +49 -0
- package/agents/salesforce/salesforce-platform-admin-review-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/AGENT.md +115 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/LEAST-PRIVILEGES.md +83 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/claude-code.agent.md +50 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/copilot.agent.md +50 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/cursor.agent.md +50 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/gemini.agent.md +50 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/kiro-ide.agent.md +50 -0
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/AGENT.md +120 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/LEAST-PRIVILEGES.md +80 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/claude-code.agent.md +72 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/codex.toml +30 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/copilot.agent.md +72 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/cursor.agent.md +72 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/gemini.agent.md +72 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/harnesses/kiro-ide.agent.md +72 -0
- package/agents/salesforce/salesforce-sandbox-governance-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/AGENT.md +113 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/LEAST-PRIVILEGES.md +90 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/claude-code.agent.md +71 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/codex.toml +28 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/copilot.agent.md +71 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/cursor.agent.md +71 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/gemini.agent.md +71 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/harnesses/kiro-ide.agent.md +71 -0
- package/agents/salesforce/salesforce-sandbox-isolation-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/AGENT.md +118 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/LEAST-PRIVILEGES.md +85 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/claude-code.agent.md +52 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/codex.toml +36 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/copilot.agent.md +52 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/cursor.agent.md +52 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/gemini.agent.md +52 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/kiro-ide.agent.md +52 -0
- package/agents/salesforce/salesforce-security-identity-access-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-service-field-service-agent/AGENT.md +115 -0
- package/agents/salesforce/salesforce-service-field-service-agent/LEAST-PRIVILEGES.md +82 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/claude-code.agent.md +50 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/copilot.agent.md +50 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/cursor.agent.md +50 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/gemini.agent.md +50 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/kiro-ide.agent.md +50 -0
- package/agents/salesforce/salesforce-service-field-service-agent/metadata.json +40 -0
- package/agents/salesforce/salesforce-session-governance-agent/AGENT.md +116 -0
- package/agents/salesforce/salesforce-session-governance-agent/LEAST-PRIVILEGES.md +91 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/claude-code.agent.md +74 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/codex.toml +28 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/copilot.agent.md +74 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/cursor.agent.md +74 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/gemini.agent.md +74 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-session-governance-agent/harnesses/kiro-ide.agent.md +74 -0
- package/agents/salesforce/salesforce-session-governance-agent/metadata.json +30 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/AGENT.md +123 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/LEAST-PRIVILEGES.md +86 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/claude-code.agent.md +79 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/codex.toml +35 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/copilot.agent.md +79 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/cursor.agent.md +79 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/gemini.agent.md +79 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/harnesses/kiro-ide.agent.md +48 -0
- package/agents/salesforce/salesforce-slack-collaboration-agent/metadata.json +41 -0
- package/assets/logos/cloud/salesforce/salesforce.svg +34 -0
- package/catalog/agents.json +1451 -283
- package/catalog/asset-integrity.json +2257 -332
- package/catalog/install-roles.json +68 -0
- package/catalog/skill-manifest.json +1040 -155
- package/catalog/skills.json +1242 -262
- package/package.json +5 -2
- package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +3 -2
- package/plugins/vanguard-frontier-agentic/skills/vanguard-frontier-agentic-install/SKILL.md +37 -0
- package/powers/README.md +28 -10
- package/powers/vanguard-argocd/POWER.md +40 -0
- package/powers/vanguard-backstage/POWER.md +40 -0
- package/powers/vanguard-cert-manager/POWER.md +40 -0
- package/powers/vanguard-cilium/POWER.md +40 -0
- package/powers/vanguard-dotnet/POWER.md +41 -0
- package/powers/vanguard-falco/POWER.md +40 -0
- package/powers/vanguard-fluxcd/POWER.md +40 -0
- package/powers/vanguard-generic/POWER.md +40 -0
- package/powers/vanguard-hr/POWER.md +41 -0
- package/powers/vanguard-istio/POWER.md +40 -0
- package/powers/vanguard-kyverno/POWER.md +40 -0
- package/powers/vanguard-legal/POWER.md +41 -0
- package/powers/vanguard-marketing/POWER.md +41 -0
- package/powers/vanguard-multi-cloud/POWER.md +41 -0
- package/powers/vanguard-opentelemetry/POWER.md +40 -0
- package/powers/vanguard-prometheus/POWER.md +40 -0
- package/powers/vanguard-salesforce/POWER.md +42 -0
- package/powers/vanguard-sigstore/POWER.md +40 -0
- package/schemas/agent.schema.json +2 -1
- package/schemas/skill.frontmatter.schema.json +33 -3
- package/schemas/skill.schema.json +2 -1
- package/scripts/export-marketplace-agents.mjs +43 -1
- package/scripts/generate-kiro-powers.mjs +372 -5
- package/scripts/install-codex-home.mjs +95 -0
- package/scripts/release-prepare.mjs +35 -0
- package/skills/aws/aws-agentcore/references/official-sources.md +19 -19
- package/skills/aws/aws-generative-ai-developer/references/official-sources.md +10 -10
- package/skills/azure/azure-ai-foundry-ops-governor/references/workflow-and-output.md +2 -2
- package/skills/azure/azure-aks-platform-operator/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-app-service-production-readiness/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-cosmosdb-application-developer/references/official-sources.md +11 -11
- package/skills/azure/azure-cosmosdb-performance-investigator/references/official-sources.md +11 -11
- package/skills/azure/azure-cosmosdb-platform-operator/references/official-sources.md +10 -10
- package/skills/azure/azure-cost-estimation-review/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-cost-optimization-governor/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-entra-id-specialist/references/official-sources.md +28 -28
- package/skills/azure/azure-identity-governance-review/references/official-sources.md +11 -11
- package/skills/azure/azure-identity-governance-review/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-key-vault-secret-lifecycle-auditor/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-migrate-landing-zone-cutover/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-platform-automation-devops/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-private-endpoint-adoption-planner/references/workflow-and-output.md +1 -1
- package/skills/azure/azure-resource-health-incident-triage/references/workflow-and-output.md +6 -6
- package/skills/azure/azure-subscription-resource-organization/references/workflow-and-output.md +1 -1
- package/skills/cross-functional/salesforce-case-capsule/SKILL.md +164 -0
- package/skills/cross-functional/salesforce-case-capsule/metadata.json +19 -0
- package/skills/cross-functional/salesforce-data-exposure-escalation-protocol/SKILL.md +165 -0
- package/skills/cross-functional/salesforce-data-exposure-escalation-protocol/metadata.json +19 -0
- package/skills/cross-functional/salesforce-live-change-approval-protocol/SKILL.md +118 -0
- package/skills/cross-functional/salesforce-live-change-approval-protocol/metadata.json +19 -0
- package/skills/cross-functional/salesforce-risk-taxonomy/SKILL.md +162 -0
- package/skills/cross-functional/salesforce-risk-taxonomy/metadata.json +19 -0
- package/skills/cross-functional/salesforce-routing-protocol/SKILL.md +159 -0
- package/skills/cross-functional/salesforce-routing-protocol/metadata.json +19 -0
- package/skills/dotnet/dotnet-aspnetcore-api-review/SKILL.md +1 -1
- package/skills/dotnet/dotnet-aspnetcore-api-review/references/workflow-and-output.md +2 -2
- package/skills/dotnet/dotnet-csharp-runtime-review/SKILL.md +2 -2
- package/skills/dotnet/dotnet-csharp-runtime-review/references/workflow-and-output.md +7 -7
- package/skills/dotnet/dotnet-efcore-data-access-review/SKILL.md +4 -4
- package/skills/dotnet/dotnet-efcore-data-access-review/references/workflow-and-output.md +3 -3
- package/skills/dotnet/dotnet-performance-aot-review/references/workflow-and-output.md +1 -1
- package/skills/dotnet/dotnet-testing-quality-review/SKILL.md +1 -1
- package/skills/dotnet/dotnet-testing-quality-review/references/workflow-and-output.md +2 -2
- package/skills/finops/focus-spec-normalizer/references/focus-columns.md +2 -2
- package/skills/gcp/gcp-alloydb-ai-developer/SKILL.md +1 -1
- package/skills/gcp/gcp-gemini-api-developer/SKILL.md +2 -2
- package/skills/nvidia/nvidia-model-promotion-gatekeeper/SKILL.md +1 -1
- package/skills/nvidia/nvidia-model-promotion-gatekeeper/references/allowlist-commands.md +1 -1
- package/skills/oci/oci-compute-platform-operator/SKILL.md +0 -2
- package/skills/oci/oci-cost-finops-analyst/SKILL.md +0 -2
- package/skills/oci/oci-database-platform-dba/SKILL.md +0 -2
- package/skills/oci/oci-devops-container-platform-engineer/SKILL.md +0 -2
- package/skills/oci/oci-identity-access-governor/SKILL.md +0 -2
- package/skills/oci/oci-multi-cloud-architect/SKILL.md +0 -2
- package/skills/oci/oci-network-architect/SKILL.md +0 -2
- package/skills/oci/oci-observability-incident-responder/SKILL.md +0 -2
- package/skills/oci/oci-security-compliance-reviewer/SKILL.md +0 -2
- package/skills/oci/oci-solution-architect/SKILL.md +1 -3
- package/skills/oci/oci-storage-backup-steward/SKILL.md +0 -2
- package/skills/prometheus/prometheus-alerting-cardinality-review/SKILL.md +1 -1
- package/skills/prometheus/prometheus-alerting-cardinality-review/references/workflow-and-output.md +4 -4
- package/skills/qa/ci-test-pipeline-review/references/workflow-and-output.md +1 -1
- package/skills/qa/llm-ai-pipeline-test-review/references/workflow-and-output.md +1 -1
- package/skills/qa/playwright-e2e-suite-review/SKILL.md +4 -4
- package/skills/qa/playwright-e2e-suite-review/references/workflow-and-output.md +12 -12
- package/skills/qa/plc-control-logic-safety-review/references/workflow-and-output.md +2 -2
- package/skills/qa/test-coverage-quality-review/SKILL.md +1 -1
- package/skills/qa/test-coverage-quality-review/references/workflow-and-output.md +8 -8
- package/skills/qa/test-flakiness-triage/SKILL.md +1 -1
- package/skills/qa/test-flakiness-triage/references/workflow-and-output.md +1 -1
- package/skills/salesforce/README.md +117 -0
- package/skills/salesforce/salesforce-agentforce-risk-review-skill/SKILL.md +206 -0
- package/skills/salesforce/salesforce-agentforce-risk-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-agentforce-risk-review-skill/references/action-safety-matrix.md +160 -0
- package/skills/salesforce/salesforce-agentforce-risk-review-skill/references/agentforce-anti-patterns.md +193 -0
- package/skills/salesforce/salesforce-agentforce-risk-review-skill/references/grounding-source-evaluation.md +162 -0
- package/skills/salesforce/salesforce-agentforce-stdm-observer-skill/SKILL.md +557 -0
- package/skills/salesforce/salesforce-agentforce-stdm-observer-skill/metadata.json +41 -0
- package/skills/salesforce/salesforce-agentforce-stdm-observer-skill/references/observability-rubric.md +219 -0
- package/skills/salesforce/salesforce-agentforce-stdm-observer-skill/references/privacy-redaction.md +240 -0
- package/skills/salesforce/salesforce-agentforce-stdm-observer-skill/references/stdm-queries.md +436 -0
- package/skills/salesforce/salesforce-apex-generator-skill/SKILL.md +307 -0
- package/skills/salesforce/salesforce-apex-generator-skill/metadata.json +30 -0
- package/skills/salesforce/salesforce-apex-generator-skill/references/apex-patterns.md +224 -0
- package/skills/salesforce/salesforce-apex-generator-skill/references/governor-limits.md +175 -0
- package/skills/salesforce/salesforce-apex-generator-skill/references/security-defaults.md +155 -0
- package/skills/salesforce/salesforce-apex-log-analyzer-skill/SKILL.md +360 -0
- package/skills/salesforce/salesforce-apex-log-analyzer-skill/metadata.json +38 -0
- package/skills/salesforce/salesforce-apex-log-analyzer-skill/references/governor-limit-signatures.md +174 -0
- package/skills/salesforce/salesforce-apex-log-analyzer-skill/references/log-format-reference.md +154 -0
- package/skills/salesforce/salesforce-apex-log-analyzer-skill/references/redaction-rules.md +178 -0
- package/skills/salesforce/salesforce-apex-lwc-code-review-skill/SKILL.md +195 -0
- package/skills/salesforce/salesforce-apex-lwc-code-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-apex-lwc-code-review-skill/references/apex-anti-patterns.md +270 -0
- package/skills/salesforce/salesforce-apex-lwc-code-review-skill/references/governor-limits-reference.md +198 -0
- package/skills/salesforce/salesforce-apex-lwc-code-review-skill/references/lwc-security.md +206 -0
- package/skills/salesforce/salesforce-apex-test-generator-skill/SKILL.md +274 -0
- package/skills/salesforce/salesforce-apex-test-generator-skill/metadata.json +29 -0
- package/skills/salesforce/salesforce-apex-test-generator-skill/references/assertion-patterns.md +174 -0
- package/skills/salesforce/salesforce-apex-test-generator-skill/references/async-testing.md +217 -0
- package/skills/salesforce/salesforce-apex-test-generator-skill/references/test-data-factory.md +174 -0
- package/skills/salesforce/salesforce-apex-test-runner-skill/SKILL.md +344 -0
- package/skills/salesforce/salesforce-apex-test-runner-skill/metadata.json +37 -0
- package/skills/salesforce/salesforce-apex-test-runner-skill/references/cli-commands.md +162 -0
- package/skills/salesforce/salesforce-apex-test-runner-skill/references/coverage-analysis.md +107 -0
- package/skills/salesforce/salesforce-apex-test-runner-skill/references/failure-diagnosis.md +187 -0
- package/skills/salesforce/salesforce-bulk-data-ops-skill/SKILL.md +356 -0
- package/skills/salesforce/salesforce-bulk-data-ops-skill/metadata.json +29 -0
- package/skills/salesforce/salesforce-bulk-data-ops-skill/references/anonymous-apex-patterns.md +380 -0
- package/skills/salesforce/salesforce-bulk-data-ops-skill/references/data-loader-templates.md +209 -0
- package/skills/salesforce/salesforce-bulk-data-ops-skill/references/rollback-strategy.md +209 -0
- package/skills/salesforce/salesforce-deployment-validator-skill/SKILL.md +380 -0
- package/skills/salesforce/salesforce-deployment-validator-skill/metadata.json +37 -0
- package/skills/salesforce/salesforce-deployment-validator-skill/references/cli-commands.md +264 -0
- package/skills/salesforce/salesforce-deployment-validator-skill/references/production-refusal-rules.md +243 -0
- package/skills/salesforce/salesforce-deployment-validator-skill/references/test-selection-strategy.md +250 -0
- package/skills/salesforce/salesforce-devsecops-pipeline-skill/SKILL.md +195 -0
- package/skills/salesforce/salesforce-devsecops-pipeline-skill/metadata.json +19 -0
- package/skills/salesforce/salesforce-devsecops-pipeline-skill/references/change-impact-categories.md +216 -0
- package/skills/salesforce/salesforce-devsecops-pipeline-skill/references/sandbox-masking-strategy.md +193 -0
- package/skills/salesforce/salesforce-devsecops-pipeline-skill/references/sca-rule-catalog.md +226 -0
- package/skills/salesforce/salesforce-field-mapping-skill/SKILL.md +348 -0
- package/skills/salesforce/salesforce-field-mapping-skill/metadata.json +29 -0
- package/skills/salesforce/salesforce-field-mapping-skill/references/api-name-normalization.md +141 -0
- package/skills/salesforce/salesforce-field-mapping-skill/references/picklist-value-mapping.md +245 -0
- package/skills/salesforce/salesforce-field-mapping-skill/references/type-mismatch-detection.md +187 -0
- package/skills/salesforce/salesforce-flow-automation-review-skill/SKILL.md +163 -0
- package/skills/salesforce/salesforce-flow-automation-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-flow-automation-review-skill/references/automation-conflict-matrix.md +193 -0
- package/skills/salesforce/salesforce-flow-automation-review-skill/references/fault-path-design.md +189 -0
- package/skills/salesforce/salesforce-flow-automation-review-skill/references/flow-anti-patterns.md +211 -0
- package/skills/salesforce/salesforce-flow-debugger-skill/SKILL.md +355 -0
- package/skills/salesforce/salesforce-flow-debugger-skill/metadata.json +35 -0
- package/skills/salesforce/salesforce-flow-debugger-skill/references/fault-path-design.md +175 -0
- package/skills/salesforce/salesforce-flow-debugger-skill/references/flow-error-patterns.md +247 -0
- package/skills/salesforce/salesforce-flow-debugger-skill/references/interview-log-redaction.md +171 -0
- package/skills/salesforce/salesforce-infrastructure-audit-skill/SKILL.md +137 -0
- package/skills/salesforce/salesforce-infrastructure-audit-skill/metadata.json +19 -0
- package/skills/salesforce/salesforce-infrastructure-audit-skill/references/hyperforce-deployment-controls.md +181 -0
- package/skills/salesforce/salesforce-infrastructure-audit-skill/references/network-policy-reference.md +200 -0
- package/skills/salesforce/salesforce-infrastructure-audit-skill/references/session-policy-reference.md +219 -0
- package/skills/salesforce/salesforce-integration-review-skill/SKILL.md +186 -0
- package/skills/salesforce/salesforce-integration-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-integration-review-skill/references/integration-anti-patterns.md +280 -0
- package/skills/salesforce/salesforce-integration-review-skill/references/integration-pattern-reference.md +239 -0
- package/skills/salesforce/salesforce-integration-review-skill/references/named-credential-design.md +211 -0
- package/skills/salesforce/salesforce-marketing-consent-review-skill/SKILL.md +204 -0
- package/skills/salesforce/salesforce-marketing-consent-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-marketing-consent-review-skill/references/consent-anti-patterns.md +247 -0
- package/skills/salesforce/salesforce-marketing-consent-review-skill/references/consent-model-reference.md +205 -0
- package/skills/salesforce/salesforce-marketing-consent-review-skill/references/regulatory-mapping.md +192 -0
- package/skills/salesforce/salesforce-metadata-fetcher-skill/SKILL.md +418 -0
- package/skills/salesforce/salesforce-metadata-fetcher-skill/metadata.json +50 -0
- package/skills/salesforce/salesforce-metadata-fetcher-skill/references/cli-commands.md +347 -0
- package/skills/salesforce/salesforce-metadata-fetcher-skill/references/delegation-routing.md +416 -0
- package/skills/salesforce/salesforce-metadata-fetcher-skill/references/sanitization-rules.md +392 -0
- package/skills/salesforce/salesforce-metadata-review-skill/SKILL.md +148 -0
- package/skills/salesforce/salesforce-metadata-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-metadata-review-skill/references/deprecated-metadata.md +217 -0
- package/skills/salesforce/salesforce-metadata-review-skill/references/field-hygiene-rules.md +182 -0
- package/skills/salesforce/salesforce-metadata-review-skill/references/object-design-patterns.md +187 -0
- package/skills/salesforce/salesforce-org-assessment-skill/SKILL.md +137 -0
- package/skills/salesforce/salesforce-org-assessment-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-org-assessment-skill/references/assessment-rubric.md +228 -0
- package/skills/salesforce/salesforce-org-assessment-skill/references/risk-register-template.md +211 -0
- package/skills/salesforce/salesforce-org-assessment-skill/references/tech-debt-indicators.md +252 -0
- package/skills/salesforce/salesforce-permission-model-review-skill/SKILL.md +165 -0
- package/skills/salesforce/salesforce-permission-model-review-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-permission-model-review-skill/references/fls-review-patterns.md +235 -0
- package/skills/salesforce/salesforce-permission-model-review-skill/references/permission-set-strategy.md +203 -0
- package/skills/salesforce/salesforce-permission-model-review-skill/references/toxic-combinations.md +228 -0
- package/skills/salesforce/salesforce-release-readiness-skill/SKILL.md +185 -0
- package/skills/salesforce/salesforce-release-readiness-skill/metadata.json +18 -0
- package/skills/salesforce/salesforce-release-readiness-skill/references/release-checklist.md +191 -0
- package/skills/salesforce/salesforce-release-readiness-skill/references/rollback-strategy.md +234 -0
- package/skills/salesforce/salesforce-release-readiness-skill/references/test-coverage-strategy.md +314 -0
- package/skills/salesforce/salesforce-soql-explorer-skill/SKILL.md +391 -0
- package/skills/salesforce/salesforce-soql-explorer-skill/metadata.json +35 -0
- package/skills/salesforce/salesforce-soql-explorer-skill/references/cli-commands.md +266 -0
- package/skills/salesforce/salesforce-soql-explorer-skill/references/least-privilege-scope.md +224 -0
- package/skills/salesforce/salesforce-soql-explorer-skill/references/safe-query-patterns.md +317 -0
- package/skills/salesforce/salesforce-soql-generator-skill/SKILL.md +305 -0
- package/skills/salesforce/salesforce-soql-generator-skill/metadata.json +25 -0
- package/skills/salesforce/salesforce-soql-generator-skill/references/common-patterns.md +293 -0
- package/skills/salesforce/salesforce-soql-generator-skill/references/governor-limits.md +171 -0
- package/skills/salesforce/salesforce-soql-generator-skill/references/soql-syntax-quickref.md +255 -0
- package/skills/salesforce/salesforce-validation-rule-writer-skill/SKILL.md +329 -0
- package/skills/salesforce/salesforce-validation-rule-writer-skill/metadata.json +28 -0
- package/skills/salesforce/salesforce-validation-rule-writer-skill/references/error-message-style.md +132 -0
- package/skills/salesforce/salesforce-validation-rule-writer-skill/references/formula-syntax-quickref.md +182 -0
- package/skills/salesforce/salesforce-validation-rule-writer-skill/references/validation-patterns.md +214 -0
- package/skills/salesforce/salesforce-zero-trust-maturity-skill/SKILL.md +164 -0
- package/skills/salesforce/salesforce-zero-trust-maturity-skill/metadata.json +19 -0
- package/skills/salesforce/salesforce-zero-trust-maturity-skill/references/continuous-verification-patterns.md +209 -0
- package/skills/salesforce/salesforce-zero-trust-maturity-skill/references/maturity-scoring-rubric.md +179 -0
- package/skills/salesforce/salesforce-zero-trust-maturity-skill/references/nist-zta-pillars.md +194 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/001-happy-platform-admin-review.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/002-happy-business-analyst.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/003-happy-app-builder-automation.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/004-happy-development.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/005-happy-devops-release.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/006-happy-security-identity-access.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/007-happy-data-architecture.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/008-happy-integration-mulesoft.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/009-happy-sales-cloud-revenue.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/010-happy-marketing-cloud.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/011-happy-agentforce-ai.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/012-happy-analytics-tableau.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/013-happy-compliance-privacy.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/014-happy-network-policy-architect.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/015-happy-hyperforce-security.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/016-happy-sandbox-isolation.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/017-happy-session-governance.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/018-happy-continuous-verification.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/019-happy-certificate-lifecycle.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/020-happy-adaptive-access.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/021-happy-code-analyzer-orchestrator.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/022-happy-sandbox-governance.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/023-happy-change-impact-analyst.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-liveguard-01-live-org-deploy-guard.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-liveguard-02-live-mass-delete-guard.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-liveguard-03-live-release-to-prod-guard.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/001-happy-platform-admin-review.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/002-happy-business-analyst.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/003-happy-app-builder-automation.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/004-happy-development.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/005-happy-devops-release.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/006-happy-security-identity-access.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/007-happy-data-architecture.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/008-happy-integration-mulesoft.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/009-happy-sales-cloud-revenue.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/010-happy-marketing-cloud.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/011-happy-agentforce-ai.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/012-happy-analytics-tableau.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/013-happy-compliance-privacy.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/014-happy-network-policy-architect.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/015-happy-hyperforce-security.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/016-happy-sandbox-isolation.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/017-happy-session-governance.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/018-happy-continuous-verification.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/019-happy-certificate-lifecycle.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/020-happy-adaptive-access.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/021-happy-code-analyzer-orchestrator.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/022-happy-sandbox-governance.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/023-happy-change-impact-analyst.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-liveguard-01-live-org-deploy-guard.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-liveguard-02-live-mass-delete-guard.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-liveguard-03-live-release-to-prod-guard.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/salesforce-maestro-routing/taxonomy.json +371 -0
- package/tests/test-codex-plugin-marketplace-install.test.mjs +132 -0
- package/tests/test-vfa-export-coverage.test.mjs +116 -4
- package/tests/validate-catalog.py +12 -1
- package/tests/validate-codex-marketplace.py +23 -1
- package/tests/validate-plugin-manifest.py +11 -1
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Automation Conflict Matrix Reference
|
|
2
|
+
|
|
3
|
+
Reference for understanding precedence, conflict scenarios, and interaction
|
|
4
|
+
patterns between Salesforce automation layers.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Execution Order (Single Record Save)
|
|
9
|
+
|
|
10
|
+
The following is the standard Salesforce record save execution order:
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
1. Load the original record from database (or initialize for new record)
|
|
14
|
+
2. Load new field values from the incoming request
|
|
15
|
+
3. Execute all Before-Save record-triggered Flows
|
|
16
|
+
4. Execute all Before Apex Triggers
|
|
17
|
+
5. Run system validations (page layouts, required fields, field formats)
|
|
18
|
+
6. Save to database (not yet committed)
|
|
19
|
+
7. Execute all After Apex Triggers
|
|
20
|
+
8. Execute Assignment Rules (Leads and Cases)
|
|
21
|
+
9. Execute Auto-Response Rules (Leads and Cases)
|
|
22
|
+
10. Execute Workflow Rules (LEGACY - end-of-life scheduled)
|
|
23
|
+
- Field updates from workflow rules re-execute before/after triggers
|
|
24
|
+
11. Execute processes (Process Builder - LEGACY - end-of-life scheduled)
|
|
25
|
+
12. Execute all After-Save record-triggered Flows
|
|
26
|
+
13. Execute Escalation Rules
|
|
27
|
+
14. Execute Entitlement Rules
|
|
28
|
+
15. Commit to database
|
|
29
|
+
16. Execute post-commit logic (emails, outbound messages, async actions)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Workflow rule field updates cause triggers to re-fire (step 4-7 repeat). This
|
|
33
|
+
is a well-known source of unexpected behavior and is one reason Salesforce is
|
|
34
|
+
retiring Workflow Rules.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Layer Comparison Matrix
|
|
39
|
+
|
|
40
|
+
| Capability | Apex Trigger | Before-Save Flow | After-Save Flow | Workflow Rule | Process Builder |
|
|
41
|
+
|------------|-------------|-----------------|----------------|--------------|----------------|
|
|
42
|
+
| Before-save field update | Yes | Yes | No | Yes (re-fires trigger) | No |
|
|
43
|
+
| After-save actions | Yes | No | Yes | Yes | Yes |
|
|
44
|
+
| Create child records | Yes | No | Yes | No | Yes |
|
|
45
|
+
| Cross-object update | Yes | No | Yes (via subflow) | Yes (1 hop) | Yes |
|
|
46
|
+
| Callouts | Yes (future) | No | No (unless async) | No | No |
|
|
47
|
+
| Complex logic (branching) | Yes | Yes | Yes | Limited | Yes (limited) |
|
|
48
|
+
| Recursion guard available | Yes (static var) | Conditional | Conditional | No | No |
|
|
49
|
+
| Governor limit shared | Yes | Yes | Yes | Yes | Yes |
|
|
50
|
+
| Testable in unit tests | Yes | Via mock | Via mock | Limited | Limited |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Conflict Scenario Reference
|
|
55
|
+
|
|
56
|
+
### Scenario 1: Before-Save Flow vs Before Apex Trigger field conflict
|
|
57
|
+
|
|
58
|
+
When both a Before-Save Flow and a Before Apex Trigger update the same field,
|
|
59
|
+
the trigger executes AFTER the flow. The trigger's value wins.
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Before-Save Flow: sets Account.Rating = 'Warm'
|
|
63
|
+
Before Apex Trigger: sets Account.Rating = 'Hot'
|
|
64
|
+
|
|
65
|
+
Result in database: Account.Rating = 'Hot'
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Resolution: Decide which layer owns each field. Document ownership in metadata
|
|
69
|
+
comments. If the trigger's value should not override the flow, move field
|
|
70
|
+
assignment exclusively to the flow or guard the trigger logic with a field-change check.
|
|
71
|
+
|
|
72
|
+
### Scenario 2: Workflow Field Update triggers re-fire of Apex Trigger
|
|
73
|
+
|
|
74
|
+
Workflow Rules with field updates cause the entire before/after trigger cycle
|
|
75
|
+
to re-execute. This is the primary reason to migrate Workflow Rules to Flows.
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
Apex Trigger fires on Account update
|
|
79
|
+
-> sends Platform Event (counted as one callout)
|
|
80
|
+
Workflow Rule field update re-fires trigger
|
|
81
|
+
-> attempts to send Platform Event again
|
|
82
|
+
-> if trigger lacks recursion guard, second Platform Event fires
|
|
83
|
+
-> governor limit on callouts approaches
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Resolution: Add recursion guard to trigger (see apex-anti-patterns.md). Or
|
|
87
|
+
migrate workflow field updates to Before-Save Flows to eliminate re-fire.
|
|
88
|
+
|
|
89
|
+
### Scenario 3: Two After-Save Flows update the same field
|
|
90
|
+
|
|
91
|
+
Multiple After-Save Flows on the same object and trigger condition will both
|
|
92
|
+
execute. If both update the same field, the last one to execute wins.
|
|
93
|
+
|
|
94
|
+
Execution order between multiple flows is not guaranteed and may change between
|
|
95
|
+
releases. Do not rely on specific ordering.
|
|
96
|
+
|
|
97
|
+
Resolution: Consolidate flows that modify the same field into one flow with
|
|
98
|
+
Decision elements to handle the branching logic.
|
|
99
|
+
|
|
100
|
+
### Scenario 4: Flow creates a record, Apex Trigger fires on creation
|
|
101
|
+
|
|
102
|
+
An After-Save Flow on Contact creates a related Task. The Task creation fires
|
|
103
|
+
the Task Apex Trigger. If the Task trigger updates the Contact, it can create
|
|
104
|
+
a loop.
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Contact saved
|
|
108
|
+
-> Contact After-Save Flow: Create Task
|
|
109
|
+
-> Task Apex Trigger fires: updates Contact (sets ContactTaskCount__c++)
|
|
110
|
+
-> Contact After-Save Flow fires again: creates another Task...
|
|
111
|
+
RECURSION
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Resolution:
|
|
115
|
+
- Add a trigger condition to the Contact flow: only fire if the triggering
|
|
116
|
+
field (not ContactTaskCount__c) changed.
|
|
117
|
+
- Add a recursion guard in the Task trigger handler.
|
|
118
|
+
|
|
119
|
+
### Scenario 5: Validation Rule vs Before-Save Flow ordering
|
|
120
|
+
|
|
121
|
+
Validation Rules execute after Before-Save Flows but before database commit.
|
|
122
|
+
If a Before-Save Flow sets a field value that a Validation Rule then checks,
|
|
123
|
+
the updated value is visible to the Validation Rule.
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
Before-Save Flow: sets Status__c = 'Closed'
|
|
127
|
+
Validation Rule: ERROR IF Status__c = 'Closed' AND CloseDate__c = null
|
|
128
|
+
-> Will fire and block save if CloseDate__c is null
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
This interaction is intentional and correct behavior. Document it in the
|
|
132
|
+
Validation Rule's description.
|
|
133
|
+
|
|
134
|
+
### Scenario 6: Assignment Rules vs After-Save Flow ownership
|
|
135
|
+
|
|
136
|
+
Case Assignment Rules run before After-Save Flows. If an After-Save Flow also
|
|
137
|
+
sets the OwnerId of a Case, the flow's OwnerId will overwrite the assignment
|
|
138
|
+
rule's OwnerId.
|
|
139
|
+
|
|
140
|
+
Resolution: Choose one authoritative ownership assignment mechanism. If
|
|
141
|
+
assignment rules are the authority, the flow must not touch OwnerId.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Detecting Automation Conflicts
|
|
146
|
+
|
|
147
|
+
### CLI: List active automations on an object
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# List all active Flows on Account
|
|
151
|
+
sf data query \
|
|
152
|
+
--query "SELECT Label, ApiName, Status, TriggerType \
|
|
153
|
+
FROM FlowDefinition \
|
|
154
|
+
WHERE TriggerType IN ('RecordBeforeSave','RecordAfterSave') \
|
|
155
|
+
AND Status = 'Active'" \
|
|
156
|
+
--use-tooling-api \
|
|
157
|
+
-o my-org
|
|
158
|
+
|
|
159
|
+
# List active Apex Triggers on Account
|
|
160
|
+
sf data query \
|
|
161
|
+
--query "SELECT Name, Status, TableEnumOrId \
|
|
162
|
+
FROM ApexTrigger \
|
|
163
|
+
WHERE TableEnumOrId = 'Account' AND Status = 'Active'" \
|
|
164
|
+
--use-tooling-api \
|
|
165
|
+
-o my-org
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Conflict Analysis Checklist
|
|
169
|
+
|
|
170
|
+
- [ ] Identify all active automations (flows, triggers, workflow rules, processes)
|
|
171
|
+
on the object being modified.
|
|
172
|
+
- [ ] Map which fields each automation reads and writes.
|
|
173
|
+
- [ ] Flag any field written by more than one automation layer (potential conflict).
|
|
174
|
+
- [ ] Identify any cross-object updates that could trigger secondary automations
|
|
175
|
+
on related objects.
|
|
176
|
+
- [ ] Verify recursion guards exist for any automation that updates the same
|
|
177
|
+
object or a related object that feeds back.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Migration Status Reference
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
| Legacy Technology | Replacement | Salesforce Guidance |
|
|
185
|
+
|-------------------|------------|---------------------|
|
|
186
|
+
| Workflow Rules | Record-Triggered Flow | Retire by migration |
|
|
187
|
+
| Process Builder | Record-Triggered Flow | Retire by migration |
|
|
188
|
+
| Workflow Outbound Messages | Platform Events / Flow HTTP Callout | Migrate proactively |
|
|
189
|
+
| Approval Processes | Approval Processes (retained) | No migration needed |
|
|
190
|
+
|
|
191
|
+
Salesforce has announced retirement of Workflow Rules and Process Builder.
|
|
192
|
+
Check the official retirement timeline before using these in new development
|
|
193
|
+
or when assessing risk in existing orgs.
|
package/skills/salesforce/salesforce-flow-automation-review-skill/references/fault-path-design.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Fault Path Design Reference
|
|
2
|
+
|
|
3
|
+
Patterns for handling errors in Salesforce Flows with resilient fault paths,
|
|
4
|
+
escalation logic, and retry strategies.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Why Fault Paths Are Required
|
|
9
|
+
|
|
10
|
+
Every Flow element that can fail — Create/Update/Delete Records, Apex Actions,
|
|
11
|
+
HTTP Callout Actions, Send Email elements — has a Fault connector in Flow
|
|
12
|
+
Builder. If no Fault connector is attached, an unhandled fault terminates the
|
|
13
|
+
flow with a generic error page and an email to the running user's org
|
|
14
|
+
admin. No audit record is created.
|
|
15
|
+
|
|
16
|
+
Required fault paths on:
|
|
17
|
+
- All DML elements (Create, Update, Delete, Upsert Records)
|
|
18
|
+
- All Apex Action elements
|
|
19
|
+
- All HTTP Callout actions (Salesforce Flow with External Services / MuleSoft)
|
|
20
|
+
- Send Email / Send Custom Notification
|
|
21
|
+
- Subflow elements
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Fault Path Levels
|
|
26
|
+
|
|
27
|
+
### Level 1: Minimum Viable Fault Path
|
|
28
|
+
|
|
29
|
+
Log the error, show a user-friendly message, do not leave the user on a broken screen.
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
DML Element: Create Records (Case)
|
|
33
|
+
Fault Connector ->
|
|
34
|
+
Assignment: errorMessage = {!$Flow.FaultMessage}
|
|
35
|
+
Screen: "We couldn't complete your request. Please contact support."
|
|
36
|
+
(show errorMessage in a non-technical format)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Level 2: Fault Logging to Custom Object
|
|
40
|
+
|
|
41
|
+
Persist fault details for later diagnosis without developer log access.
|
|
42
|
+
|
|
43
|
+
```apex
|
|
44
|
+
// Custom object: FlowErrorLog__c
|
|
45
|
+
// Fields: FlowName__c, FaultMessage__c, RecordId__c, RunningUserId__c, Timestamp__c
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Flow configuration:
|
|
49
|
+
```
|
|
50
|
+
Fault Connector ->
|
|
51
|
+
Assignment: Set variables
|
|
52
|
+
flowErrorName = "Case Creation Flow"
|
|
53
|
+
faultMsg = {!$Flow.FaultMessage}
|
|
54
|
+
faultUserId = {!$User.Id}
|
|
55
|
+
faultTimestamp = {!$Flow.CurrentDateTime}
|
|
56
|
+
Create Records: FlowErrorLog__c
|
|
57
|
+
FlowName__c = {!flowErrorName}
|
|
58
|
+
FaultMessage__c = {!faultMsg}
|
|
59
|
+
RunningUserId__c = {!faultUserId}
|
|
60
|
+
Timestamp__c = {!faultTimestamp}
|
|
61
|
+
Screen: User-friendly error message
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Level 3: Escalation Flow
|
|
65
|
+
|
|
66
|
+
For critical business processes, route the failed transaction to a human queue.
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Fault Connector ->
|
|
70
|
+
Assignment: Set error variables
|
|
71
|
+
Create Records: FlowErrorLog__c (persist fault)
|
|
72
|
+
Create Records: Case
|
|
73
|
+
Subject = "Automation Failure: {!flowErrorName}"
|
|
74
|
+
Description = {!$Flow.FaultMessage}
|
|
75
|
+
OwnerId = [Error_Handling_Queue Id]
|
|
76
|
+
Priority = High
|
|
77
|
+
Send Notification: Alert on-call team via Custom Notification
|
|
78
|
+
Screen: "Your request has been escalated to our support team (Ticket: {!caseNumber})."
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Level 4: Retry Pattern (Platform Event-based)
|
|
82
|
+
|
|
83
|
+
For transient failures (network timeouts, external API 503), retry without
|
|
84
|
+
blocking the user.
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Fault Connector ->
|
|
88
|
+
Decision: Is this a retryable error?
|
|
89
|
+
YES (fault message contains "timeout" or "503") ->
|
|
90
|
+
Create Records: RetryQueue__e (Platform Event)
|
|
91
|
+
FlowName__c = "Case Creation Flow"
|
|
92
|
+
InputData__c = JSON.serialize(inputVariables)
|
|
93
|
+
AttemptNumber__c = {!currentAttempt}
|
|
94
|
+
Screen: "We're processing your request. You'll receive a notification when complete."
|
|
95
|
+
NO ->
|
|
96
|
+
Create Records: FlowErrorLog__c
|
|
97
|
+
Screen: "Unrecoverable error. Please contact support."
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
A Platform Event-triggered flow or Apex subscriber processes the RetryQueue event
|
|
101
|
+
with exponential backoff.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Retry Backoff Strategy
|
|
106
|
+
|
|
107
|
+
```apex
|
|
108
|
+
// Apex implementation of exponential backoff for Flow-invoked callouts
|
|
109
|
+
public class RetryableCalloutHandler implements Queueable, Database.AllowsCallouts {
|
|
110
|
+
private Integer attemptNumber;
|
|
111
|
+
private String payload;
|
|
112
|
+
private String endpoint;
|
|
113
|
+
private Integer maxAttempts = 5;
|
|
114
|
+
|
|
115
|
+
public void execute(QueueableContext ctx) {
|
|
116
|
+
try {
|
|
117
|
+
HttpRequest req = new HttpRequest;
|
|
118
|
+
req.setEndpoint(endpoint);
|
|
119
|
+
req.setMethod('POST');
|
|
120
|
+
req.setBody(payload);
|
|
121
|
+
req.setTimeout(30000);
|
|
122
|
+
HttpResponse res = new Http.send(req);
|
|
123
|
+
|
|
124
|
+
if (res.getStatusCode >= 500) {
|
|
125
|
+
throw new CalloutException('Server error: ' + res.getStatusCode);
|
|
126
|
+
}
|
|
127
|
+
// Success: process response
|
|
128
|
+
} catch (Exception e) {
|
|
129
|
+
attemptNumber++;
|
|
130
|
+
if (attemptNumber < maxAttempts) {
|
|
131
|
+
// Backoff: 2^attemptNumber * 1000ms (via Platform Event delay)
|
|
132
|
+
// Enqueue next retry (Queueable cannot sleep, use Scheduled Apex or PE)
|
|
133
|
+
System.enqueueJob(new RetryableCalloutHandler(
|
|
134
|
+
attemptNumber, payload, endpoint, maxAttempts
|
|
135
|
+
));
|
|
136
|
+
} else {
|
|
137
|
+
// Max retries reached - log and alert
|
|
138
|
+
insert new FlowErrorLog__c(
|
|
139
|
+
FlowName__c = 'RetryableCallout',
|
|
140
|
+
FaultMessage__c = 'Max retries reached: ' + e.getMessage,
|
|
141
|
+
Timestamp__c = DateTime.now
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Backoff schedule:
|
|
150
|
+
| Attempt | Wait Before Retry |
|
|
151
|
+
|---------|------------------|
|
|
152
|
+
| 1 | 2 seconds |
|
|
153
|
+
| 2 | 4 seconds |
|
|
154
|
+
| 3 | 8 seconds |
|
|
155
|
+
| 4 | 16 seconds |
|
|
156
|
+
| 5 | Fail permanently |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Fault Message Parsing
|
|
161
|
+
|
|
162
|
+
`{!$Flow.FaultMessage}` contains the Salesforce error string. Parse common
|
|
163
|
+
patterns to determine error category:
|
|
164
|
+
|
|
165
|
+
| Fault Message Pattern | Category | Recommended Action |
|
|
166
|
+
|----------------------|----------|-------------------|
|
|
167
|
+
| `UNABLE_TO_LOCK_ROW` | Database lock contention | Retry after backoff |
|
|
168
|
+
| `FIELD_CUSTOM_VALIDATION_EXCEPTION` | Validation rule fired | Do not retry; show validation message to user |
|
|
169
|
+
| `INSUFFICIENT_ACCESS` | Sharing/FLS violation | Do not retry; escalate to admin |
|
|
170
|
+
| `DUPLICATE_VALUE` | Duplicate rule fired | Do not retry; show duplicate management UI |
|
|
171
|
+
| `REQUEST_RUNNING_TOO_LONG` | CPU timeout | Break into smaller batches |
|
|
172
|
+
| `System.CalloutException` | Network issue | Retry with backoff |
|
|
173
|
+
| `FIELD_INTEGRITY_EXCEPTION` | Foreign key violation | Check lookup target exists |
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Fault Path Design Checklist
|
|
178
|
+
|
|
179
|
+
- [ ] Every DML element has a Fault connector.
|
|
180
|
+
- [ ] Every Apex Action element has a Fault connector.
|
|
181
|
+
- [ ] Every External Service / HTTP Callout element has a Fault connector.
|
|
182
|
+
- [ ] Fault paths log `{!$Flow.FaultMessage}` to a persistent store (not just `System.debug`).
|
|
183
|
+
- [ ] Fault paths for screen flows show a user-friendly message (not raw error text).
|
|
184
|
+
- [ ] Fault paths for autolaunched flows create an error log record and/or send
|
|
185
|
+
a notification to an operations team.
|
|
186
|
+
- [ ] Critical process fault paths create a support case or alert ticket.
|
|
187
|
+
- [ ] Transient error types trigger a retry mechanism; permanent errors are logged.
|
|
188
|
+
- [ ] Fault handling does not itself perform DML that could fail (double-fault
|
|
189
|
+
scenario creates silent failure).
|
package/skills/salesforce/salesforce-flow-automation-review-skill/references/flow-anti-patterns.md
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Flow Anti-Patterns Reference
|
|
2
|
+
|
|
3
|
+
Common mistakes in Salesforce Flow
|
|
4
|
+
configurations that cause
|
|
5
|
+
performance failures, infinite recursion, data integrity issues, or
|
|
6
|
+
unhandled errors.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. DML in a Loop Element
|
|
11
|
+
|
|
12
|
+
### Description
|
|
13
|
+
Using a "Create Records", "Update Records", or "Delete Records" element inside
|
|
14
|
+
a Loop element causes one DML operation per iteration — equivalent to DML in an
|
|
15
|
+
Apex loop.
|
|
16
|
+
|
|
17
|
+
### Why It Fails
|
|
18
|
+
Flows share Apex governor limits when invoked from a trigger context. A loop
|
|
19
|
+
over 200 records with an Update Records inside exceeds the DML statement limit.
|
|
20
|
+
|
|
21
|
+
### Detection
|
|
22
|
+
In Flow Builder: navigate to each Loop element and inspect elements inside the
|
|
23
|
+
loop body. Any Create/Update/Delete Records element is a finding.
|
|
24
|
+
|
|
25
|
+
### Correct Pattern
|
|
26
|
+
|
|
27
|
+
Move DML outside the loop:
|
|
28
|
+
1. Inside the loop, use an Assignment element to build a collection variable
|
|
29
|
+
(`recordCollection`).
|
|
30
|
+
2. After the loop ends, use a single Update Records / Create Records element
|
|
31
|
+
operating on the full collection.
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Loop (iterate over accountList)
|
|
35
|
+
-> Assignment: add account to toUpdateCollection (use "Add" operation)
|
|
36
|
+
End Loop
|
|
37
|
+
-> Update Records: Source = toUpdateCollection (one DML statement for all)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 2. Missing Fault Paths
|
|
43
|
+
|
|
44
|
+
### Description
|
|
45
|
+
A Flow with callout actions, DML actions, or Apex actions has no Fault connector
|
|
46
|
+
from those elements. If the action fails, the flow terminates with an unhandled
|
|
47
|
+
fault — often surfaced to the user as a generic error page.
|
|
48
|
+
|
|
49
|
+
### Why It Matters
|
|
50
|
+
Silent failures in critical business processes (case creation, order submission)
|
|
51
|
+
create data integrity gaps that are hard to diagnose.
|
|
52
|
+
|
|
53
|
+
### Detection
|
|
54
|
+
In Flow Builder: click each Action, Create Records, Update Records, or Delete
|
|
55
|
+
Records element. Look for a red Fault connector (anchor at bottom of element).
|
|
56
|
+
If no Fault connector exists, that element has no fault handling.
|
|
57
|
+
|
|
58
|
+
### Correct Pattern
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Create Records: Case
|
|
62
|
+
Success path -> next element
|
|
63
|
+
Fault path -> Fault Connector
|
|
64
|
+
-> Assignment: set errorMessage = {!$Flow.FaultMessage}
|
|
65
|
+
-> Create Records: Log Error (CustomErrorLog__c object)
|
|
66
|
+
-> Screen (or Subflow): "Something went wrong. Your request ID: {!caseId}"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Minimum viable fault handling:
|
|
70
|
+
- Log the fault message to a custom error log object.
|
|
71
|
+
- Show a user-friendly message rather than a raw error.
|
|
72
|
+
- For autolaunched flows triggered from Apex: throw a re-throw-able exception
|
|
73
|
+
so the Apex caller can handle it.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 3. Infinite Recursion
|
|
78
|
+
|
|
79
|
+
### Description
|
|
80
|
+
A record-triggered flow updates the same record it was triggered on (or updates
|
|
81
|
+
a related record that triggers another flow that updates the original record),
|
|
82
|
+
creating a loop until Salesforce detects recursion and throws an error.
|
|
83
|
+
|
|
84
|
+
### Why It Happens
|
|
85
|
+
Flows triggered on Account > After Save that update an Account field will
|
|
86
|
+
re-trigger the same flow. Without a guard condition, this recurses.
|
|
87
|
+
|
|
88
|
+
### Detection
|
|
89
|
+
For each record-triggered flow:
|
|
90
|
+
1. Check the trigger object.
|
|
91
|
+
2. Check all Update Records or Create Records elements.
|
|
92
|
+
3. If any element updates a record of the same object type as the trigger, check
|
|
93
|
+
whether the update will re-satisfy the trigger condition.
|
|
94
|
+
|
|
95
|
+
### Correct Patterns
|
|
96
|
+
|
|
97
|
+
**Pattern A: Entry condition guards**
|
|
98
|
+
Add a trigger condition that only fires when the relevant field has actually changed:
|
|
99
|
+
```
|
|
100
|
+
Trigger Conditions:
|
|
101
|
+
Field: Status__c Operator: Is Changed Value: True
|
|
102
|
+
(only runs when Status__c changes, not on every save)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Pattern B: Timestamp / flag field guard**
|
|
106
|
+
```
|
|
107
|
+
Update Records: Account
|
|
108
|
+
Set LastFlowProcessed__c = {!$Flow.CurrentDateTime}
|
|
109
|
+
|
|
110
|
+
Entry Condition:
|
|
111
|
+
LastFlowProcessed__c < {!$Flow.CurrentDateTime} - 60 seconds
|
|
112
|
+
(skip if flow already ran in the last minute for this record)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Pattern C: Apex-managed recursion guard**
|
|
116
|
+
If flow invokes Apex, use a static boolean in the handler class (see Apex
|
|
117
|
+
recursion guard pattern in apex-anti-patterns.md).
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 4. System Context vs User Context Confusion
|
|
122
|
+
|
|
123
|
+
### Description
|
|
124
|
+
Autolaunched Flows and Before-Save Flows run in System Context by default —
|
|
125
|
+
they bypass sharing rules and FLS. This can expose records to flows that should
|
|
126
|
+
not be able to see or modify them.
|
|
127
|
+
|
|
128
|
+
### Execution Context Quick Reference
|
|
129
|
+
|
|
130
|
+
| Flow Type | Default Context | Override Available |
|
|
131
|
+
|-----------|---------------|-------------------|
|
|
132
|
+
| Autolaunched Flow (no trigger) | System w/ Sharing OFF | Set "Run as" to System with Sharing or User |
|
|
133
|
+
| Record-Triggered Flow (Before Save) | System w/ Sharing | Cannot change |
|
|
134
|
+
| Record-Triggered Flow (After Save) | System w/ Sharing | Cannot change |
|
|
135
|
+
| Screen Flow (launched by user) | User Context | Can switch to System |
|
|
136
|
+
| Scheduled-Triggered Flow | System w/ Sharing OFF | Cannot change |
|
|
137
|
+
| Platform Event-Triggered Flow | System w/ Sharing OFF | Cannot change |
|
|
138
|
+
|
|
139
|
+
"Run as" context options may vary by API version and
|
|
140
|
+
Salesforce release.
|
|
141
|
+
|
|
142
|
+
### Risk Scenarios
|
|
143
|
+
|
|
144
|
+
1. Autolaunched Flow queries ALL records of an object regardless of sharing, then
|
|
145
|
+
exposes results in a screen or action — data over-exposure.
|
|
146
|
+
2. Before-Save Flow updates a field on a restricted object without checking
|
|
147
|
+
whether the running user should have edit access — implicit privilege escalation.
|
|
148
|
+
|
|
149
|
+
### Remediation
|
|
150
|
+
- For autolaunched flows that handle user data, set the Run As context to
|
|
151
|
+
"System Context With Sharing" or invoke from Apex using `with sharing`.
|
|
152
|
+
- For flows that must run in system context, document the business justification
|
|
153
|
+
and restrict the flow's invocation to trusted Apex classes only.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 5. Unguarded Get Records (No Result Check)
|
|
158
|
+
|
|
159
|
+
### Description
|
|
160
|
+
A Get Records element queries for a record but has no Decision element to
|
|
161
|
+
check whether the record was found before using its fields downstream. If the
|
|
162
|
+
record does not exist, downstream elements that reference `{!GetRecord}` will
|
|
163
|
+
use null values, causing unexpected behavior or errors.
|
|
164
|
+
|
|
165
|
+
### Correct Pattern
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
Get Records: Account (WHERE Id = {!recordId})
|
|
169
|
+
-> Decision: Did We Find Account?
|
|
170
|
+
YES (Is Null check: {!GetAccount} Is Null = False) -> proceed with account fields
|
|
171
|
+
NO (otherwise) -> Screen: "Account not found" or Fault logging path
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 6. Hard-Coded API Names
|
|
177
|
+
|
|
178
|
+
### Description
|
|
179
|
+
Flow elements reference picklist values, queue names, or record type API names
|
|
180
|
+
as hard-coded string literals. When these values change in production, the flow
|
|
181
|
+
breaks silently.
|
|
182
|
+
|
|
183
|
+
### Detection
|
|
184
|
+
Search Flow XML for string literals in Assignment/Decision elements:
|
|
185
|
+
```bash
|
|
186
|
+
grep -rn "Status = 'Active'" force-app/main/default/flows/*.flow-meta.xml
|
|
187
|
+
grep -rn "Queue\.Name" force-app/main/default/flows/*.flow-meta.xml
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Correct Approach
|
|
191
|
+
- Use Picklist field values via `{!$GlobalConstant.EmptyString}` or via Get
|
|
192
|
+
Records to dynamically resolve names.
|
|
193
|
+
- Reference Queue IDs dynamically via Get Records on Group object:
|
|
194
|
+
```
|
|
195
|
+
Get Records: Group WHERE Name = 'Support Queue' AND Type = Queue
|
|
196
|
+
-> use {!GetQueue.Id} as OwnerId
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Flow Anti-Pattern Summary
|
|
202
|
+
|
|
203
|
+
| Anti-Pattern | Impact | PMD/Equivalent Rule |
|
|
204
|
+
|-------------|--------|---------------------|
|
|
205
|
+
| DML in loop | Governor limit failure | `FlowDmlInLoop` |
|
|
206
|
+
| Missing fault path | Silent failures | `FlowMissingFaultPath` |
|
|
207
|
+
| Infinite recursion | Recursion error | Manual review + entry conditions |
|
|
208
|
+
| System context over-exposure | Data security | Architecture review |
|
|
209
|
+
| Unguarded Get Records | Null field errors | `FlowUnusedVariable` (indirect) |
|
|
210
|
+
| Hard-coded API names | Brittleness | Code review checklist |
|
|
211
|
+
| Unactivated flow left in prod | Confusion / accidental activation | `FlowInactiveFlow` |
|