@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,293 @@
|
|
|
1
|
+
# Common SOQL Patterns
|
|
2
|
+
|
|
3
|
+
Pre-built patterns for the most frequent admin and RevOps use cases. Copy,
|
|
4
|
+
adapt field names to your org's schema, and verify with
|
|
5
|
+
`salesforce-soql-explorer-skill` before use in automation.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Pipeline by Stage (Sum and Count)
|
|
10
|
+
|
|
11
|
+
Aggregate deal value and count grouped by stage, filtered to open opportunities.
|
|
12
|
+
|
|
13
|
+
```soql
|
|
14
|
+
SELECT StageName,
|
|
15
|
+
COUNT(Id) deal_count,
|
|
16
|
+
SUM(Amount) total_amount,
|
|
17
|
+
AVG(Amount) avg_deal_size
|
|
18
|
+
FROM Opportunity
|
|
19
|
+
WHERE IsClosed = false
|
|
20
|
+
AND ForecastCategoryName != 'Omitted'
|
|
21
|
+
GROUP BY StageName
|
|
22
|
+
ORDER BY MIN(Probability) ASC
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Variant — by owner and stage:**
|
|
26
|
+
|
|
27
|
+
```soql
|
|
28
|
+
SELECT Owner.Name, StageName, COUNT(Id) deal_count, SUM(Amount) total_amount
|
|
29
|
+
FROM Opportunity
|
|
30
|
+
WHERE IsClosed = false
|
|
31
|
+
AND CloseDate >= THIS_QUARTER
|
|
32
|
+
GROUP BY Owner.Name, StageName
|
|
33
|
+
ORDER BY Owner.Name ASC, MIN(Probability) ASC
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Governor notes:** Aggregate query returns one row per group — LIMIT rarely
|
|
37
|
+
needed but add it if GROUP BY cardinality could be very high.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Opportunities Without Next Activity
|
|
42
|
+
|
|
43
|
+
Identify open deals where no future activity is scheduled (common pipeline
|
|
44
|
+
hygiene signal).
|
|
45
|
+
|
|
46
|
+
```soql
|
|
47
|
+
SELECT Id, Name, Owner.Name, StageName, Amount, CloseDate, LastActivityDate
|
|
48
|
+
FROM Opportunity
|
|
49
|
+
WHERE IsClosed = false
|
|
50
|
+
AND CloseDate >= TODAY
|
|
51
|
+
AND Id NOT IN (
|
|
52
|
+
SELECT WhatId FROM Task
|
|
53
|
+
WHERE ActivityDate >= TODAY
|
|
54
|
+
AND Status != 'Completed'
|
|
55
|
+
AND WhatId != null
|
|
56
|
+
)
|
|
57
|
+
ORDER BY CloseDate ASC
|
|
58
|
+
LIMIT 200
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Notes:**
|
|
62
|
+
- The anti-join pattern (`NOT IN` subquery) uses a semi-join against Task.
|
|
63
|
+
- `WhatId` on Task is a polymorphic field — this query only captures Task-based
|
|
64
|
+
activities, not Events. Run a parallel query against `Event.WhatId` if Events
|
|
65
|
+
are tracked separately.
|
|
66
|
+
- Index: `CloseDate` and `IsClosed` are standard indexed fields on Opportunity.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Stale Leads (No Update in N Days)
|
|
71
|
+
|
|
72
|
+
Find leads that have not been modified recently, indicating decay.
|
|
73
|
+
|
|
74
|
+
```soql
|
|
75
|
+
SELECT Id, FirstName, LastName, Email, Company, Status, Owner.Name,
|
|
76
|
+
LastModifiedDate, CreatedDate
|
|
77
|
+
FROM Lead
|
|
78
|
+
WHERE IsConverted = false
|
|
79
|
+
AND LastModifiedDate < LAST_N_DAYS:90
|
|
80
|
+
AND Status NOT IN ('Closed - Not Converted', 'Unqualified')
|
|
81
|
+
ORDER BY LastModifiedDate ASC
|
|
82
|
+
LIMIT 500
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Variant — parameterised threshold (Apex context):**
|
|
86
|
+
|
|
87
|
+
```soql
|
|
88
|
+
SELECT Id, FirstName, LastName, Company, Status, LastModifiedDate
|
|
89
|
+
FROM Lead
|
|
90
|
+
WHERE IsConverted = false
|
|
91
|
+
AND LastModifiedDate < :thresholdDate
|
|
92
|
+
ORDER BY LastModifiedDate ASC
|
|
93
|
+
LIMIT 1000
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Notes:**
|
|
97
|
+
- `LastModifiedDate` is indexed on Lead.
|
|
98
|
+
- Adjust the `LAST_N_DAYS:90` threshold to your org's sales cadence (30/60/90).
|
|
99
|
+
- Exclude statuses that represent legitimate terminal states in your process.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Account Ownership Audit
|
|
104
|
+
|
|
105
|
+
Surface accounts assigned to inactive users or with no recent activity.
|
|
106
|
+
|
|
107
|
+
```soql
|
|
108
|
+
SELECT Id, Name, Owner.Name, Owner.IsActive, Owner.Profile.Name,
|
|
109
|
+
LastModifiedDate, LastActivityDate, Type, BillingCountry
|
|
110
|
+
FROM Account
|
|
111
|
+
WHERE Owner.IsActive = false
|
|
112
|
+
OR LastActivityDate < LAST_N_DAYS:180
|
|
113
|
+
ORDER BY Owner.IsActive ASC, LastActivityDate ASC NULLS FIRST
|
|
114
|
+
LIMIT 500
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Variant — find accounts with no owner (public queue owned):**
|
|
118
|
+
|
|
119
|
+
```soql
|
|
120
|
+
SELECT Id, Name, OwnerId, Owner.Type, LastModifiedDate
|
|
121
|
+
FROM Account
|
|
122
|
+
WHERE Owner.Type = 'Queue'
|
|
123
|
+
AND LastModifiedDate < LAST_N_DAYS:30
|
|
124
|
+
ORDER BY LastModifiedDate ASC
|
|
125
|
+
LIMIT 200
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Notes:**
|
|
129
|
+
- `Owner.IsActive` traverses the User relationship — not indexed, but
|
|
130
|
+
`OwnerId` is. Performance depends on the number of inactive owners.
|
|
131
|
+
- For large orgs, add a `Type` or `RecordType.Name` filter to narrow scope.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Contacts with Bouncing Emails
|
|
136
|
+
|
|
137
|
+
Find contacts flagged as email-invalid or undeliverable (uses EmailBouncedDate
|
|
138
|
+
or a custom field depending on org configuration).
|
|
139
|
+
|
|
140
|
+
```soql
|
|
141
|
+
SELECT Id, FirstName, LastName, Email, EmailBouncedDate, EmailBouncedReason,
|
|
142
|
+
Account.Name, Owner.Name
|
|
143
|
+
FROM Contact
|
|
144
|
+
WHERE EmailBouncedDate != null
|
|
145
|
+
AND HasOptedOutOfEmail = false
|
|
146
|
+
ORDER BY EmailBouncedDate DESC
|
|
147
|
+
LIMIT 500
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Variant — contacts with no email at all:**
|
|
151
|
+
|
|
152
|
+
```soql
|
|
153
|
+
SELECT Id, FirstName, LastName, Account.Name, Owner.Name, CreatedDate
|
|
154
|
+
FROM Contact
|
|
155
|
+
WHERE Email = null
|
|
156
|
+
AND HasOptedOutOfEmail = false
|
|
157
|
+
ORDER BY CreatedDate DESC
|
|
158
|
+
LIMIT 500
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Notes:**
|
|
162
|
+
- `EmailBouncedDate` is a standard field on Contact populated by Salesforce
|
|
163
|
+
email features (not always by third-party ESPs — check your org config).
|
|
164
|
+
- If your org uses Marketing Cloud or Pardot, bounce data may live in a
|
|
165
|
+
custom field or a related object.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Field History Tracking Queries
|
|
170
|
+
|
|
171
|
+
Query the history tracking object for a standard or custom object. The history
|
|
172
|
+
object is named `<SObject>History` (e.g., `OpportunityFieldHistory`,
|
|
173
|
+
`AccountHistory`, `My_Object__History`).
|
|
174
|
+
|
|
175
|
+
**Track when a field changed on Opportunity:**
|
|
176
|
+
|
|
177
|
+
```soql
|
|
178
|
+
SELECT Id, OpportunityId, Field, OldValue, NewValue, CreatedDate, CreatedBy.Name
|
|
179
|
+
FROM OpportunityFieldHistory
|
|
180
|
+
WHERE Field = 'StageName'
|
|
181
|
+
AND CreatedDate = LAST_N_DAYS:30
|
|
182
|
+
ORDER BY CreatedDate DESC
|
|
183
|
+
LIMIT 500
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Track all field changes on a specific record:**
|
|
187
|
+
|
|
188
|
+
```soql
|
|
189
|
+
SELECT Id, Field, OldValue, NewValue, CreatedDate, CreatedBy.Name
|
|
190
|
+
FROM AccountHistory
|
|
191
|
+
WHERE AccountId = '001Xx000001PLACEHOLDER'
|
|
192
|
+
ORDER BY CreatedDate DESC
|
|
193
|
+
LIMIT 200
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Notes:**
|
|
197
|
+
- Field history tracking must be enabled for each field in Setup. Not all
|
|
198
|
+
fields support history tracking.
|
|
199
|
+
- History objects retain data for 18 months in most orgs (configurable with
|
|
200
|
+
add-ons).
|
|
201
|
+
- Replace `'001Xx000001PLACEHOLDER'` with the actual record Id or a bind
|
|
202
|
+
variable.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Junction Object Queries
|
|
207
|
+
|
|
208
|
+
Query a many-to-many relationship via its junction object. Example: Campaign
|
|
209
|
+
Member (junction between Campaign and Lead/Contact).
|
|
210
|
+
|
|
211
|
+
```soql
|
|
212
|
+
SELECT Id, CampaignId, Campaign.Name, LeadId, Lead.FirstName, Lead.LastName,
|
|
213
|
+
Lead.Email, Status, HasResponded, FirstRespondedDate
|
|
214
|
+
FROM CampaignMember
|
|
215
|
+
WHERE CampaignId = '701Xx000001PLACEHOLDER'
|
|
216
|
+
AND Status = 'Responded'
|
|
217
|
+
ORDER BY FirstRespondedDate DESC
|
|
218
|
+
LIMIT 500
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Custom junction object pattern (e.g., Account_Product__c linking Account
|
|
222
|
+
and Product2):**
|
|
223
|
+
|
|
224
|
+
```soql
|
|
225
|
+
SELECT Id, Account__c, Account__r.Name, Product__c, Product__r.Name,
|
|
226
|
+
Quantity__c, Start_Date__c
|
|
227
|
+
FROM Account_Product__c
|
|
228
|
+
WHERE Account__r.Type = 'Customer'
|
|
229
|
+
AND Start_Date__c >= THIS_YEAR
|
|
230
|
+
ORDER BY Account__r.Name ASC
|
|
231
|
+
LIMIT 500
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Notes:**
|
|
235
|
+
- Use `__r` suffix to traverse a custom lookup relationship by API name.
|
|
236
|
+
- For standard relationships use the relationship name (e.g., `Campaign`,
|
|
237
|
+
`Lead`), not a `__r` suffix.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Polymorphic Owner Queries (User vs Queue)
|
|
242
|
+
|
|
243
|
+
The `OwnerId` field on most sObjects can reference either a User or a Queue.
|
|
244
|
+
Use `TYPEOF` (or a Type filter on a subquery) to distinguish.
|
|
245
|
+
|
|
246
|
+
```soql
|
|
247
|
+
SELECT Id, Name,
|
|
248
|
+
TYPEOF Owner
|
|
249
|
+
WHEN User THEN FirstName, LastName, Email, IsActive
|
|
250
|
+
WHEN Group THEN Name, Type
|
|
251
|
+
END
|
|
252
|
+
FROM Case
|
|
253
|
+
WHERE IsClosed = false
|
|
254
|
+
AND CreatedDate >= THIS_MONTH
|
|
255
|
+
ORDER BY CreatedDate DESC
|
|
256
|
+
LIMIT 500
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Simpler pattern — split into two queries:**
|
|
260
|
+
|
|
261
|
+
```soql
|
|
262
|
+
-- User-owned open cases
|
|
263
|
+
SELECT Id, Subject, OwnerId, Owner.Name, Owner.IsActive, Priority
|
|
264
|
+
FROM Case
|
|
265
|
+
WHERE IsClosed = false
|
|
266
|
+
AND Owner.Type = 'User'
|
|
267
|
+
LIMIT 500
|
|
268
|
+
|
|
269
|
+
-- Queue-owned open cases
|
|
270
|
+
SELECT Id, Subject, OwnerId, Owner.Name, Priority
|
|
271
|
+
FROM Case
|
|
272
|
+
WHERE IsClosed = false
|
|
273
|
+
AND Owner.Type = 'Queue'
|
|
274
|
+
LIMIT 500
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Notes:**
|
|
278
|
+
- `TYPEOF` is supported in API version 26.0+ but has limited support in some
|
|
279
|
+
Apex SOQL contexts. Test before embedding in Apex.
|
|
280
|
+
- The `Group` type in `TYPEOF` represents a Queue (Salesforce's internal type
|
|
281
|
+
name for queues is `Group`).
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Usage Notes
|
|
286
|
+
|
|
287
|
+
- All record IDs in these patterns are placeholders (`001Xx000001PLACEHOLDER`,
|
|
288
|
+
`701Xx000001PLACEHOLDER`, etc.). Replace before executing.
|
|
289
|
+
- Field API names may differ in your org (custom fields, custom objects, or
|
|
290
|
+
managed package prefixes). Verify with `sf sobject describe` or the Object
|
|
291
|
+
Manager before use.
|
|
292
|
+
- LIMIT values are conservative defaults. Adjust to your org's data volume.
|
|
293
|
+
- For live execution of any pattern, use `salesforce-soql-explorer-skill`.
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# SOQL Governor Limits and Performance Guidance
|
|
2
|
+
|
|
3
|
+
Reference for generating governor-limit-safe SOQL. Every generated query must
|
|
4
|
+
be assessed against these limits before emission.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Core Query Limits
|
|
9
|
+
|
|
10
|
+
| Limit | Value | Notes |
|
|
11
|
+
|---|---|---|
|
|
12
|
+
| Total SOQL queries per synchronous Apex transaction | 100 | Shared across all triggers, classes, and flows in the transaction |
|
|
13
|
+
| Total SOQL queries per asynchronous Apex (batch, future, queueable) | 200 | Higher ceiling for async contexts |
|
|
14
|
+
| Total rows returned across all queries in a synchronous transaction | 50,000 | Hard ceiling — query that would return > 50k rows fails |
|
|
15
|
+
| Total rows returned in an asynchronous Apex transaction | 50,000,000 | Batch Apex contexts only |
|
|
16
|
+
| Maximum rows returned by a single synchronous query | 50,000 | Applies per query; aggregate queries not affected |
|
|
17
|
+
| Maximum LIMIT value (synchronous API query) | 2,000 | Interactive/SOQL via API |
|
|
18
|
+
| Maximum LIMIT value (Apex query) | 50,000 | Apex can hold more; still constrained by 50k total |
|
|
19
|
+
| Maximum OFFSET value | 2,000 | Use keyset pagination beyond 2k rows |
|
|
20
|
+
| Maximum fields per SELECT | 200 | API-enforced |
|
|
21
|
+
| Maximum relationship traversal depth (parent) | 5 levels | e.g., `Contact.Account.Owner.Profile.Name` |
|
|
22
|
+
| Maximum subquery nesting (child) | 1 level | One child subquery per parent query |
|
|
23
|
+
| Query timeout | ~120 seconds | Varies; complex scans on large objects time out earlier |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 50,000-Row Ceiling: Critical Guidance
|
|
28
|
+
|
|
29
|
+
The 50,000-row limit is the most commonly hit governor in SOQL-heavy
|
|
30
|
+
automation. Every generated query must account for this.
|
|
31
|
+
|
|
32
|
+
**Rules for generated queries:**
|
|
33
|
+
|
|
34
|
+
1. If the object could realistically hold > 50k records (Account, Contact,
|
|
35
|
+
Opportunity, Lead, Task, Event, Case in large orgs), always include LIMIT.
|
|
36
|
+
2. If the user's stated purpose is "export all", warn about the ceiling and
|
|
37
|
+
recommend `salesforce-bulk-data-ops-skill` for volumes > 2,000 records.
|
|
38
|
+
3. If the query is embedded in an Apex transaction (trigger, controller,
|
|
39
|
+
flow-called Apex), assume the 50k total is shared — a conservative LIMIT
|
|
40
|
+
of 200–1,000 per query is safer.
|
|
41
|
+
4. Use `COUNT` queries to estimate volume before recommending a non-LIMIT
|
|
42
|
+
query:
|
|
43
|
+
|
|
44
|
+
```soql
|
|
45
|
+
SELECT COUNT FROM Account WHERE Type = 'Customer'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 100-SOQL-per-Transaction Ceiling
|
|
51
|
+
|
|
52
|
+
In Apex (triggers, controllers, batch execute, queueable), every `[SOQL]`
|
|
53
|
+
call or `Database.query` counts against the 100-query limit for synchronous
|
|
54
|
+
contexts.
|
|
55
|
+
|
|
56
|
+
**Implications for generation:**
|
|
57
|
+
|
|
58
|
+
- Do not generate patterns that imply a query per record (query-in-loop
|
|
59
|
+
anti-pattern). Always note if the pattern must be bulkified.
|
|
60
|
+
- If the user describes a loop-based need, suggest a single query with an
|
|
61
|
+
`IN` clause or a subquery instead:
|
|
62
|
+
|
|
63
|
+
```soql
|
|
64
|
+
-- WRONG (query-in-loop implication): one query per account
|
|
65
|
+
-- CORRECT: single query covering all accounts
|
|
66
|
+
SELECT Id, Name, AccountId
|
|
67
|
+
FROM Contact
|
|
68
|
+
WHERE AccountId IN :accountIds
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Large Data Volume (LDV) Considerations
|
|
74
|
+
|
|
75
|
+
For orgs with millions of records on a single object:
|
|
76
|
+
|
|
77
|
+
| Consideration | Guidance |
|
|
78
|
+
|---|---|
|
|
79
|
+
| Filter on indexed fields | Always use Id, Name, ExternalId, standard indexed lookups in WHERE first |
|
|
80
|
+
| Avoid leading wildcard LIKE | `WHERE Name LIKE '%Corp'` defeats the text index — use `LIKE 'Corp%'` or SOSL |
|
|
81
|
+
| Custom indexes | Request custom indexes from Salesforce Support for frequently-filtered non-standard fields |
|
|
82
|
+
| Skinny tables | Org admins can enable skinny tables for specific objects and field sets — reduces I/O for wide-table queries |
|
|
83
|
+
| Selective query threshold | Salesforce requires a WHERE filter to be selective (< 10% of rows) on objects with > 100k records; non-selective queries are throttled or rejected |
|
|
84
|
+
|
|
85
|
+
**Selectivity threshold rule of thumb:**
|
|
86
|
+
|
|
87
|
+
- Object has < 100k records: most queries are acceptable
|
|
88
|
+
- Object has 100k–1M records: WHERE must include at least one indexed field
|
|
89
|
+
- Object has > 1M records: WHERE must be highly selective (prefer Id or ExternalId filters, date range with indexed fields)
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Indexed Fields
|
|
94
|
+
|
|
95
|
+
Standard indexed fields (available by default, no admin action needed):
|
|
96
|
+
|
|
97
|
+
| Object | Indexed Fields |
|
|
98
|
+
|---|---|
|
|
99
|
+
| All objects | `Id`, `Name`, `OwnerId`, `CreatedDate`, `LastModifiedDate`, `SystemModstamp` |
|
|
100
|
+
| All objects with ExternalId | Custom fields marked as External ID |
|
|
101
|
+
| Account | `BillingCountry`, `ParentId`, `RecordTypeId` |
|
|
102
|
+
| Contact | `AccountId`, `Email`, `RecordTypeId` |
|
|
103
|
+
| Opportunity | `AccountId`, `CloseDate`, `IsClosed`, `StageName`, `RecordTypeId` |
|
|
104
|
+
| Lead | `Email`, `IsConverted`, `Status`, `OwnerId` |
|
|
105
|
+
| Case | `AccountId`, `ContactId`, `IsClosed`, `Status`, `RecordTypeId` |
|
|
106
|
+
| Task / Event | `WhatId`, `WhoId`, `OwnerId`, `ActivityDate` |
|
|
107
|
+
|
|
108
|
+
**Custom indexes** can be requested for non-standard fields via Salesforce
|
|
109
|
+
Support (for non-formula, non-encrypted, non-text-area fields). Use the
|
|
110
|
+
`suggested_index` field in the skill output to flag candidates.
|
|
111
|
+
|
|
112
|
+
**Formula field rule:** Formula fields are **never indexed**. Never place a
|
|
113
|
+
formula field as the sole filter in a WHERE clause on a high-volume object.
|
|
114
|
+
Instead, filter on the underlying source fields or use a custom index on a
|
|
115
|
+
stored (non-formula) equivalent field.
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Aggregate Queries and Limits
|
|
120
|
+
|
|
121
|
+
Aggregate queries (`GROUP BY`, `COUNT`, `SUM`, etc.) are **not subject to the
|
|
122
|
+
50,000-row-returned limit** in the same way as record queries — they return
|
|
123
|
+
aggregated results, not raw rows. However:
|
|
124
|
+
|
|
125
|
+
- The rows *scanned* during aggregation still count toward internal processing
|
|
126
|
+
limits and can time out on very large objects without a selective WHERE.
|
|
127
|
+
- The result set of an aggregate query (number of groups) can still be large
|
|
128
|
+
— apply a LIMIT or HAVING clause if the GROUP BY field has high cardinality.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Query Timeout Signals
|
|
133
|
+
|
|
134
|
+
A query is at risk of timeout when:
|
|
135
|
+
|
|
136
|
+
- No indexed filter is present and the object has > 100k records
|
|
137
|
+
- A `LIKE '%pattern'` leading wildcard is used on a large text field
|
|
138
|
+
- A formula field appears in WHERE without a companion indexed filter
|
|
139
|
+
- A subquery result set is large (> 10k rows in the IN clause)
|
|
140
|
+
- Relationships are traversed more than 2 levels deep on a large object
|
|
141
|
+
|
|
142
|
+
Always flag these risks in `governor_limit_notes` in the skill output.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Bulk Data Operations — When to Escalate
|
|
147
|
+
|
|
148
|
+
Generated SOQL is for synchronous interactive or Apex-transaction use. When
|
|
149
|
+
the user's need implies:
|
|
150
|
+
|
|
151
|
+
- Exporting > 2,000 records interactively
|
|
152
|
+
- Processing > 50,000 records in a single operation
|
|
153
|
+
- Scheduled batch extraction or load
|
|
154
|
+
|
|
155
|
+
Escalate to `salesforce-bulk-data-ops-skill`. The Bulk API 2.0 bypasses the
|
|
156
|
+
50,000-row governor for export and is the correct tool for large-volume work.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Recommended Query Size Budget
|
|
161
|
+
|
|
162
|
+
Use this as a default budget when the user does not specify volume:
|
|
163
|
+
|
|
164
|
+
| Use case | Recommended LIMIT |
|
|
165
|
+
|---|---|
|
|
166
|
+
| UI display / developer inspection | 5–50 |
|
|
167
|
+
| Admin review / hygiene report | 200–500 |
|
|
168
|
+
| Export to CSV (small set) | 500–2,000 |
|
|
169
|
+
| Apex selector (per-transaction) | 200 |
|
|
170
|
+
| Aggregate (few groups) | Omit LIMIT or use 50–200 |
|
|
171
|
+
| Count only | No LIMIT needed (COUNT aggregate) |
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# SOQL Syntax Quick Reference
|
|
2
|
+
|
|
3
|
+
Quick-reference for generating correct SOQL. For full governor-limit context
|
|
4
|
+
see `governor-limits.md`. For pre-built patterns see `common-patterns.md`.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Basic Query Shape
|
|
9
|
+
|
|
10
|
+
```soql
|
|
11
|
+
SELECT field1, field2, field3
|
|
12
|
+
FROM SObjectApiName
|
|
13
|
+
WHERE condition
|
|
14
|
+
ORDER BY field1 ASC NULLS LAST
|
|
15
|
+
LIMIT 200
|
|
16
|
+
OFFSET 0
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
All clauses except `SELECT` and `FROM` are optional. Order is fixed:
|
|
20
|
+
`SELECT … FROM … WHERE … WITH … GROUP BY … HAVING … ORDER BY … LIMIT … OFFSET … FOR …`
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## SELECT
|
|
25
|
+
|
|
26
|
+
- Enumerate fields explicitly — `SELECT *` is not valid SOQL.
|
|
27
|
+
- Field API names are case-insensitive but use the documented casing for
|
|
28
|
+
readability (`AccountId`, not `accountid`).
|
|
29
|
+
- Maximum 200 fields per query (API limit).
|
|
30
|
+
- Aggregate functions: `COUNT`, `COUNT(field)`, `COUNT_DISTINCT(field)`,
|
|
31
|
+
`SUM(field)`, `AVG(field)`, `MIN(field)`, `MAX(field)`.
|
|
32
|
+
|
|
33
|
+
### Parent field traversal (child-to-parent)
|
|
34
|
+
|
|
35
|
+
Access parent fields via dot notation. Up to 5 levels deep.
|
|
36
|
+
|
|
37
|
+
```soql
|
|
38
|
+
SELECT Id, Name, Account.Name, Account.Owner.Name
|
|
39
|
+
FROM Contact
|
|
40
|
+
WHERE Account.BillingCountry = 'US'
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Child subquery (parent-to-child)
|
|
44
|
+
|
|
45
|
+
One level of child subquery nesting. Use the child relationship name
|
|
46
|
+
(not the sObject API name).
|
|
47
|
+
|
|
48
|
+
```soql
|
|
49
|
+
SELECT Id, Name,
|
|
50
|
+
(SELECT Id, StageName, Amount FROM Opportunities WHERE IsClosed = false)
|
|
51
|
+
FROM Account
|
|
52
|
+
WHERE Type = 'Customer'
|
|
53
|
+
LIMIT 100
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Polymorphic fields (TYPEOF)
|
|
57
|
+
|
|
58
|
+
Use `TYPEOF` for fields that can reference multiple sObject types.
|
|
59
|
+
|
|
60
|
+
```soql
|
|
61
|
+
SELECT Id, Subject,
|
|
62
|
+
TYPEOF Who
|
|
63
|
+
WHEN Contact THEN FirstName, LastName, Email
|
|
64
|
+
WHEN Lead THEN FirstName, LastName, Company
|
|
65
|
+
END
|
|
66
|
+
FROM Task
|
|
67
|
+
WHERE ActivityDate = TODAY
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## FROM
|
|
73
|
+
|
|
74
|
+
Single sObject name. SOQL does not support multi-object joins — use a
|
|
75
|
+
subquery or two separate queries.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## WHERE
|
|
80
|
+
|
|
81
|
+
### Comparison operators
|
|
82
|
+
|
|
83
|
+
| Operator | Meaning |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `=` | Equals |
|
|
86
|
+
| `!=` | Not equals |
|
|
87
|
+
| `<` `>` `<=` `>=` | Numeric / date comparison |
|
|
88
|
+
| `LIKE` | String pattern; `%` is wildcard, `_` is single char |
|
|
89
|
+
| `IN` | Value in list: `Status IN ('Open', 'Working')` |
|
|
90
|
+
| `NOT IN` | Value not in list |
|
|
91
|
+
| `INCLUDES` | Multi-select picklist includes value |
|
|
92
|
+
| `EXCLUDES` | Multi-select picklist excludes value |
|
|
93
|
+
|
|
94
|
+
### Logical operators
|
|
95
|
+
|
|
96
|
+
`AND`, `OR`, `NOT`. Use parentheses to control precedence.
|
|
97
|
+
|
|
98
|
+
### Date literals
|
|
99
|
+
|
|
100
|
+
Use these instead of hardcoded dates to respect user timezone.
|
|
101
|
+
|
|
102
|
+
| Literal | Meaning |
|
|
103
|
+
|---|---|
|
|
104
|
+
| `TODAY` | Current day |
|
|
105
|
+
| `YESTERDAY` | Previous day |
|
|
106
|
+
| `TOMORROW` | Next day |
|
|
107
|
+
| `THIS_WEEK` | Sun–Sat week containing today |
|
|
108
|
+
| `LAST_WEEK` | Previous Sun–Sat week |
|
|
109
|
+
| `NEXT_WEEK` | Next Sun–Sat week |
|
|
110
|
+
| `THIS_MONTH` | Calendar month of today |
|
|
111
|
+
| `LAST_MONTH` | Previous calendar month |
|
|
112
|
+
| `NEXT_MONTH` | Next calendar month |
|
|
113
|
+
| `THIS_QUARTER` | Current fiscal/calendar quarter |
|
|
114
|
+
| `LAST_QUARTER` | Previous quarter |
|
|
115
|
+
| `NEXT_QUARTER` | Next quarter |
|
|
116
|
+
| `THIS_YEAR` | Current year |
|
|
117
|
+
| `LAST_YEAR` | Previous year |
|
|
118
|
+
| `NEXT_YEAR` | Next year |
|
|
119
|
+
| `LAST_N_DAYS:n` | Last n days (0 = today) |
|
|
120
|
+
| `NEXT_N_DAYS:n` | Next n days |
|
|
121
|
+
| `LAST_N_WEEKS:n` | Last n weeks |
|
|
122
|
+
| `NEXT_N_WEEKS:n` | Next n weeks |
|
|
123
|
+
| `LAST_N_MONTHS:n` | Last n months |
|
|
124
|
+
| `NEXT_N_MONTHS:n` | Next n months |
|
|
125
|
+
| `LAST_N_QUARTERS:n` | Last n quarters |
|
|
126
|
+
| `NEXT_N_QUARTERS:n` | Next n quarters |
|
|
127
|
+
| `LAST_N_YEARS:n` | Last n years |
|
|
128
|
+
| `NEXT_N_YEARS:n` | Next n years |
|
|
129
|
+
|
|
130
|
+
Date literals evaluate at query execution time in the running user's timezone.
|
|
131
|
+
Do not mix date literals with hardcoded ISO datetime strings.
|
|
132
|
+
|
|
133
|
+
### NULL handling
|
|
134
|
+
|
|
135
|
+
```soql
|
|
136
|
+
WHERE Email = null -- no email
|
|
137
|
+
WHERE Email != null -- has email
|
|
138
|
+
WHERE LastActivityDate = null -- never had activity
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## WITH
|
|
144
|
+
|
|
145
|
+
Optional security and data-category clauses. Most commonly:
|
|
146
|
+
|
|
147
|
+
```soql
|
|
148
|
+
WITH SECURITY_ENFORCED -- respects FLS and object permissions at query time
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Use `WITH SECURITY_ENFORCED` in Apex contexts where FLS must be explicitly
|
|
152
|
+
enforced server-side. Not required for API queries (FLS is enforced by default).
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## GROUP BY and HAVING
|
|
157
|
+
|
|
158
|
+
Use with aggregate functions. All non-aggregate SELECT fields must appear
|
|
159
|
+
in GROUP BY.
|
|
160
|
+
|
|
161
|
+
```soql
|
|
162
|
+
SELECT StageName, COUNT(Id) deal_count, SUM(Amount) total_amount
|
|
163
|
+
FROM Opportunity
|
|
164
|
+
WHERE IsClosed = false
|
|
165
|
+
GROUP BY StageName
|
|
166
|
+
HAVING COUNT(Id) > 5
|
|
167
|
+
ORDER BY SUM(Amount) DESC
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
`ROLLUP` and `CUBE` extensions are available for subtotal aggregation:
|
|
171
|
+
|
|
172
|
+
```soql
|
|
173
|
+
SELECT Type, BillingCountry, COUNT(Id)
|
|
174
|
+
FROM Account
|
|
175
|
+
GROUP BY ROLLUP(Type, BillingCountry)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## ORDER BY
|
|
181
|
+
|
|
182
|
+
```soql
|
|
183
|
+
ORDER BY FieldName ASC NULLS FIRST -- nulls sort first
|
|
184
|
+
ORDER BY FieldName DESC NULLS LAST -- nulls sort last (default)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Multiple fields: `ORDER BY LastModifiedDate DESC, Name ASC`
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## LIMIT and OFFSET
|
|
192
|
+
|
|
193
|
+
```soql
|
|
194
|
+
LIMIT 200 -- max rows returned
|
|
195
|
+
OFFSET 0 -- skip first n rows (zero-indexed)
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Ceiling: LIMIT max is 2,000 for synchronous queries (API). Governor limit:
|
|
199
|
+
50,000 rows total per transaction. OFFSET max is 2,000.
|
|
200
|
+
|
|
201
|
+
Prefer keyset pagination (WHERE Id > :lastId ORDER BY Id ASC LIMIT 200)
|
|
202
|
+
over OFFSET for large datasets to avoid the 2,000 OFFSET ceiling.
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## FOR Clauses
|
|
207
|
+
|
|
208
|
+
```soql
|
|
209
|
+
FOR REFERENCE -- updates LastReferencedDate on records
|
|
210
|
+
FOR VIEW -- updates LastViewedDate on records
|
|
211
|
+
FOR UPDATE -- locks records for DML (Apex only, not usable in read contexts)
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Use `FOR REFERENCE` when the query is part of a "recently viewed" tracking
|
|
215
|
+
workflow. Avoid `FOR UPDATE` in generation contexts — that is a T3 concern.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## USING SCOPE
|
|
220
|
+
|
|
221
|
+
Filter by scope without additional WHERE conditions:
|
|
222
|
+
|
|
223
|
+
```soql
|
|
224
|
+
SELECT Id, Name FROM Account USING SCOPE mine -- only records owned by running user
|
|
225
|
+
SELECT Id, Name FROM Account USING SCOPE team -- team-owned records
|
|
226
|
+
SELECT Id, Name FROM Account USING SCOPE allRecords -- include archived/deleted (Recycle Bin)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## SOSL (Salesforce Object Search Language)
|
|
232
|
+
|
|
233
|
+
Use SOSL when searching text across multiple objects or when LIKE-based
|
|
234
|
+
full-text search would be too broad.
|
|
235
|
+
|
|
236
|
+
```sosl
|
|
237
|
+
FIND {Acme Corp} IN ALL FIELDS
|
|
238
|
+
RETURNING Account(Id, Name), Contact(Id, FirstName, LastName, Email)
|
|
239
|
+
LIMIT 50
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
SOSL uses the search index. It is faster than SOQL LIKE for full-text search
|
|
243
|
+
but cannot be used for structured field comparisons or aggregates.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Anti-Patterns to Avoid
|
|
248
|
+
|
|
249
|
+
- `SELECT *` — not valid; enumerate fields
|
|
250
|
+
- No WHERE on a high-volume object — risks 50k row governor hit
|
|
251
|
+
- Formula field in WHERE — not indexed; causes full table scan
|
|
252
|
+
- Leading wildcard in LIKE: `WHERE Name LIKE '%Corp'` — defeats the text index
|
|
253
|
+
- Querying inside a loop in Apex context — SOQL-in-loop governor trap
|
|
254
|
+
- Hardcoded record IDs in WHERE — use a bind variable or dynamic query instead
|
|
255
|
+
- Mixing date literals with hardcoded ISO strings — timezone ambiguity
|