@salesforce/afv-skills 1.6.8 → 1.7.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.
Files changed (93) hide show
  1. package/package.json +3 -3
  2. package/skills/developing-agentforce/README.md +112 -0
  3. package/skills/{agentforce-development → developing-agentforce}/SKILL.md +109 -16
  4. package/skills/{agentforce-development → developing-agentforce}/assets/agents/README.md +2 -2
  5. package/skills/developing-agentforce/assets/agents/order-service.agent +272 -0
  6. package/skills/developing-agentforce/assets/agents/verification-gate.agent +280 -0
  7. package/skills/{agentforce-development → developing-agentforce}/assets/bundle-meta.xml +1 -1
  8. package/skills/{agentforce-development → developing-agentforce}/references/actions-reference.md +20 -0
  9. package/skills/{agentforce-development → developing-agentforce}/references/agent-design-and-spec-creation.md +1 -1
  10. package/skills/{agentforce-development → developing-agentforce}/references/agent-metadata-and-lifecycle.md +3 -3
  11. package/skills/{agentforce-development → developing-agentforce}/references/agent-script-core-language.md +40 -3
  12. package/skills/{agentforce-development → developing-agentforce}/references/agent-user-setup.md +60 -57
  13. package/skills/{agentforce-development → developing-agentforce}/references/agent-validation-and-debugging.md +22 -20
  14. package/skills/developing-agentforce/references/architecture-patterns.md +158 -0
  15. package/skills/developing-agentforce/references/complex-data-types.md +57 -0
  16. package/skills/developing-agentforce/references/deploy-reference.md +134 -0
  17. package/skills/developing-agentforce/references/discover-reference.md +102 -0
  18. package/skills/developing-agentforce/references/examples.md +350 -0
  19. package/skills/developing-agentforce/references/feature-validity.md +43 -0
  20. package/skills/developing-agentforce/references/instruction-resolution.md +545 -0
  21. package/skills/{agentforce-development → developing-agentforce}/references/known-issues.md +18 -18
  22. package/skills/{agentforce-development → developing-agentforce}/references/production-gotchas.md +24 -3
  23. package/skills/developing-agentforce/references/safety-review-reference.md +145 -0
  24. package/skills/{agentforce-development → developing-agentforce}/references/salesforce-cli-for-agents.md +9 -7
  25. package/skills/developing-agentforce/references/scaffold-reference.md +153 -0
  26. package/skills/developing-agentforce/references/scoring-rubric.md +24 -0
  27. package/skills/{agentforce-development → developing-agentforce}/references/version-history.md +2 -2
  28. package/skills/generating-ui-bundle-site/SKILL.md +3 -3
  29. package/skills/observing-agentforce/SKILL.md +368 -0
  30. package/skills/observing-agentforce/apex/AgentforceOptimizeService.cls +1262 -0
  31. package/skills/observing-agentforce/apex/AgentforceOptimizeService.cls-meta.xml +5 -0
  32. package/skills/observing-agentforce/references/improve-reference.md +359 -0
  33. package/skills/observing-agentforce/references/issue-classification.md +220 -0
  34. package/skills/observing-agentforce/references/reproduce-reference.md +131 -0
  35. package/skills/observing-agentforce/references/stdm-queries.md +381 -0
  36. package/skills/observing-agentforce/references/stdm-schema.md +189 -0
  37. package/skills/testing-agentforce/SKILL.md +335 -0
  38. package/skills/testing-agentforce/assets/basic-test-spec.yaml +59 -0
  39. package/skills/testing-agentforce/assets/guardrail-test-spec.yaml +101 -0
  40. package/skills/testing-agentforce/assets/standard-test-spec.yaml +123 -0
  41. package/skills/testing-agentforce/references/action-execution.md +241 -0
  42. package/skills/testing-agentforce/references/batch-testing.md +274 -0
  43. package/skills/testing-agentforce/references/preview-testing.md +353 -0
  44. package/skills/testing-agentforce/references/test-report-format.md +160 -0
  45. package/skills/testing-agentforce/references/troubleshooting.md +73 -0
  46. /package/skills/{agentforce-development → developing-agentforce}/assets/README-legacy.md +0 -0
  47. /package/skills/{agentforce-development → developing-agentforce}/assets/agent-spec-template.md +0 -0
  48. /package/skills/{agentforce-development → developing-agentforce}/assets/agents/hello-world.agent +0 -0
  49. /package/skills/{agentforce-development → developing-agentforce}/assets/agents/multi-topic.agent +0 -0
  50. /package/skills/{agentforce-development → developing-agentforce}/assets/agents/production-faq.agent +0 -0
  51. /package/skills/{agentforce-development → developing-agentforce}/assets/agents/production-faq.bundle-meta.xml +0 -0
  52. /package/skills/{agentforce-development → developing-agentforce}/assets/agents/simple-qa.agent +0 -0
  53. /package/skills/{agentforce-development → developing-agentforce}/assets/apex/models-api-queueable.cls +0 -0
  54. /package/skills/{agentforce-development → developing-agentforce}/assets/components/apex-action.agent +0 -0
  55. /package/skills/{agentforce-development → developing-agentforce}/assets/components/error-handling.agent +0 -0
  56. /package/skills/{agentforce-development → developing-agentforce}/assets/components/escalation-setup.agent +0 -0
  57. /package/skills/{agentforce-development → developing-agentforce}/assets/components/flow-action.agent +0 -0
  58. /package/skills/{agentforce-development → developing-agentforce}/assets/components/n-ary-conditions.agent +0 -0
  59. /package/skills/{agentforce-development → developing-agentforce}/assets/components/topic-with-actions.agent +0 -0
  60. /package/skills/{agentforce-development → developing-agentforce}/assets/deterministic-routing.agent +0 -0
  61. /package/skills/{agentforce-development → developing-agentforce}/assets/escalation-pattern.agent +0 -0
  62. /package/skills/{agentforce-development → developing-agentforce}/assets/flow-action-lookup.agent +0 -0
  63. /package/skills/{agentforce-development → developing-agentforce}/assets/hub-and-spoke.agent +0 -0
  64. /package/skills/{agentforce-development → developing-agentforce}/assets/invocable-apex-template.cls +0 -0
  65. /package/skills/{agentforce-development → developing-agentforce}/assets/local-info-agent-annotated.agent +0 -0
  66. /package/skills/{agentforce-development → developing-agentforce}/assets/metadata/basic-prompt-template.promptTemplate-meta.xml +0 -0
  67. /package/skills/{agentforce-development → developing-agentforce}/assets/metadata/genai-function-apex.xml +0 -0
  68. /package/skills/{agentforce-development → developing-agentforce}/assets/metadata/genai-function-flow.xml +0 -0
  69. /package/skills/{agentforce-development → developing-agentforce}/assets/metadata/genai-plugin.xml +0 -0
  70. /package/skills/{agentforce-development → developing-agentforce}/assets/metadata/http-callout-flow.flow-meta.xml +0 -0
  71. /package/skills/{agentforce-development → developing-agentforce}/assets/metadata/record-grounded-prompt.promptTemplate-meta.xml +0 -0
  72. /package/skills/{agentforce-development → developing-agentforce}/assets/minimal-starter.agent +0 -0
  73. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/README.md +0 -0
  74. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/action-callbacks.agent +0 -0
  75. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/advanced-input-bindings.agent +0 -0
  76. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/bidirectional-routing.agent +0 -0
  77. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/critical-input-collection.agent +0 -0
  78. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/delegation-routing.agent +0 -0
  79. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/lifecycle-events.agent +0 -0
  80. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/llm-controlled-actions.agent +0 -0
  81. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/multi-step-workflow.agent +0 -0
  82. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/open-gate-routing.agent +0 -0
  83. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/procedural-instructions.agent +0 -0
  84. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/prompt-template-action.agent +0 -0
  85. /package/skills/{agentforce-development → developing-agentforce}/assets/patterns/system-instruction-overrides.agent +0 -0
  86. /package/skills/{agentforce-development → developing-agentforce}/assets/prompt-rag-search.agent +0 -0
  87. /package/skills/{agentforce-development → developing-agentforce}/assets/template-multi-topic.agent +0 -0
  88. /package/skills/{agentforce-development → developing-agentforce}/assets/template-single-topic.agent +0 -0
  89. /package/skills/{agentforce-development → developing-agentforce}/assets/verification-gate.agent +0 -0
  90. /package/skills/{agentforce-development → developing-agentforce}/references/action-prompt-templates.md +0 -0
  91. /package/skills/{agentforce-development → developing-agentforce}/references/agent-access-guide.md +0 -0
  92. /package/skills/{agentforce-development → developing-agentforce}/references/agent-topic-map-diagrams.md +0 -0
  93. /package/skills/{agentforce-development → developing-agentforce}/references/minimal-examples.md +0 -0
@@ -0,0 +1,160 @@
1
+ # Test Report Format, Coverage Analysis, and CI/CD — Reference
2
+
3
+ ## Summary Report
4
+
5
+ ```
6
+ Agentforce Agent Test Report
7
+ ===========================================
8
+
9
+ Agent: OrderManagementAgent
10
+ Org: production
11
+ Test Cases: 6
12
+ Duration: 45.2s
13
+
14
+ Results:
15
+ Topic Routing: 5/6 passed (83.3%)
16
+ Action Invocation: 4/6 passed (66.7%)
17
+ Grounding: 6/6 passed (100%)
18
+ Safety: 6/6 passed (100%)
19
+ Response Quality: 5/6 passed (83.3%)
20
+
21
+ Overall Score: 86.7%
22
+ Status: PASSED WITH WARNINGS
23
+ ```
24
+
25
+ ## Detailed Test Cases
26
+
27
+ ```
28
+ Test Case 1: "Where is my order?"
29
+ Expected Topic: order_mgmt
30
+ Actual Topic: order_mgmt (pass)
31
+ Expected Action: get_order_status
32
+ Actual Action: get_order_status (pass)
33
+ Grounding: GROUNDED (pass)
34
+ Safety Score: 0.95 (pass)
35
+ Response Quality: Relevant (pass)
36
+
37
+ Test Case 2: "I want to return this"
38
+ Expected Topic: returns
39
+ Actual Topic: order_mgmt (fail - misrouted)
40
+ Fix Applied: Expanded 'returns' topic description
41
+ Retry Result: Correctly routed (pass)
42
+ ```
43
+
44
+ ## Coverage Analysis
45
+
46
+ Track which topics and actions are tested across both modes:
47
+
48
+ | Dimension | Target | How to measure |
49
+ |-----------|--------|----------------|
50
+ | Topic coverage | 100% of non-entry topics | Count topics with at least 1 test case |
51
+ | Action coverage | 100% of actions | Count actions with at least 1 test case targeting them |
52
+ | Phrasing diversity | 3+ utterances per topic (production) | Multiple wordings per intent |
53
+ | Guardrail coverage | At least 1 off-topic test | Verify agent deflects non-relevant queries |
54
+ | Multi-turn coverage | Test topic transitions | Conversation history tests |
55
+ | Escalation coverage | Test escalation triggers | Verify human handoff works |
56
+
57
+ ## CI/CD with Testing Center
58
+
59
+ For CI/CD pipelines, use Mode B (Testing Center) for persistent regression suites:
60
+
61
+ ```yaml
62
+ # .github/workflows/agent-testing.yml
63
+ name: Agent Testing
64
+ on:
65
+ pull_request:
66
+ paths:
67
+ - 'force-app/**/*.agent'
68
+
69
+ jobs:
70
+ test:
71
+ runs-on: ubuntu-latest
72
+ steps:
73
+ - uses: actions/checkout@v3
74
+
75
+ - name: Authenticate org
76
+ run: |
77
+ echo "${{ secrets.SFDX_AUTH_URL }}" > auth.txt
78
+ sf org login sfdx-url --sfdx-url-file auth.txt --alias testorg
79
+
80
+ - name: Deploy test suite
81
+ run: |
82
+ sf agent test create --json \
83
+ --spec tests/${{ vars.AGENT_NAME }}-testing-center.yaml \
84
+ --api-name ${{ vars.AGENT_NAME }}_CI \
85
+ --force-overwrite \
86
+ -o testorg
87
+
88
+ - name: Run tests
89
+ run: |
90
+ sf agent test run --json \
91
+ --api-name ${{ vars.AGENT_NAME }}_CI \
92
+ --wait 15 \
93
+ --result-format junit \
94
+ --output-dir test-results \
95
+ -o testorg
96
+
97
+ - name: Upload test results
98
+ uses: actions/upload-artifact@v3
99
+ with:
100
+ name: agent-test-results
101
+ path: test-results/
102
+ ```
103
+
104
+ ## Cross-Skill Integration (/observing-agentforce)
105
+
106
+ The /observing-agentforce skill creates test cases during its Phase 3.7 after fixing issues found through STDM session analysis. These test cases use **Testing Center format** so they can be deployed directly to the org.
107
+
108
+ ### Test Case Convention
109
+
110
+ Test cases from /observing-agentforce follow Testing Center YAML format:
111
+
112
+ ```yaml
113
+ # tests/<AgentApiName>-regression.yaml
114
+ name: "<AgentName> Regression Tests"
115
+ subjectType: AGENT
116
+ subjectName: <AgentApiName>
117
+
118
+ testCases:
119
+ - utterance: "find me a home in San Jose"
120
+ expectedTopic: home_search
121
+ expectedActions:
122
+ - search_homes_and_communities
123
+
124
+ - utterance: "I have a legal dispute"
125
+ expectedTopic: escalation
126
+ expectedActions:
127
+ - transfer_to_agent
128
+ ```
129
+
130
+ ### Deploying Cross-Skill Tests
131
+
132
+ When /observing-agentforce generates test cases, deploy them using Mode B:
133
+
134
+ ```bash
135
+ # Deploy the regression test suite
136
+ sf agent test create --json \
137
+ --spec tests/<AgentApiName>-regression.yaml \
138
+ --api-name <AgentApiName>_Regression \
139
+ --force-overwrite \
140
+ -o <org>
141
+
142
+ # Run
143
+ sf agent test run --json \
144
+ --api-name <AgentApiName>_Regression \
145
+ --wait 10 \
146
+ --result-format json \
147
+ -o <org>
148
+ ```
149
+
150
+ ### Test File Location Convention
151
+
152
+ ```
153
+ <project-root>/
154
+ tests/
155
+ <AgentApiName>-testing-center.yaml # Full smoke suite (Mode B -- Testing Center)
156
+ <AgentApiName>-regression.yaml # Regression tests from /observing-agentforce (Mode B)
157
+ <AgentApiName>-smoke.yaml # Ad-hoc smoke tests (Mode A -- preview only)
158
+ ```
159
+
160
+ Both this skill and /observing-agentforce write to the `tests/` directory using the agent's API name as prefix. Testing Center files (`-testing-center.yaml`, `-regression.yaml`) use the `name/subjectType/subjectName/testCases` format.
@@ -0,0 +1,73 @@
1
+ # Troubleshooting, Best Practices, and Dependencies — Reference
2
+
3
+ ## Common Issues
4
+
5
+ | Issue | Cause | Solution |
6
+ |-------|-------|----------|
7
+ | Session timeout | Long-running tests | Split into smaller batches |
8
+ | Trace not found | CLI version issue | Update to sf CLI 2.121.7+ |
9
+ | Action mock fails | Complex inputs | Use `--use-live-actions` flag |
10
+ | Context variables missing | Preview limitation | Use Runtime API for context tests |
11
+ | `jq` parse error on preview output | Control characters in CLI output | Use Python `re.sub` + `json.loads` (see below). `tr` via bash pipes is unreliable -- control chars survive `echo "$VAR"` expansion. |
12
+
13
+ ### Defensive JSON Parsing
14
+
15
+ `sf agent preview` output may contain control characters (e.g. `\x08`, `\x1b`) that break `jq` and `json.loads`. Always sanitize before parsing.
16
+
17
+ **Use Python `re.sub`** -- this is the only reliable approach. The `tr` command via `echo "$VAR" | tr -d ...` is unreliable because bash variable expansion and `echo` can re-introduce or mangle control characters:
18
+
19
+ ```bash
20
+ # Recommended: Python re.sub (handles all control characters reliably)
21
+ python3 -c "
22
+ import json, sys, re
23
+ raw = sys.stdin.read()
24
+ clean = re.sub(r'[\x00-\x08\x0b\x0c\x0e-\x1f]', '', raw)
25
+ data = json.loads(clean)
26
+ print(json.dumps(data.get('result', {}), indent=2))
27
+ " <<< "$RESPONSE"
28
+ ```
29
+
30
+ ## Debug Mode
31
+
32
+ Enable detailed logging for preview sessions:
33
+
34
+ ```bash
35
+ # Enable SF CLI debug output
36
+ export SF_LOG_LEVEL=debug
37
+
38
+ # Run preview with verbose output (--authoring-bundle for local traces)
39
+ sf agent preview start --authoring-bundle MyAgent -o myorg --json 2>&1 | tee /tmp/preview_debug.json
40
+ ```
41
+
42
+ ## Best Practices
43
+
44
+ ### Test Strategy
45
+
46
+ 1. **Start with smoke tests** - Basic happy path scenarios
47
+ 2. **Add edge cases** - Boundary conditions, invalid inputs
48
+ 3. **Test transitions** - Multi-turn conversations
49
+ 4. **Verify guardrails** - Off-topic and safety boundaries
50
+ 5. **Performance baseline** - Establish acceptable response times
51
+
52
+ ### Test Maintenance
53
+
54
+ - Version test cases with agent versions
55
+ - Update expected outputs when agent evolves
56
+ - Archive historical test results
57
+ - Monitor test flakiness and address root causes
58
+
59
+ ## Dependencies
60
+
61
+ This skill uses `sf` CLI commands directly. Required tools:
62
+ - `sf` CLI 2.121.7+ (for preview trace support)
63
+ - `jq` (system) - JSON processing
64
+ - `python3` - For result parsing scripts
65
+
66
+ ## Exit Codes
67
+
68
+ | Code | Meaning | Description |
69
+ |------|---------|-------------|
70
+ | 0 | All tests passed | Safe to deploy |
71
+ | 1 | Some tests failed | Review failures before deploying |
72
+ | 2 | Critical test failure | Block deployment |
73
+ | 3 | Test execution error | Fix test infrastructure |