@raishin/vanguard-frontier-agentic 2.2.0 → 2.5.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +41 -1
- package/.cursor-plugin/plugin.json +41 -1
- package/.github/plugin/marketplace.json +1 -1
- package/README.md +48 -28
- package/agents/dotnet/README.md +57 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/AGENT.md +57 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/codex.toml +40 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/copilot.agent.md +41 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/cursor.agent.md +41 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/gemini.agent.md +41 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/metadata.json +41 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/AGENT.md +56 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/codex.toml +38 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/copilot.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/gemini.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/metadata.json +42 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/AGENT.md +56 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/codex.toml +38 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/copilot.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/gemini.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/metadata.json +42 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/AGENT.md +56 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/claude-code.agent.md +39 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/codex.toml +39 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/copilot.agent.md +39 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/cursor.agent.md +39 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/kiro-ide.agent.md +39 -0
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/metadata.json +42 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/AGENT.md +58 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/codex.toml +41 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/copilot.agent.md +42 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/cursor.agent.md +42 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/gemini.agent.md +42 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/metadata.json +42 -0
- package/agents/dotnet/dotnet-maestro-agent/AGENT.md +53 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/codex.toml +40 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/copilot.agent.md +36 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/cursor.agent.md +36 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/gemini.agent.md +36 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-maestro-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/dotnet/dotnet-maestro-agent/metadata.json +40 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/AGENT.md +57 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/codex.toml +40 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/copilot.agent.md +41 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/cursor.agent.md +41 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/gemini.agent.md +41 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/dotnet/dotnet-observability-otel-review-agent/metadata.json +41 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/AGENT.md +56 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/codex.toml +39 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/copilot.agent.md +40 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/gemini.agent.md +40 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/dotnet/dotnet-performance-aot-review-agent/metadata.json +41 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/AGENT.md +57 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/codex.toml +40 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/copilot.agent.md +41 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/cursor.agent.md +41 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/gemini.agent.md +41 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/dotnet/dotnet-supply-chain-review-agent/metadata.json +42 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/AGENT.md +56 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/codex.toml +39 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/copilot.agent.md +40 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/gemini.agent.md +40 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/dotnet/dotnet-testing-quality-review-agent/metadata.json +41 -0
- package/agents/hetzner/README.md +1 -1
- package/agents/hr/hr-analytics-people-data-agent/metadata.json +3 -7
- package/agents/hr/hr-benefits-payroll-agent/metadata.json +3 -7
- package/agents/hr/hr-compensation-equity-agent/metadata.json +3 -7
- package/agents/hr/hr-culture-dei-agent/metadata.json +3 -7
- package/agents/hr/hr-employee-relations-agent/metadata.json +3 -7
- package/agents/hr/hr-hris-process-controls-agent/metadata.json +3 -7
- package/agents/hr/hr-learning-policy-agent/metadata.json +3 -7
- package/agents/hr/hr-leave-accommodation-agent/metadata.json +3 -7
- package/agents/hr/hr-maestro-agent/metadata.json +4 -8
- package/agents/hr/hr-performance-management-agent/metadata.json +3 -7
- package/agents/hr/hr-recruiting-selection-agent/metadata.json +3 -7
- package/agents/hr/hr-risk-triage-review-agent/metadata.json +3 -3
- package/agents/hr/hr-termination-readiness-agent/metadata.json +3 -7
- package/agents/hr/hr-workforce-planning-rif-agent/metadata.json +3 -7
- package/agents/hr/hr-workplace-investigations-agent/metadata.json +3 -7
- package/agents/legal/legal-contract-review-agent/metadata.json +3 -7
- package/agents/legal/legal-counsel-review-agent/metadata.json +3 -3
- package/agents/legal/legal-employment-law-risk-agent/metadata.json +4 -8
- package/agents/legal/legal-ethics-investigations-agent/metadata.json +3 -7
- package/agents/legal/legal-ip-open-source-agent/metadata.json +3 -7
- package/agents/legal/legal-knowledge-management-agent/metadata.json +3 -7
- package/agents/legal/legal-litigation-discovery-hold-agent/metadata.json +3 -7
- package/agents/legal/legal-maestro-agent/metadata.json +4 -8
- package/agents/legal/legal-policy-governance-agent/metadata.json +3 -7
- package/agents/legal/legal-privacy-data-protection-agent/metadata.json +3 -7
- package/agents/legal/legal-public-disclosure-agent/metadata.json +3 -7
- package/agents/legal/legal-regulatory-compliance-agent/metadata.json +3 -7
- package/agents/legal/legal-vendor-procurement-risk-agent/metadata.json +3 -7
- 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 +1785 -353
- package/catalog/asset-integrity.json +2866 -411
- package/catalog/install-roles.json +96 -0
- package/catalog/skill-manifest.json +1238 -138
- package/catalog/skills.json +1587 -333
- package/package.json +3 -2
- package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
- package/powers/vanguard-salesforce/POWER.md +42 -0
- package/schemas/agent.schema.json +5 -1
- package/schemas/skill.frontmatter.schema.json +33 -3
- package/schemas/skill.schema.json +5 -1
- package/scripts/export-marketplace-agents.mjs +30 -2
- package/scripts/generate-kiro-powers.mjs +12 -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-aspire-cloud-native-review/SKILL.md +53 -0
- package/skills/dotnet/dotnet-aspire-cloud-native-review/metadata.json +27 -0
- package/skills/dotnet/dotnet-aspire-cloud-native-review/references/workflow-and-output.md +115 -0
- package/skills/dotnet/dotnet-aspnetcore-api-review/SKILL.md +53 -0
- package/skills/dotnet/dotnet-aspnetcore-api-review/metadata.json +28 -0
- package/skills/dotnet/dotnet-aspnetcore-api-review/references/workflow-and-output.md +115 -0
- package/skills/dotnet/dotnet-aspnetcore-identity-authz-review/SKILL.md +48 -0
- package/skills/dotnet/dotnet-aspnetcore-identity-authz-review/metadata.json +28 -0
- package/skills/dotnet/dotnet-aspnetcore-identity-authz-review/references/workflow-and-output.md +125 -0
- package/skills/dotnet/dotnet-csharp-runtime-review/SKILL.md +56 -0
- package/skills/dotnet/dotnet-csharp-runtime-review/metadata.json +28 -0
- package/skills/dotnet/dotnet-csharp-runtime-review/references/workflow-and-output.md +141 -0
- package/skills/dotnet/dotnet-efcore-data-access-review/SKILL.md +57 -0
- package/skills/dotnet/dotnet-efcore-data-access-review/metadata.json +28 -0
- package/skills/dotnet/dotnet-efcore-data-access-review/references/workflow-and-output.md +140 -0
- package/skills/dotnet/dotnet-maestro/SKILL.md +106 -0
- package/skills/dotnet/dotnet-maestro/metadata.json +26 -0
- package/skills/dotnet/dotnet-observability-otel-review/SKILL.md +53 -0
- package/skills/dotnet/dotnet-observability-otel-review/metadata.json +27 -0
- package/skills/dotnet/dotnet-observability-otel-review/references/workflow-and-output.md +119 -0
- package/skills/dotnet/dotnet-performance-aot-review/SKILL.md +53 -0
- package/skills/dotnet/dotnet-performance-aot-review/metadata.json +27 -0
- package/skills/dotnet/dotnet-performance-aot-review/references/workflow-and-output.md +123 -0
- package/skills/dotnet/dotnet-supply-chain-review/SKILL.md +55 -0
- package/skills/dotnet/dotnet-supply-chain-review/metadata.json +28 -0
- package/skills/dotnet/dotnet-supply-chain-review/references/workflow-and-output.md +132 -0
- package/skills/dotnet/dotnet-testing-quality-review/SKILL.md +54 -0
- package/skills/dotnet/dotnet-testing-quality-review/metadata.json +27 -0
- package/skills/dotnet/dotnet-testing-quality-review/references/workflow-and-output.md +142 -0
- 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/hr/hr-risk-triage-review/metadata.json +9 -2
- package/skills/legal/legal-counsel-review/metadata.json +9 -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/dotnet-maestro-routing/expected/01-csharp-runtime.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/02-aspnetcore-api.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/03-identity-authz.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/04-efcore-data.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/05-testing-quality.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/06-supply-chain.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/07-performance-aot.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/08-observability-otel.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/09-aspire-cloud-native.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/10-multi-domain.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/11-ambiguous.json +4 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/adv-ambiguous-near-miss.json +4 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/adv-live-guard-bypass.json +4 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/adv-parallel-saturation.json +9 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/01-csharp-runtime.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/02-aspnetcore-api.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/03-identity-authz.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/04-efcore-data.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/05-testing-quality.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/06-supply-chain.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/07-performance-aot.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/08-observability-otel.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/09-aspire-cloud-native.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/10-multi-domain.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/11-ambiguous.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/adv-ambiguous-near-miss.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/adv-live-guard-bypass.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/adv-parallel-saturation.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/dotnet-maestro-routing/taxonomy.json +99 -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-vfa-export-coverage.test.mjs +29 -8
- package/tests/validate-catalog.py +15 -1
- package/tests/validate-plugin-manifest.py +11 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: salesforce-integration-review-skill
|
|
3
|
+
description: Use this skill when a Salesforce integration design must be reviewed for API choice, middleware position, retry and idempotency patterns, error queue design, observability, secret handling, OAuth scope minimization, named credential vs callout patterns, and MuleSoft vs point-to-point architecture. Trigger phrases: "review this Salesforce integration", "is this API design safe", "check OAuth scope for this integration", "review our MuleSoft pattern", "assess this Platform Events design". Do not use when Apex code quality (not integration design) is the focus (use salesforce-apex-lwc-code-review-skill), when a live integration change is being deployed (use salesforce-live-change-approval-protocol), or when marketing data flows are the subject (use salesforce-marketing-consent-review-skill). Works from sanitized integration design documents only; never requests live credentials or direct API access.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-20"
|
|
9
|
+
category: architecture
|
|
10
|
+
lifecycle: experimental
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Salesforce Integration Review Skill
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
This skill reviews Salesforce integration designs for API choice, middleware
|
|
17
|
+
positioning, retry/idempotency, error queue design, observability, secret
|
|
18
|
+
handling, OAuth scope minimization, named credential patterns, and
|
|
19
|
+
MuleSoft vs point-to-point architecture decisions. It surfaces risks,
|
|
20
|
+
anti-patterns, and recommendations. It does not access live systems,
|
|
21
|
+
test endpoints, or request credentials.
|
|
22
|
+
|
|
23
|
+
## When to use
|
|
24
|
+
- An integration architecture is being designed or reviewed before build.
|
|
25
|
+
- An existing integration is being audited for security or reliability.
|
|
26
|
+
- A new API connection is being added and the design must be assessed.
|
|
27
|
+
- An incident has occurred and the integration design is under review.
|
|
28
|
+
|
|
29
|
+
## When not to use
|
|
30
|
+
- Apex code quality is the focus — use `salesforce-apex-lwc-code-review-skill`.
|
|
31
|
+
- Marketing data flow consent review — use `salesforce-marketing-consent-review-skill`.
|
|
32
|
+
- Live integration change deployment — use `salesforce-live-change-approval-protocol`.
|
|
33
|
+
- Full org posture — use `salesforce-org-assessment-skill`.
|
|
34
|
+
|
|
35
|
+
## Minimum payload (required inputs)
|
|
36
|
+
- Integration design description: systems involved, data flows, direction, frequency.
|
|
37
|
+
- API type(s) used (REST, SOAP, Bulk, Streaming, Platform Events,
|
|
38
|
+
CDC, external services).
|
|
39
|
+
- Authentication method (OAuth, session ID, named credential, API key).
|
|
40
|
+
- Middleware presence: MuleSoft
|
|
41
|
+
,
|
|
42
|
+
other iPaaS, or point-to-point.
|
|
43
|
+
- Error handling and retry design (or note that it is undocumented).
|
|
44
|
+
|
|
45
|
+
## Workflow
|
|
46
|
+
|
|
47
|
+
### 1. API choice review
|
|
48
|
+
- Assess whether the chosen API is appropriate for the use case:
|
|
49
|
+
- REST API: appropriate for record CRUD and metadata; flag if used for
|
|
50
|
+
bulk data (> configurable threshold records per batch) without Bulk API.
|
|
51
|
+
- SOAP API: flag if used for new integrations (REST is preferred);
|
|
52
|
+
acceptable for legacy systems.
|
|
53
|
+
- Bulk API : verify serial vs parallel
|
|
54
|
+
job selection; flag if used for real-time use cases requiring low latency.
|
|
55
|
+
- Streaming API / Platform Events :
|
|
56
|
+
verify subscriber durability; flag if subscriber does not handle replay.
|
|
57
|
+
- Change Data Capture : verify object
|
|
58
|
+
selection; flag if all-object CDC is enabled without consumption capacity planning.
|
|
59
|
+
- External Services : verify OpenAPI
|
|
60
|
+
spec version; flag if used for high-volume synchronous patterns.
|
|
61
|
+
|
|
62
|
+
### 2. Middleware position
|
|
63
|
+
- Assess middleware role: event broker, transformation, routing, error handling.
|
|
64
|
+
- Flag: point-to-point connections that bypass a middleware layer for non-trivial
|
|
65
|
+
data transformation.
|
|
66
|
+
- Flag: middleware not present for integrations crossing security or compliance
|
|
67
|
+
domains.
|
|
68
|
+
- MuleSoft : flag if the Anypoint
|
|
69
|
+
platform is used but policies (rate limiting, IP allowlisting, threat
|
|
70
|
+
protection) are not documented.
|
|
71
|
+
|
|
72
|
+
### 3. Retry and idempotency
|
|
73
|
+
- Verify that retry logic exists for transient failures (network timeouts,
|
|
74
|
+
5xx errors).
|
|
75
|
+
- Flag: retry without idempotency key (can create duplicate records on retry).
|
|
76
|
+
- Flag: exponential backoff absent (linear retry can cause thundering herd).
|
|
77
|
+
- Flag: infinite retry without a dead-letter or poison-message mechanism.
|
|
78
|
+
|
|
79
|
+
### 4. Error queue design
|
|
80
|
+
- Verify that failed messages are routed to an error queue or dead-letter topic.
|
|
81
|
+
- Flag: silent failure (errors logged but no queue, no alert, no human review).
|
|
82
|
+
- Flag: error queue not monitored or without a defined SLA for remediation.
|
|
83
|
+
- Flag: failed records re-inserted without deduplication logic.
|
|
84
|
+
|
|
85
|
+
### 5. Observability
|
|
86
|
+
- Verify that integration events are logged (at minimum: request ID, timestamp,
|
|
87
|
+
direction, status, error code).
|
|
88
|
+
- Flag: logging that includes PII or credentials (over-logging).
|
|
89
|
+
- Flag: no alerting on error rate threshold breach.
|
|
90
|
+
- Flag: no end-to-end tracing that correlates Salesforce event to external system.
|
|
91
|
+
|
|
92
|
+
### 6. Secret handling
|
|
93
|
+
- Flag: API keys, client secrets, or passwords hardcoded in Apex, Flow, or
|
|
94
|
+
integration configuration.
|
|
95
|
+
- Verify: Named Credentials or
|
|
96
|
+
External Credentials used for all outbound callouts.
|
|
97
|
+
- Flag: session ID used as an API credential (session IDs expire and are
|
|
98
|
+
not suitable for long-running integrations).
|
|
99
|
+
- Flag: client secrets stored in Custom Settings or Custom Metadata without
|
|
100
|
+
encryption.
|
|
101
|
+
|
|
102
|
+
### 7. OAuth scope minimization
|
|
103
|
+
- Review the OAuth scopes requested by connected apps.
|
|
104
|
+
- Flag: `full` scope (grants all permissions; should never be used in production).
|
|
105
|
+
- Flag: `api` scope without specific object-level restriction where a more
|
|
106
|
+
restricted scope is available.
|
|
107
|
+
- Flag: `refresh_token` scope on integrations that do not require long-lived access.
|
|
108
|
+
- Recommend: minimum-necessary scope per the integration's function.
|
|
109
|
+
|
|
110
|
+
### 8. Named credential vs direct callout
|
|
111
|
+
- Verify that outbound callouts use Named Credentials
|
|
112
|
+
or External Credentials.
|
|
113
|
+
- Flag: callouts using hardcoded URLs or credentials in Apex code.
|
|
114
|
+
- Flag: callouts to endpoints not in the org's remote site settings
|
|
115
|
+
(
|
|
116
|
+
CSP / remote site settings).
|
|
117
|
+
|
|
118
|
+
### 9. MuleSoft vs point-to-point assessment
|
|
119
|
+
- If MuleSoft is present: verify
|
|
120
|
+
that it is used for all integration routing; flag bypasses.
|
|
121
|
+
- If point-to-point: flag integrations > configurable complexity threshold
|
|
122
|
+
that should be routed through a middleware layer.
|
|
123
|
+
- Flag: fan-out from Salesforce to > configurable number of external systems
|
|
124
|
+
without a message broker.
|
|
125
|
+
|
|
126
|
+
## Evidence requirements
|
|
127
|
+
- Sanitized integration design document or description; no credentials, tokens,
|
|
128
|
+
or customer data.
|
|
129
|
+
- List of API types, authentication methods, and middleware present.
|
|
130
|
+
- Error handling and retry design documentation (or note that it is absent).
|
|
131
|
+
|
|
132
|
+
## Output format
|
|
133
|
+
```
|
|
134
|
+
integration_review_findings:
|
|
135
|
+
api_choice:
|
|
136
|
+
- finding: [description]
|
|
137
|
+
severity: Critical | High | Medium | Low
|
|
138
|
+
recommendation: [brief]
|
|
139
|
+
middleware_position: [same structure]
|
|
140
|
+
retry_idempotency: [same structure]
|
|
141
|
+
error_queue_design: [same structure]
|
|
142
|
+
observability: [same structure]
|
|
143
|
+
secret_handling: [same structure]
|
|
144
|
+
oauth_scope: [same structure]
|
|
145
|
+
named_credential_usage: [same structure]
|
|
146
|
+
middleware_vs_point_to_point: [same structure]
|
|
147
|
+
|
|
148
|
+
summary:
|
|
149
|
+
total_findings: [count]
|
|
150
|
+
critical_count: [count]
|
|
151
|
+
high_count: [count]
|
|
152
|
+
escalation_gates_fired: [from salesforce-risk-taxonomy, or "none"]
|
|
153
|
+
assumptions: [list]
|
|
154
|
+
missing_evidence: [what would improve the review]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Redaction rules
|
|
158
|
+
- Never request secrets, credentials, OAuth tokens, refresh tokens, session IDs, MFA seeds, customer PII.
|
|
159
|
+
- Sanitize org IDs, user IDs (replace with placeholders) before sharing in outputs.
|
|
160
|
+
- If design documents contain real credentials or endpoint secrets, stop and ask for sanitized version.
|
|
161
|
+
|
|
162
|
+
## Privilege / data handling rules
|
|
163
|
+
- Integration review is design-level only; do not carry actual API responses or payload samples.
|
|
164
|
+
- Integrations crossing regulated-data domains (HIPAA, PCI) must be flagged for compliance review.
|
|
165
|
+
|
|
166
|
+
## Handoff rules
|
|
167
|
+
- Hands off to: salesforce-apex-lwc-code-review-skill (if callout Apex code needs review),
|
|
168
|
+
salesforce-marketing-consent-review-skill (if integration involves Marketing Cloud data flows),
|
|
169
|
+
salesforce-data-exposure-escalation-protocol (if integration creates data exposure risk).
|
|
170
|
+
- If escalation gate fires: salesforce-case-capsule with escalation_required = true.
|
|
171
|
+
- Required handoff fields: matter_id, critical_count, escalation_gates_fired,
|
|
172
|
+
secret_handling summary.
|
|
173
|
+
|
|
174
|
+
## Audit log fields
|
|
175
|
+
- matter_id, skill_id, skill_version, invoked_by, input_hash, evidence_quality, output_verdict, escalation_fired, timestamp
|
|
176
|
+
|
|
177
|
+
## Stop conditions
|
|
178
|
+
- Design document contains live credentials, session tokens, or real API keys — stop and ask for sanitized version.
|
|
179
|
+
- Integration involves regulated-data cross-org transfer without a documented DPA — fire production-data-exposure gate.
|
|
180
|
+
- `full` OAuth scope detected in production — Critical finding; require immediate human review.
|
|
181
|
+
|
|
182
|
+
## Security notes
|
|
183
|
+
- Read-only static design review; never tests endpoints or requests live credentials.
|
|
184
|
+
- `full` OAuth scope is always a Critical finding in production integrations.
|
|
185
|
+
- Named Credentials are the required pattern for outbound callouts; deviations require documented justification.
|
|
186
|
+
- DPA obligations for cross-org data transfers must be verified with legal counsel.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "salesforce-integration-review-skill",
|
|
3
|
+
"name": "Salesforce Integration Review Skill",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "salesforce",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Reviews Salesforce integration designs for API choice (REST, SOAP, Bulk, Streaming, CDC, Platform Events), middleware position, retry and idempotency, error queue design, observability, secret handling, OAuth scope minimization, named credential vs callout patterns, and MuleSoft vs point-to-point architecture.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://help.salesforce.com/",
|
|
11
|
+
"https://developer.salesforce.com/docs"
|
|
12
|
+
],
|
|
13
|
+
"security_notes": "Read-only static design review; sanitized design documents only; never tests endpoints or requests live credentials. Full OAuth scope is always a Critical finding. Cross-org regulated-data transfers require DPA verification with legal counsel.",
|
|
14
|
+
"last_verified": "2026-05-20",
|
|
15
|
+
"path": "skills/salesforce/salesforce-integration-review-skill",
|
|
16
|
+
"author": "github: Raishin",
|
|
17
|
+
"version": "0.1.0"
|
|
18
|
+
}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# Integration Anti-Patterns Reference
|
|
2
|
+
|
|
3
|
+
Common mistakes in Salesforce integration design that cause security
|
|
4
|
+
vulnerabilities, reliability failures, or operational problems.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Hardcoded Endpoints
|
|
9
|
+
|
|
10
|
+
### Description
|
|
11
|
+
API base URLs stored directly in Apex code rather than in Custom Settings,
|
|
12
|
+
Custom Metadata, or Named Credentials.
|
|
13
|
+
|
|
14
|
+
### Why It Is a Problem
|
|
15
|
+
- URL changes require code deployment (change set, package) rather than
|
|
16
|
+
configuration change.
|
|
17
|
+
- Different environments (sandbox, UAT, production) have different endpoints,
|
|
18
|
+
leading to hardcoded production URL in sandbox or vice versa.
|
|
19
|
+
- Security — endpoints are visible in code repositories.
|
|
20
|
+
|
|
21
|
+
### Detection
|
|
22
|
+
```bash
|
|
23
|
+
grep -rn "https://" --include="*.cls" force-app/main/default/classes/ | \
|
|
24
|
+
grep -v "testEndpoint\|Named Credential\|callout:"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Anti-Pattern
|
|
28
|
+
```apex
|
|
29
|
+
HttpRequest req = new HttpRequest;
|
|
30
|
+
req.setEndpoint('https://api.prod.vendor.example.com/v2/orders');
|
|
31
|
+
req.setMethod('POST');
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Correct Pattern
|
|
35
|
+
```apex
|
|
36
|
+
// Option A: Named Credential (preferred)
|
|
37
|
+
req.setEndpoint('callout:VendorAPI_Prod/v2/orders');
|
|
38
|
+
|
|
39
|
+
// Option B: Custom Metadata Type with per-environment record
|
|
40
|
+
VendorSettings__mdt settings = [
|
|
41
|
+
SELECT Endpoint__c FROM VendorSettings__mdt
|
|
42
|
+
WHERE DeveloperName = 'Production' LIMIT 1
|
|
43
|
+
];
|
|
44
|
+
req.setEndpoint(settings.Endpoint__c + '/v2/orders');
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. Missing Error Queues
|
|
50
|
+
|
|
51
|
+
### Description
|
|
52
|
+
Callouts that fail are logged only to `System.debug` or silently swallowed.
|
|
53
|
+
Failed messages are permanently lost with no retry mechanism.
|
|
54
|
+
|
|
55
|
+
### Why It Is a Problem
|
|
56
|
+
Data integrity: records that should have been sent to an external system are
|
|
57
|
+
never sent. No visibility into failure rate or failure cause.
|
|
58
|
+
|
|
59
|
+
### Correct Pattern: Dead-Letter Queue via Platform Event
|
|
60
|
+
|
|
61
|
+
```apex
|
|
62
|
+
// On callout failure, publish to an error queue event
|
|
63
|
+
public static void sendToVendor(String payload) {
|
|
64
|
+
HttpRequest req = buildRequest(payload);
|
|
65
|
+
try {
|
|
66
|
+
HttpResponse res = new Http.send(req);
|
|
67
|
+
if (res.getStatusCode >= 400) {
|
|
68
|
+
publishToErrorQueue(payload, 'HTTP ' + res.getStatusCode, 0);
|
|
69
|
+
}
|
|
70
|
+
} catch (System.CalloutException ex) {
|
|
71
|
+
publishToErrorQueue(payload, ex.getMessage, 0);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
private static void publishToErrorQueue(String payload, String error, Integer attempts) {
|
|
76
|
+
Integration_Error__e errorEvent = new Integration_Error__e(
|
|
77
|
+
Payload__c = payload,
|
|
78
|
+
ErrorMessage__c = error,
|
|
79
|
+
AttemptCount__c = attempts,
|
|
80
|
+
SourceSystem__c = 'VendorAPI',
|
|
81
|
+
OccurredAt__c = DateTime.now
|
|
82
|
+
);
|
|
83
|
+
EventBus.publish(errorEvent);
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
A separate Platform Event-triggered flow or Apex subscriber picks up the
|
|
88
|
+
error event for monitoring and retry.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 3. No Retry / No Backoff
|
|
93
|
+
|
|
94
|
+
### Description
|
|
95
|
+
Transient failures (HTTP 503, network timeout, rate limit 429) are not retried.
|
|
96
|
+
The integration gives up after the first failure.
|
|
97
|
+
|
|
98
|
+
### Why It Is a Problem
|
|
99
|
+
Transient errors are normal in distributed systems. Without retry, a 30-second
|
|
100
|
+
vendor outage causes permanent data loss.
|
|
101
|
+
|
|
102
|
+
### Retry Pattern with Exponential Backoff
|
|
103
|
+
|
|
104
|
+
```apex
|
|
105
|
+
public class RetryableIntegration implements Queueable, Database.AllowsCallouts {
|
|
106
|
+
private final String payload;
|
|
107
|
+
private final Integer attempt;
|
|
108
|
+
private static final Integer MAX_ATTEMPTS = 5;
|
|
109
|
+
private static final List<Integer> BACKOFF_SECONDS = new List<Integer>{
|
|
110
|
+
2, 4, 8, 16, 32
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
public RetryableIntegration(String payload, Integer attempt) {
|
|
114
|
+
this.payload = payload;
|
|
115
|
+
this.attempt = attempt;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
public void execute(QueueableContext ctx) {
|
|
119
|
+
HttpRequest req = buildRequest(payload);
|
|
120
|
+
HttpResponse res;
|
|
121
|
+
try {
|
|
122
|
+
res = new Http.send(req);
|
|
123
|
+
} catch (System.CalloutException ex) {
|
|
124
|
+
scheduleRetry(ex.getMessage);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (res.getStatusCode == 200 || res.getStatusCode == 201) {
|
|
129
|
+
// Success
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (isRetryable(res.getStatusCode)) {
|
|
134
|
+
scheduleRetry('HTTP ' + res.getStatusCode);
|
|
135
|
+
} else {
|
|
136
|
+
// Non-retryable (400, 401, 403) — log and stop
|
|
137
|
+
logPermanentFailure(payload, 'HTTP ' + res.getStatusCode);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
private Boolean isRetryable(Integer statusCode) {
|
|
142
|
+
return statusCode == 429 || statusCode == 503 || statusCode == 504 || statusCode == 0;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
private void scheduleRetry(String reason) {
|
|
146
|
+
if (attempt >= MAX_ATTEMPTS) {
|
|
147
|
+
logPermanentFailure(payload, reason);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
// Enqueue next attempt (backoff is simulated via Scheduled Apex delay)
|
|
151
|
+
System.enqueueJob(new RetryableIntegration(payload, attempt + 1));
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
private static void logPermanentFailure(String payload, String reason) {
|
|
155
|
+
insert new Integration_Failure__c(
|
|
156
|
+
Payload__c = payload.left(32000),
|
|
157
|
+
Reason__c = reason,
|
|
158
|
+
FailedAt__c = DateTime.now
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 4. Blocking Callouts in Trigger Context
|
|
167
|
+
|
|
168
|
+
### Description
|
|
169
|
+
Making synchronous HTTP callouts directly inside an Apex trigger is not
|
|
170
|
+
allowed when the trigger is invoked by DML from another Apex context.
|
|
171
|
+
It also blocks the database transaction for the duration of the callout.
|
|
172
|
+
|
|
173
|
+
### Why It Fails
|
|
174
|
+
`System.CalloutException: You have uncommitted work pending`
|
|
175
|
+
|
|
176
|
+
Callouts are not allowed after DML has been issued in the same transaction.
|
|
177
|
+
Triggers always have DML pending (the record being saved).
|
|
178
|
+
|
|
179
|
+
### Anti-Pattern
|
|
180
|
+
```apex
|
|
181
|
+
trigger AccountTrigger on Account (after insert) {
|
|
182
|
+
for (Account acc : Trigger.new) {
|
|
183
|
+
// FAILS: callout in trigger context
|
|
184
|
+
HttpRequest req = new HttpRequest;
|
|
185
|
+
req.setEndpoint('callout:ExternalSystem/accounts');
|
|
186
|
+
HttpResponse res = new Http.send(req); // throws CalloutException
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Correct Pattern: Async via @future
|
|
192
|
+
```apex
|
|
193
|
+
trigger AccountTrigger on Account (after insert) {
|
|
194
|
+
Set<Id> newAccountIds = Trigger.newMap.keySet;
|
|
195
|
+
ExternalSystemSync.syncAccounts(newAccountIds);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
public class ExternalSystemSync {
|
|
199
|
+
@future(callout=true)
|
|
200
|
+
public static void syncAccounts(Set<Id> accountIds) {
|
|
201
|
+
List<Account> accounts = [SELECT Id, Name, BillingAddress FROM Account
|
|
202
|
+
WHERE Id IN :accountIds];
|
|
203
|
+
for (Account acc : accounts) {
|
|
204
|
+
// Now safe to callout
|
|
205
|
+
sendToExternalSystem(acc);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Or use Queueable for better chaining control.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## 5. Exposing Internal Error Details to External Systems
|
|
216
|
+
|
|
217
|
+
### Description
|
|
218
|
+
Error responses from Apex REST endpoints or integration handlers include
|
|
219
|
+
internal Salesforce error messages, stack traces, or org IDs in the
|
|
220
|
+
response body returned to external callers.
|
|
221
|
+
|
|
222
|
+
### Why It Is a Security Risk
|
|
223
|
+
Internal error messages reveal:
|
|
224
|
+
- Apex class names and methods (aids targeted exploitation).
|
|
225
|
+
- Object and field API names (aids SOQL injection attempts).
|
|
226
|
+
- Record IDs and count information (aids enumeration attacks).
|
|
227
|
+
|
|
228
|
+
### Anti-Pattern
|
|
229
|
+
```apex
|
|
230
|
+
@RestResource(urlMapping='/api/v1/orders/*')
|
|
231
|
+
global class OrderService {
|
|
232
|
+
@HttpPost
|
|
233
|
+
global static void createOrder {
|
|
234
|
+
try {
|
|
235
|
+
// process order
|
|
236
|
+
} catch (Exception e) {
|
|
237
|
+
// VULNERABLE: exposes internal details
|
|
238
|
+
RestContext.response.statusCode = 500;
|
|
239
|
+
RestContext.response.responseBody = Blob.valueOf(e.getMessage + '\n' + e.getStackTraceString);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Correct Pattern
|
|
246
|
+
```apex
|
|
247
|
+
@RestResource(urlMapping='/api/v1/orders/*')
|
|
248
|
+
global class OrderService {
|
|
249
|
+
@HttpPost
|
|
250
|
+
global static void createOrder {
|
|
251
|
+
try {
|
|
252
|
+
// process order
|
|
253
|
+
RestContext.response.statusCode = 201;
|
|
254
|
+
} catch (Exception e) {
|
|
255
|
+
// Log internally; return generic message externally
|
|
256
|
+
System.debug(LoggingLevel.ERROR, 'Order creation failed: ' + e.getStackTraceString);
|
|
257
|
+
insert new Integration_Error__c(ErrorMessage__c = e.getMessage, OccurredAt__c = DateTime.now);
|
|
258
|
+
RestContext.response.statusCode = 500;
|
|
259
|
+
RestContext.response.responseBody = Blob.valueOf('{"error":"Internal error. Contact support."}');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Integration Anti-Pattern Summary
|
|
268
|
+
|
|
269
|
+
| Anti-Pattern | Finding Severity | Detection Method |
|
|
270
|
+
|-------------|-----------------|-----------------|
|
|
271
|
+
| Hardcoded endpoints in Apex | MEDIUM | grep for https:// in .cls files |
|
|
272
|
+
| No error queue / silent failures | HIGH | Review callout error handling |
|
|
273
|
+
| No retry for transient errors | MEDIUM | Review exception handling blocks |
|
|
274
|
+
| Synchronous callout in trigger | HIGH | Compiler error / code review |
|
|
275
|
+
| Internal error details in response | HIGH | Code review of REST resource classes |
|
|
276
|
+
| Credentials in code | CRITICAL | grep for password/token literals |
|
|
277
|
+
| Missing timeout on callout | MEDIUM | Check req.setTimeout |
|
|
278
|
+
| Unbounded response size handling | MEDIUM | Check response body size before processing |
|
|
279
|
+
| No idempotency key on POST | MEDIUM | Review for duplicate-safe design |
|
|
280
|
+
| Missing rate limit handling | MEDIUM | Check for 429 response handling |
|