@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,252 @@
|
|
|
1
|
+
# Tech Debt Indicators Reference
|
|
2
|
+
|
|
3
|
+
Common technical debt patterns in Salesforce orgs with detection queries,
|
|
4
|
+
severity assessment, and remediation approaches.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Hardcoded IDs in Metadata
|
|
9
|
+
|
|
10
|
+
### Description
|
|
11
|
+
Salesforce record IDs (15 or 18 character) embedded in Apex code, Flows,
|
|
12
|
+
Validation Rules, Formula fields, or Custom Settings.
|
|
13
|
+
|
|
14
|
+
### Why It Creates Debt
|
|
15
|
+
- IDs differ between sandboxes and production.
|
|
16
|
+
- IDs become stale when records are deleted and recreated.
|
|
17
|
+
- Forces code change for what should be a configuration change.
|
|
18
|
+
|
|
19
|
+
### Detection
|
|
20
|
+
```bash
|
|
21
|
+
# Find hardcoded IDs in Apex
|
|
22
|
+
grep -rn "[0-9A-Za-z]\{15\}\|[0-9A-Za-z]\{18\}" \
|
|
23
|
+
--include="*.cls" \
|
|
24
|
+
force-app/main/default/classes/ | \
|
|
25
|
+
grep -v "//\|test\|mock" | \
|
|
26
|
+
grep -E "[0-9][A-Za-z]{2}[0-9A-Za-z]{12}"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**PMD Rule:** `AvoidHardcodingId`
|
|
30
|
+
|
|
31
|
+
### Remediation
|
|
32
|
+
Replace with dynamic resolution:
|
|
33
|
+
```apex
|
|
34
|
+
// Replace this:
|
|
35
|
+
Id supportQueueId = '00G0000000XYZabc';
|
|
36
|
+
|
|
37
|
+
// With this:
|
|
38
|
+
Id supportQueueId = [SELECT Id FROM Group WHERE Name = 'Support Queue' AND Type = 'Queue' LIMIT 1].Id;
|
|
39
|
+
|
|
40
|
+
// Or use Custom Metadata for org-portable config:
|
|
41
|
+
OrgConfig__mdt config = [SELECT SupportQueueId__c FROM OrgConfig__mdt WHERE DeveloperName = 'Default' LIMIT 1];
|
|
42
|
+
Id supportQueueId = config.SupportQueueId__c;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 2. Deprecated Metadata (Workflow Rules, Process Builder)
|
|
48
|
+
|
|
49
|
+
### Detection Queries
|
|
50
|
+
|
|
51
|
+
```sql
|
|
52
|
+
-- Active Workflow Rules
|
|
53
|
+
SELECT Id, Name, TableEnumOrId, Description
|
|
54
|
+
FROM WorkflowRule
|
|
55
|
+
WHERE Active = true
|
|
56
|
+
ORDER BY TableEnumOrId
|
|
57
|
+
|
|
58
|
+
-- Active Process Builder
|
|
59
|
+
SELECT Label, ApiName, LastModifiedDate, Status
|
|
60
|
+
FROM FlowDefinition
|
|
61
|
+
WHERE ProcessType = 'Workflow'
|
|
62
|
+
AND Status = 'Active'
|
|
63
|
+
ORDER BY Label
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Debt Score by Count
|
|
67
|
+
|
|
68
|
+
| Active Workflow Rules | Tech Debt Level |
|
|
69
|
+
|----------------------|----------------|
|
|
70
|
+
| 0 | None |
|
|
71
|
+
| 1-10 | Low |
|
|
72
|
+
| 11-50 | Medium |
|
|
73
|
+
| > 50 | High |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 3. Managed Package Lag
|
|
78
|
+
|
|
79
|
+
### Description
|
|
80
|
+
Installed AppExchange packages that have not been updated to recent versions
|
|
81
|
+
accumulate API compatibility risks and security vulnerabilities.
|
|
82
|
+
|
|
83
|
+
### Detection
|
|
84
|
+
```sql
|
|
85
|
+
SELECT SubscriberPackage.Name,
|
|
86
|
+
SubscriberPackageVersion.MajorVersion,
|
|
87
|
+
SubscriberPackageVersion.MinorVersion,
|
|
88
|
+
SubscriberPackageVersion.PatchVersion,
|
|
89
|
+
SubscriberPackageVersion.ReleaseState
|
|
90
|
+
FROM InstalledSubscriberPackage
|
|
91
|
+
ORDER BY SubscriberPackage.Name
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Lag Assessment
|
|
95
|
+
|
|
96
|
+
| Versions Behind Current Release | Risk Level |
|
|
97
|
+
|--------------------------------|-----------|
|
|
98
|
+
| 0-1 minor | Low |
|
|
99
|
+
| 2-3 minor | Medium |
|
|
100
|
+
| 1+ major | High |
|
|
101
|
+
| 2+ major | Critical |
|
|
102
|
+
|
|
103
|
+
### Remediation
|
|
104
|
+
1. Check the AppExchange listing for the package for current version.
|
|
105
|
+
2. Review the package's release notes for breaking changes.
|
|
106
|
+
3. Test upgrade in full sandbox.
|
|
107
|
+
4. Schedule production upgrade during change window.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 4. Custom Field Bloat
|
|
112
|
+
|
|
113
|
+
### Detection
|
|
114
|
+
|
|
115
|
+
```apex
|
|
116
|
+
// Anonymous Apex: field count per custom object
|
|
117
|
+
List<String> bloatedObjects = new List<String>;
|
|
118
|
+
for (Schema.SObjectType objType : Schema.getGlobalDescribe.values) {
|
|
119
|
+
Schema.DescribeSObjectResult describe = objType.getDescribe;
|
|
120
|
+
if (!describe.isCustom) continue;
|
|
121
|
+
Integer fieldCount = describe.fields.getMap.size;
|
|
122
|
+
if (fieldCount > 80) {
|
|
123
|
+
bloatedObjects.add(describe.getName + ': ' + fieldCount + ' fields');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
for (String entry : bloatedObjects) System.debug(entry);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Standard Object Thresholds
|
|
130
|
+
|
|
131
|
+
| Object | Warning Threshold | Critical Threshold |
|
|
132
|
+
|--------|------------------|--------------------|
|
|
133
|
+
| Account | 80 fields | 150 fields |
|
|
134
|
+
| Contact | 60 fields | 120 fields |
|
|
135
|
+
| Opportunity | 70 fields | 140 fields |
|
|
136
|
+
| Lead | 50 fields | 100 fields |
|
|
137
|
+
| Case | 50 fields | 100 fields |
|
|
138
|
+
|
|
139
|
+
### Finding Orphaned Fields (Unused)
|
|
140
|
+
|
|
141
|
+
Use Salesforce Optimizer (Setup > Salesforce Optimizer) to generate a field
|
|
142
|
+
usage report. Fields with 0% usage in reports, list views, and page layouts
|
|
143
|
+
for > 6 months are candidates for archival and deletion.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 5. Test Coverage Below Threshold
|
|
148
|
+
|
|
149
|
+
Salesforce requires 75% aggregate Apex code coverage to deploy to production.
|
|
150
|
+
Best practice is 85%+ with meaningful assertions.
|
|
151
|
+
|
|
152
|
+
### Detection
|
|
153
|
+
```sql
|
|
154
|
+
SELECT PercentCovered
|
|
155
|
+
FROM ApexOrgWideCoverage
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
For per-class coverage:
|
|
159
|
+
```sql
|
|
160
|
+
SELECT ApexClassOrTrigger.Name, NumLinesCovered, NumLinesUncovered,
|
|
161
|
+
(NumLinesCovered / (NumLinesCovered + NumLinesUncovered + 0.0001)) * 100 AS CoveragePercent
|
|
162
|
+
FROM ApexCodeCoverageAggregate
|
|
163
|
+
ORDER BY CoveragePercent ASC
|
|
164
|
+
LIMIT 50
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Quality Indicators of Test Coverage
|
|
168
|
+
|
|
169
|
+
Low coverage is not the only indicator of poor testing quality:
|
|
170
|
+
- Tests with 0 assertions (`System.assert` calls) — these cover lines but
|
|
171
|
+
verify nothing.
|
|
172
|
+
- Tests that never test failure scenarios.
|
|
173
|
+
- Tests that use `SeeAllData=true` (indicates tests are not isolated).
|
|
174
|
+
|
|
175
|
+
```sql
|
|
176
|
+
-- Find test classes with SeeAllData=true (isolation debt)
|
|
177
|
+
SELECT Id, Name, Body
|
|
178
|
+
FROM ApexClass
|
|
179
|
+
WHERE Name LIKE '%Test%'
|
|
180
|
+
AND Body LIKE '%SeeAllData=true%'
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 6. Excessive Use of `System.debug`
|
|
186
|
+
|
|
187
|
+
### Description
|
|
188
|
+
Large volumes of debug statements slow Apex execution (debug logging has I/O
|
|
189
|
+
cost) and make logs unusable for diagnosis. PMD flags `System.debug` without
|
|
190
|
+
a logging level.
|
|
191
|
+
|
|
192
|
+
### Detection
|
|
193
|
+
```bash
|
|
194
|
+
grep -rn "System.debug(" --include="*.cls" force-app/ | \
|
|
195
|
+
grep -v "LoggingLevel\." | wc -l
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
More than 200 ungoverned debug statements in production code is a MEDIUM finding.
|
|
199
|
+
|
|
200
|
+
### Correct Pattern
|
|
201
|
+
```apex
|
|
202
|
+
// WRONG: ungoverned
|
|
203
|
+
System.debug('Processing account: ' + acc.Id);
|
|
204
|
+
|
|
205
|
+
// CORRECT: use appropriate level
|
|
206
|
+
System.debug(LoggingLevel.DEBUG, 'Processing account: ' + acc.Id);
|
|
207
|
+
System.debug(LoggingLevel.WARN, 'Account has no owner: ' + acc.Id);
|
|
208
|
+
System.debug(LoggingLevel.ERROR, 'Failed to update account: ' + err.getMessage);
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 7. No Trigger Handler Pattern
|
|
214
|
+
|
|
215
|
+
### Description
|
|
216
|
+
Trigger logic written directly in `.trigger` files rather than in handler
|
|
217
|
+
classes. Makes unit testing, extension, and refactoring difficult.
|
|
218
|
+
|
|
219
|
+
### Detection
|
|
220
|
+
```bash
|
|
221
|
+
# Find trigger files with more than 20 non-blank lines of logic
|
|
222
|
+
for f in force-app/main/default/triggers/*.trigger; do
|
|
223
|
+
lines=$(grep -v "^[[:space:]]*$\|^//\|^trigger" "$f" | wc -l)
|
|
224
|
+
if [ "$lines" -gt 20 ]; then
|
|
225
|
+
echo "$f: $lines lines of logic in trigger body"
|
|
226
|
+
fi
|
|
227
|
+
done
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Remediation
|
|
231
|
+
Refactor to Trigger Handler pattern:
|
|
232
|
+
- Trigger file: <= 10 lines (just routing calls to handler).
|
|
233
|
+
- Handler class: all business logic, unit-testable in isolation.
|
|
234
|
+
- See `apex-anti-patterns.md` for trigger handler pattern example.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Tech Debt Summary Dashboard
|
|
239
|
+
|
|
240
|
+
| Indicator | Query/Check | Healthy | Warning | Critical |
|
|
241
|
+
|-----------|------------|---------|---------|---------|
|
|
242
|
+
| Workflow Rules | COUNT active | 0 | 1-20 | > 20 |
|
|
243
|
+
| Process Builder | COUNT active | 0 | 1-10 | > 10 |
|
|
244
|
+
| Apex test coverage | ApexOrgWideCoverage | > 85% | 75-85% | < 75% |
|
|
245
|
+
| Hardcoded IDs in code | PMD scan count | 0 | 1-5 | > 5 |
|
|
246
|
+
| Account custom fields | COUNT fields | < 80 | 80-120 | > 120 |
|
|
247
|
+
| Package lag | Max major versions behind | 0 | 1 | > 1 |
|
|
248
|
+
| Apex API versions | Minimum version | > 55.0 | 45-55 | < 45 |
|
|
249
|
+
| Tests with SeeAllData | COUNT | 0 | 1-5 | > 5 |
|
|
250
|
+
|
|
251
|
+
API version thresholds should be updated relative to current
|
|
252
|
+
Salesforce release at assessment time.
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: salesforce-permission-model-review-skill
|
|
3
|
+
description: Use this skill when Salesforce profiles, permission sets, permission set groups, permission set licenses, muting permission sets, sharing rules, OWD, role hierarchy, IP restrictions, or session policies must be reviewed for toxic combinations and over-privilege. Flags: ModifyAllData with broad assignment, ViewAllData on PII objects, API Enabled without IP restriction, Customize Application outside admin profiles, and sharing-rule widening on regulated-data objects. Trigger phrases: "review this permission model", "check for toxic permission combinations", "is this permission set safe", "review sharing rules on this object", "assess our OWD and role hierarchy". Do not use when you need a full org posture review (use salesforce-org-assessment-skill), when metadata quality is the focus (use salesforce-metadata-review-skill), or when a live permission change is being proposed (use salesforce-live-change-approval-protocol). Works from sanitized exports only; never requests live org 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: security
|
|
10
|
+
lifecycle: experimental
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Salesforce Permission Model Review Skill
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
This skill reviews the Salesforce permission model — profiles, permission sets,
|
|
17
|
+
permission set groups, permission set licenses, muting permission sets, sharing
|
|
18
|
+
rules, OWD, role hierarchy, IP restrictions, and session policies — for
|
|
19
|
+
over-privilege, toxic combinations, and sharing design risk. It flags
|
|
20
|
+
combinations that create security or compliance exposure and produces a
|
|
21
|
+
structured findings report. It does not access live orgs or authorize changes.
|
|
22
|
+
|
|
23
|
+
## When to use
|
|
24
|
+
- A permission audit is required before a compliance review or certification.
|
|
25
|
+
- A new permission set or profile is being designed and needs adversarial review.
|
|
26
|
+
- Guest-user access patterns or sharing rule changes need security review.
|
|
27
|
+
- A toxic-permission alert has been raised and must be investigated.
|
|
28
|
+
|
|
29
|
+
## When not to use
|
|
30
|
+
- Full org posture assessment — use `salesforce-org-assessment-skill`.
|
|
31
|
+
- Metadata quality review (fields, layouts) — use `salesforce-metadata-review-skill`.
|
|
32
|
+
- Live permission change proposal — use `salesforce-live-change-approval-protocol`.
|
|
33
|
+
- Data exposure event response — use `salesforce-data-exposure-escalation-protocol`.
|
|
34
|
+
|
|
35
|
+
## Minimum payload (required inputs)
|
|
36
|
+
- Sanitized permission exports: profile XML, permission set XML, permission set
|
|
37
|
+
group definitions, sharing rule definitions, OWD settings, role hierarchy
|
|
38
|
+
summary, IP restriction settings, session policy settings.
|
|
39
|
+
- Context: approximate user population, key regulated-data objects, industry vertical.
|
|
40
|
+
|
|
41
|
+
## Workflow
|
|
42
|
+
|
|
43
|
+
### 1. Profile review
|
|
44
|
+
- List all profiles and their base permissions.
|
|
45
|
+
- Flag: `ModifyAllData` assigned to any non-system-admin profile.
|
|
46
|
+
- Flag: `ViewAllData` on profiles with access to PII-classified objects.
|
|
47
|
+
- Flag: `API Enabled` on profiles without corresponding IP restriction.
|
|
48
|
+
- Flag: `Customize Application` on profiles outside the designated admin group.
|
|
49
|
+
- Flag: `Manage Users` outside HR/IT admin profiles.
|
|
50
|
+
- Flag: profiles with direct object-level Create/Edit/Delete on financial or
|
|
51
|
+
regulated-data objects without documented business justification.
|
|
52
|
+
|
|
53
|
+
### 2. Permission set review
|
|
54
|
+
- List all permission sets and their grants.
|
|
55
|
+
- Flag: permission sets granting `ModifyAllData` or `ViewAllData` that are
|
|
56
|
+
assigned broadly (> configurable user threshold).
|
|
57
|
+
- Flag: permission sets duplicating profile permissions (redundant, adds attack surface).
|
|
58
|
+
- Flag: permission sets with no current assignees (orphaned — attack surface if reassigned).
|
|
59
|
+
- Flag: `Field Service`
|
|
60
|
+
or
|
|
61
|
+
`Experience Cloud`
|
|
62
|
+
permission sets
|
|
63
|
+
granting object access beyond their intended scope.
|
|
64
|
+
|
|
65
|
+
### 3. Permission set groups and muting
|
|
66
|
+
- Review permission set group composition.
|
|
67
|
+
- Flag: muting permission sets that silently narrow permissions without clear documentation.
|
|
68
|
+
- Flag: permission set groups that combine permissions creating toxic combinations.
|
|
69
|
+
|
|
70
|
+
### 4. Sharing model review
|
|
71
|
+
- Review OWD (Organization-Wide Defaults) per object.
|
|
72
|
+
- Flag: OWD = Public Read/Write on objects containing PII or financial data.
|
|
73
|
+
- Flag: OWD = Public Read Only on regulated-data objects where stricter control is expected.
|
|
74
|
+
- Review role hierarchy: flag roles that grant data access beyond job function.
|
|
75
|
+
- Review sharing rules:
|
|
76
|
+
- Flag: criteria-based rules that are effectively always-true.
|
|
77
|
+
- Flag: sharing rules on objects classified as regulated data.
|
|
78
|
+
- Flag: sharing rules granting Edit access where Read is sufficient.
|
|
79
|
+
|
|
80
|
+
### 5. Guest user review
|
|
81
|
+
- Review guest-user profile permissions (Experience Cloud
|
|
82
|
+
).
|
|
83
|
+
- Flag: guest-user profile with any object-level Read access to records containing PII.
|
|
84
|
+
- Flag: sharing sets that grant guest users access to records via lookup relationships
|
|
85
|
+
that could expose unintended records.
|
|
86
|
+
- Flag: public-site access (Sites
|
|
87
|
+
) with
|
|
88
|
+
Apex REST endpoints lacking CSRF protection.
|
|
89
|
+
|
|
90
|
+
### 6. IP restrictions and session policies
|
|
91
|
+
- Flag: named credentials or connected apps without IP allowlisting in production.
|
|
92
|
+
- Flag: session timeout > configurable threshold for privileged user groups.
|
|
93
|
+
- Flag: `Lock sessions to the IP address from which they originated` disabled
|
|
94
|
+
for profiles with sensitive permissions.
|
|
95
|
+
|
|
96
|
+
## Toxic combination registry
|
|
97
|
+
These specific combinations always produce a Critical or High finding:
|
|
98
|
+
|
|
99
|
+
| Combination | Risk | Rating |
|
|
100
|
+
|---|---|---|
|
|
101
|
+
| `ModifyAllData` + broad assignment (> threshold users) | Mass data destruction or exfiltration | Critical |
|
|
102
|
+
| `ViewAllData` + PII object access + no IP restriction | PII exposure | Critical |
|
|
103
|
+
| `API Enabled` + no IP restriction + sensitive object access | API-based data exfiltration | High |
|
|
104
|
+
| `Customize Application` + non-admin profile | Privilege escalation via metadata change | High |
|
|
105
|
+
| `Manage Users` + no IP restriction | Account takeover / privilege escalation | High |
|
|
106
|
+
| Guest user + sharing set + PII object | Unauthenticated PII exposure | Critical |
|
|
107
|
+
| `ModifyAllData` + `Manage Users` on same profile | Full org compromise posture | Critical |
|
|
108
|
+
|
|
109
|
+
## Evidence requirements
|
|
110
|
+
- Sanitized permission exports; no credentials, session tokens, or customer data.
|
|
111
|
+
- OWD settings and role hierarchy summary are required for sharing model review.
|
|
112
|
+
- User assignment counts (not names) are required for broad-assignment checks.
|
|
113
|
+
|
|
114
|
+
## Output format
|
|
115
|
+
```
|
|
116
|
+
permission_model_findings:
|
|
117
|
+
profile_findings:
|
|
118
|
+
- finding: [description]
|
|
119
|
+
severity: Critical | High | Medium | Low
|
|
120
|
+
combination: [which toxic combination, if applicable]
|
|
121
|
+
evidence: [what in the export supports this]
|
|
122
|
+
recommendation: [brief]
|
|
123
|
+
permission_set_findings: [same structure]
|
|
124
|
+
sharing_model_findings: [same structure]
|
|
125
|
+
guest_user_findings: [same structure]
|
|
126
|
+
ip_session_findings: [same structure]
|
|
127
|
+
|
|
128
|
+
toxic_combinations_detected: [list from registry]
|
|
129
|
+
escalation_gates_fired: [from salesforce-risk-taxonomy, or "none"]
|
|
130
|
+
summary:
|
|
131
|
+
critical_count: [count]
|
|
132
|
+
high_count: [count]
|
|
133
|
+
assumptions: [list]
|
|
134
|
+
missing_evidence: [what would improve the review]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Redaction rules
|
|
138
|
+
- Never request secrets, credentials, OAuth tokens, refresh tokens, session IDs, MFA seeds, customer PII.
|
|
139
|
+
- Sanitize org IDs, user IDs (replace with placeholders) before sharing in outputs.
|
|
140
|
+
- Do not include actual user names; use role and count references only.
|
|
141
|
+
|
|
142
|
+
## Privilege / data handling rules
|
|
143
|
+
- Permission review findings involving regulated data must be flagged for compliance specialist review.
|
|
144
|
+
- Guest-user findings involving PII must trigger salesforce-data-exposure-escalation-protocol.
|
|
145
|
+
|
|
146
|
+
## Handoff rules
|
|
147
|
+
- Hands off to: salesforce-org-assessment-skill (full posture context),
|
|
148
|
+
salesforce-data-exposure-escalation-protocol (if guest-user PII exposure confirmed),
|
|
149
|
+
salesforce-case-capsule (structured handoff for any Critical finding).
|
|
150
|
+
- Required handoff fields: matter_id, toxic_combinations_detected, escalation_gates_fired,
|
|
151
|
+
critical_count, assumptions.
|
|
152
|
+
|
|
153
|
+
## Audit log fields
|
|
154
|
+
- matter_id, skill_id, skill_version, invoked_by, input_hash, evidence_quality, output_verdict, escalation_fired, timestamp
|
|
155
|
+
|
|
156
|
+
## Stop conditions
|
|
157
|
+
- Export contains live credentials or session tokens — stop and ask for sanitized version.
|
|
158
|
+
- Guest-user PII exposure is confirmed — stop, output ESCALATE, invoke salesforce-data-exposure-escalation-protocol.
|
|
159
|
+
- Critical toxic combination detected in a production org — stop and require human review before continuing.
|
|
160
|
+
|
|
161
|
+
## Security notes
|
|
162
|
+
- Read-only static review; never requests live org access or runs SOQL queries.
|
|
163
|
+
- Sanitized inputs only; any input containing credentials must be refused.
|
|
164
|
+
- Toxic combinations are objective findings; remediation requires human-authorized change management.
|
|
165
|
+
- Guest-user exposure is always escalation-grade regardless of record count.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "salesforce-permission-model-review-skill",
|
|
3
|
+
"name": "Salesforce Permission Model Review Skill",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "salesforce",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Reviews Salesforce profiles, permission sets, permission set groups, muting, sharing rules, OWD, role hierarchy, IP restrictions, and session policies for toxic combinations and over-privilege, flagging ModifyAllData, ViewAllData on PII, API Enabled without IP restriction, guest-user exposure, and Customize Application outside admins.",
|
|
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 review; sanitized exports only; never requests live org credentials or API access. Guest-user PII exposure always triggers escalation-protocol. Toxic combinations are objective findings requiring human-authorized remediation.",
|
|
14
|
+
"last_verified": "2026-05-20",
|
|
15
|
+
"path": "skills/salesforce/salesforce-permission-model-review-skill",
|
|
16
|
+
"author": "github: Raishin",
|
|
17
|
+
"version": "0.1.0"
|
|
18
|
+
}
|
package/skills/salesforce/salesforce-permission-model-review-skill/references/fls-review-patterns.md
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# FLS Review Patterns Reference
|
|
2
|
+
|
|
3
|
+
Field-Level Security review patterns for identifying and remediating
|
|
4
|
+
unauthorized access to PII, encrypted fields, and regulated data in Salesforce.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## What Field-Level Security Controls
|
|
9
|
+
|
|
10
|
+
Field-Level Security (FLS) determines which fields a user can read or edit
|
|
11
|
+
on an object. It operates independently from record sharing:
|
|
12
|
+
- **Record sharing** controls whether a user can see the record at all.
|
|
13
|
+
- **FLS** controls which fields within an accessible record the user can see or edit.
|
|
14
|
+
|
|
15
|
+
A user might have read access to a Contact record but FLS may hide the
|
|
16
|
+
SSN__c field for that user's profile/permission set configuration.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## FLS Enforcement Gaps in Apex
|
|
21
|
+
|
|
22
|
+
The most common FLS gap is Apex code that queries and returns fields without
|
|
23
|
+
checking whether the running user has FLS access to those fields.
|
|
24
|
+
|
|
25
|
+
### Why Apex Bypasses FLS By Default
|
|
26
|
+
|
|
27
|
+
SOQL executed in Apex system context returns all fields regardless of FLS.
|
|
28
|
+
Even `with sharing` only enforces row-level access, not field-level access.
|
|
29
|
+
|
|
30
|
+
### Detection: Find @AuraEnabled Methods Returning Sensitive Fields
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Find Apex methods that return Contact with SSN or financial fields
|
|
34
|
+
grep -rn "SSN__c\|CreditScore__c\|BankAccount__c\|TaxId__c" \
|
|
35
|
+
--include="*.cls" \
|
|
36
|
+
force-app/main/default/classes/
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Then check each result for the presence of FLS enforcement:
|
|
40
|
+
```bash
|
|
41
|
+
# Verify Security.stripInaccessible or WITH SECURITY_ENFORCED nearby
|
|
42
|
+
grep -A5 -B5 "SSN__c" force-app/main/default/classes/ContactController.cls | \
|
|
43
|
+
grep -E "stripInaccessible|SECURITY_ENFORCED|isAccessible"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## FLS Enforcement Methods
|
|
49
|
+
|
|
50
|
+
### Method 1: WITH SECURITY_ENFORCED in SOQL
|
|
51
|
+
|
|
52
|
+
```apex
|
|
53
|
+
// Throws QueryException if user lacks FLS read on any field in SELECT
|
|
54
|
+
@AuraEnabled
|
|
55
|
+
public static List<Contact> getSensitiveContacts {
|
|
56
|
+
return [
|
|
57
|
+
SELECT Id, Name, Email, SSN__c, TaxId__c
|
|
58
|
+
FROM Contact
|
|
59
|
+
WITH SECURITY_ENFORCED
|
|
60
|
+
LIMIT 100
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Limitation:** If the field is in the SELECT clause and the user lacks access,
|
|
66
|
+
the entire query throws an exception. This is all-or-nothing — you cannot
|
|
67
|
+
selectively strip one field and return the rest with this approach.
|
|
68
|
+
|
|
69
|
+
### Method 2: Security.stripInaccessible
|
|
70
|
+
|
|
71
|
+
```apex
|
|
72
|
+
@AuraEnabled
|
|
73
|
+
public static List<Contact> getSensitiveContacts {
|
|
74
|
+
// Query without FLS enforcement first
|
|
75
|
+
List<Contact> rawContacts = [
|
|
76
|
+
SELECT Id, Name, Email, SSN__c, TaxId__c
|
|
77
|
+
FROM Contact
|
|
78
|
+
LIMIT 100
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
// Strip fields the running user cannot read
|
|
82
|
+
SObjectAccessDecision decision = Security.stripInaccessible(
|
|
83
|
+
AccessType.READABLE,
|
|
84
|
+
rawContacts
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
// Returns records with inaccessible fields removed
|
|
88
|
+
return (List<Contact>) decision.getRecords;
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
`stripInaccessible` strips fields silently rather than throwing an exception.
|
|
93
|
+
The returned records simply do not have the restricted field populated.
|
|
94
|
+
|
|
95
|
+
### Method 3: WITH USER_MODE (API 57.0+)
|
|
96
|
+
|
|
97
|
+
```apex
|
|
98
|
+
// Runs query entirely in user context: sharing rules + FLS + CRUD all enforced
|
|
99
|
+
@AuraEnabled
|
|
100
|
+
public static List<Contact> getSensitiveContacts {
|
|
101
|
+
return [
|
|
102
|
+
SELECT Id, Name, Email, SSN__c
|
|
103
|
+
FROM Contact
|
|
104
|
+
WITH USER_MODE
|
|
105
|
+
LIMIT 100
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
`WITH USER_MODE` is the most comprehensive enforcement — use this when possible
|
|
111
|
+
in new code (Salesforce API version 57.0 and above).
|
|
112
|
+
|
|
113
|
+
### Method 4: Manual FLS Check
|
|
114
|
+
|
|
115
|
+
```apex
|
|
116
|
+
public static Boolean canReadField(SObjectType objType, String fieldApiName) {
|
|
117
|
+
return objType.getDescribe
|
|
118
|
+
.fields
|
|
119
|
+
.getMap
|
|
120
|
+
.get(fieldApiName)
|
|
121
|
+
?.getDescribe
|
|
122
|
+
.isAccessible ?? false;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// Usage
|
|
126
|
+
if (!canReadField(Contact.SObjectType, 'SSN__c')) {
|
|
127
|
+
throw new AuraHandledException('You do not have access to this information.');
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## PII Field Classification for FLS Review
|
|
134
|
+
|
|
135
|
+
### High-Priority Fields Requiring Restrictive FLS
|
|
136
|
+
|
|
137
|
+
| Object | Field API Name Pattern | Classification |
|
|
138
|
+
|--------|----------------------|----------------|
|
|
139
|
+
| Contact, Lead, Individual | `SSN__c`, `NationalId__c`, `TaxId__c` | Restricted PII |
|
|
140
|
+
| Contact | `BirthDate` | Sensitive PII |
|
|
141
|
+
| Contact, Account | `CreditScore__c`, `BankAccount__c` | Financial PII |
|
|
142
|
+
| HealthCloudGA__EhrPatient__c | All fields | PHI (HIPAA) |
|
|
143
|
+
| FinServ__FinancialAccount__c | `FinServ__Balance__c`, account number fields | Financial PII |
|
|
144
|
+
| Contact | `Password__c`, `SecurityAnswer__c` | Credential (should not exist in Salesforce) |
|
|
145
|
+
| Contact | `PassportNumber__c`, `DriversLicense__c` | Government ID |
|
|
146
|
+
|
|
147
|
+
### Standard Fields Requiring FLS Review
|
|
148
|
+
|
|
149
|
+
| Object | Field | Caution |
|
|
150
|
+
|--------|-------|---------|
|
|
151
|
+
| User | `Username`, `Email` | Identity data; restrict from non-admin users |
|
|
152
|
+
| Contact | `Email` | Core PII; verify FLS aligns with consent model |
|
|
153
|
+
| Lead | `Email`, `Phone` | Contact data; restrict edit to owners |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## FLS Audit Queries
|
|
158
|
+
|
|
159
|
+
### Find Fields Without FLS Restrictions (All Profiles Can Read)
|
|
160
|
+
|
|
161
|
+
```apex
|
|
162
|
+
// Check FLS for a specific field across all active profiles
|
|
163
|
+
String objectApiName = 'Contact';
|
|
164
|
+
String fieldApiName = 'SSN__c';
|
|
165
|
+
|
|
166
|
+
List<FieldPermissions> fps = [
|
|
167
|
+
SELECT Id, Parent.Label, Field, PermissionsRead, PermissionsEdit
|
|
168
|
+
FROM FieldPermissions
|
|
169
|
+
WHERE SobjectType = :objectApiName
|
|
170
|
+
AND Field = :(objectApiName + '.' + fieldApiName)
|
|
171
|
+
ORDER BY Parent.Label
|
|
172
|
+
];
|
|
173
|
+
|
|
174
|
+
for (FieldPermissions fp : fps) {
|
|
175
|
+
if (fp.PermissionsRead) {
|
|
176
|
+
System.debug('READ ACCESS: ' + fp.Parent.Label + ' -> ' + fp.Field);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Find Profiles with Broad Field Access
|
|
182
|
+
|
|
183
|
+
```sql
|
|
184
|
+
-- Via SOQL: identify Permission Sets with read access to sensitive fields
|
|
185
|
+
SELECT Parent.Label, Field, PermissionsRead, PermissionsEdit
|
|
186
|
+
FROM FieldPermissions
|
|
187
|
+
WHERE SobjectType = 'Contact'
|
|
188
|
+
AND Field IN ('Contact.SSN__c', 'Contact.TaxId__c', 'Contact.BankAccount__c')
|
|
189
|
+
AND PermissionsRead = true
|
|
190
|
+
ORDER BY Parent.Label
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## FLS Review Checklist by Data Type
|
|
196
|
+
|
|
197
|
+
### For Each Regulated/Sensitive Object
|
|
198
|
+
|
|
199
|
+
- [ ] Default FLS for sensitive fields is Read=false, Edit=false on all profiles.
|
|
200
|
+
- [ ] Access to sensitive fields granted only via named Permission Sets.
|
|
201
|
+
- [ ] Permission Sets granting field access have documented business justification.
|
|
202
|
+
- [ ] Number of users with field access is documented and reviewed annually.
|
|
203
|
+
- [ ] Apex code querying sensitive fields uses `stripInaccessible`, `WITH SECURITY_ENFORCED`, or `WITH USER_MODE`.
|
|
204
|
+
- [ ] LWC components receiving sensitive field data enforce FLS at the Apex layer.
|
|
205
|
+
- [ ] Reports using sensitive fields are in restricted-access report folders.
|
|
206
|
+
|
|
207
|
+
### For @AuraEnabled Methods Returning SObjects
|
|
208
|
+
|
|
209
|
+
- [ ] Method uses `with sharing` on the class.
|
|
210
|
+
- [ ] Method uses at least one FLS enforcement mechanism (see Method 1-3 above).
|
|
211
|
+
- [ ] Method does not log sensitive field values to `System.debug`.
|
|
212
|
+
- [ ] Method does not include sensitive fields in error messages returned to the UI.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## FLS and Report Access
|
|
217
|
+
|
|
218
|
+
FLS applies to reports: users without FLS read access to a field cannot add
|
|
219
|
+
that field to a report. However, if a report was saved by an admin who had
|
|
220
|
+
access, and then shared with a user who lacks FLS access, the behavior varies
|
|
221
|
+
by report type.
|
|
222
|
+
|
|
223
|
+
**Recommendation:** Store reports containing sensitive fields in folders with
|
|
224
|
+
restricted access matching the FLS grant.
|
|
225
|
+
|
|
226
|
+
```sql
|
|
227
|
+
-- Find report folders with their access levels
|
|
228
|
+
SELECT Id, Name, AccessType, DeveloperName
|
|
229
|
+
FROM Folder
|
|
230
|
+
WHERE Type = 'Report'
|
|
231
|
+
ORDER BY AccessType, Name
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
`AccessType = 'Public'` means all users can access reports in this folder —
|
|
235
|
+
review whether any report in a public folder contains restricted fields.
|