@salesforce/afv-skills 1.40.0 → 1.41.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 (136) hide show
  1. package/package.json +1 -1
  2. package/skills/automation-flow-generate/SKILL.md +32 -43
  3. package/skills/experience-portal-create/SKILL.md +497 -0
  4. package/skills/experience-portal-create/assets/report-template.md +30 -0
  5. package/skills/experience-portal-create/references/mcp-invocation.md +288 -0
  6. package/skills/experience-portal-create/references/post-creation-activate-publish.md +165 -0
  7. package/skills/experience-portal-create/references/templates.md +253 -0
  8. package/skills/experience-ui-bundle-features-generate/SKILL.md +5 -1
  9. package/skills/experience-ui-bundle-frontend-generate/SKILL.md +2 -0
  10. package/skills/experience-ui-bundle-frontend-generate/references/page.md +1 -0
  11. package/skills/platform-datamask-run/SKILL.md +345 -0
  12. package/skills/platform-datamask-run/references/api-surface.md +130 -0
  13. package/skills/platform-datamask-run/references/policy-authoring.md +185 -0
  14. package/skills/platform-datamask-run/references/run-and-abort.md +116 -0
  15. package/skills/platform-datamask-run/scripts/poll-job.sh +115 -0
  16. package/skills/platform-dataspace-access-configure/SKILL.md +51 -3
  17. package/skills/platform-dataspace-access-configure/scripts/inspect-dataspace-scopes.sh +56 -0
  18. package/skills/platform-lightning-type-widget-coordinate/references/build-plan-format.md +1 -0
  19. package/skills/platform-sandbox-configure/SKILL.md +17 -2
  20. package/skills/platform-trial-org-create/SKILL.md +175 -0
  21. package/skills/platform-trial-org-create/examples/create_request.json +9 -0
  22. package/skills/platform-trial-org-create/examples/error_response.json +41 -0
  23. package/skills/platform-trial-org-create/examples/success_response.json +27 -0
  24. package/skills/platform-trial-org-create/references/error_codes.md +42 -0
  25. package/skills/platform-trial-org-create/references/signup_request_fields.md +69 -0
  26. package/skills/platform-trial-org-create/scripts/create_signup_request.sh +175 -0
  27. package/skills/platform-trial-org-create/scripts/get_signup_request.sh +155 -0
  28. package/skills/platform-widget-generate/SKILL.md +47 -6
  29. package/skills/platform-widget-generate/examples/conditional.json +3 -3
  30. package/skills/platform-widget-generate/examples/list-with-foreach.json +2 -2
  31. package/skills/platform-widget-generate/examples/single-object.json +2 -2
  32. package/skills/platform-widget-generate/references/widget-bundle-layout.md +1 -1
  33. package/skills/service-agentforce-channel-configure/SKILL.md +271 -0
  34. package/skills/service-agentforce-channel-configure/references/agent-wiring.md +97 -0
  35. package/skills/service-agentforce-channel-configure/references/channel-branch-email.md +145 -0
  36. package/skills/service-agentforce-channel-configure/references/channel-branch-voice.md +69 -0
  37. package/skills/service-agentforce-channel-configure/references/channel-types.md +61 -0
  38. package/skills/service-agentforce-channel-configure/references/live-traffic-gate.md +86 -0
  39. package/skills/service-agentforce-channel-configure/references/queue-resolution.md +135 -0
  40. package/skills/service-agentforce-channel-configure/references/routing-flow.md +384 -0
  41. package/skills/service-catalog-template-deploy/SKILL.md +310 -0
  42. package/skills/service-catalog-template-deploy/references/cli-invocation.md +258 -0
  43. package/skills/service-catalog-template-deploy/scripts/activate-verify.mjs +164 -0
  44. package/skills/service-catalog-template-deploy/scripts/build-deploy-payload.mjs +94 -0
  45. package/skills/service-catalog-template-deploy/scripts/resolve-template.mjs +331 -0
  46. package/skills/service-catalog-template-search/SKILL.md +212 -0
  47. package/skills/service-catalog-template-search/references/cli-invocation.md +128 -0
  48. package/skills/service-catalog-template-search/scripts/classify-catalog.mjs +205 -0
  49. package/skills/service-concierge-portal-generate/SKILL.md +126 -0
  50. package/skills/service-concierge-portal-generate/references/portal-deploy-runbook.md +1428 -0
  51. package/skills/service-digital-engagement-channel-configure/SKILL.md +46 -6
  52. package/skills/service-digital-engagement-channel-configure/assets/messaging_channel_template.xml +2 -1
  53. package/skills/service-digital-engagement-channel-configure/examples/asa_agent_channel.xml +4 -1
  54. package/skills/service-helpagent-coordinate/README.md +8 -2
  55. package/skills/service-helpagent-coordinate/SKILL.md +126 -130
  56. package/skills/service-helpagent-coordinate/assets/help-agent-spec.md +70 -53
  57. package/skills/service-helpagent-coordinate/references/agent-script.md +571 -457
  58. package/skills/service-helpagent-coordinate/references/channel-voice.md +38 -9
  59. package/skills/service-helpagent-coordinate/references/channel-web-chat.md +173 -49
  60. package/skills/service-helpagent-coordinate/references/output-report-format.md +126 -0
  61. package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +153 -0
  62. package/skills/service-itsm-agentic-setup-agentforce-coordinate/examples/output-templates.md +79 -0
  63. package/skills/service-itsm-agentic-setup-agentforce-coordinate/scripts/verify-child-verdict.mjs +35 -0
  64. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +271 -0
  65. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/references/cli-invocation.md +265 -0
  66. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/scripts/classify-enable-plan.mjs +220 -0
  67. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/scripts/classify-final-report.mjs +102 -0
  68. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/scripts/record-enable-result.mjs +73 -0
  69. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +206 -0
  70. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/references/cli-invocation.md +194 -0
  71. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/scripts/classify-readiness.mjs +223 -0
  72. package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +45 -7
  73. package/skills/service-itsm-agentic-setup-cmdb-configure/references/mcp-invocation.md +45 -5
  74. package/skills/service-itsm-agentic-setup-configure/SKILL.md +116 -0
  75. package/skills/service-itsm-agentic-setup-configure/examples/output-templates.md +64 -0
  76. package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +158 -0
  77. package/skills/service-itsm-agentic-setup-employee-agent-configure/references/cli-invocation.md +361 -0
  78. package/skills/service-itsm-agentic-setup-employee-agent-configure/references/error-taxonomy.md +44 -0
  79. package/skills/service-itsm-agentic-setup-employee-agent-configure/references/reactivation.md +66 -0
  80. package/skills/service-itsm-agentic-setup-employee-agent-configure/references/report-format.md +66 -0
  81. package/skills/service-itsm-agentic-setup-employee-agent-configure/references/specialized-templates.md +148 -0
  82. package/skills/service-itsm-agentic-setup-employee-agent-configure/references/workflow-detail.md +169 -0
  83. package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/build-create-body.mjs +116 -0
  84. package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/classify-agent-existence.mjs +185 -0
  85. package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/classify-preflight.mjs +168 -0
  86. package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/create-scratch-dir.mjs +58 -0
  87. package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/render-report.mjs +197 -0
  88. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +186 -0
  89. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/action-availability.md +51 -0
  90. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/cli-invocation.md +345 -0
  91. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/error-taxonomy.md +44 -0
  92. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/reactivation.md +63 -0
  93. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/report-format.md +44 -0
  94. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/workflow-detail.md +149 -0
  95. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/build-create-body.mjs +110 -0
  96. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-action-availability.mjs +201 -0
  97. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-activate-result.mjs +135 -0
  98. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-agent-existence.mjs +194 -0
  99. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/classify-preflight.mjs +158 -0
  100. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/create-scratch-dir.mjs +58 -0
  101. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/render-report.mjs +191 -0
  102. package/skills/service-itsm-agentic-setup-incident-management/SKILL.md +133 -0
  103. package/skills/service-itsm-agentic-setup-incident-management/examples/output-templates.md +71 -0
  104. package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +308 -0
  105. package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/attach-milestone.json +23 -0
  106. package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/milestone-patterns.md +193 -0
  107. package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/output-templates.md +57 -0
  108. package/skills/service-itsm-agentic-setup-incident-sla-configure/references/mcp-invocation.md +394 -0
  109. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +266 -0
  110. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/references/cli-invocation.md +106 -0
  111. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/references/helper-contracts.md +142 -0
  112. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/references/permset-topology.md +82 -0
  113. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/classify-action-surface.mjs +137 -0
  114. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/classify-assignment-state.mjs +99 -0
  115. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/classify-permset-availability.mjs +120 -0
  116. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/scripts/resolve-target-user.mjs +86 -0
  117. package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +284 -0
  118. package/skills/service-itsm-agentic-setup-uel-user-create/references/mcp-invocation.md +302 -0
  119. package/skills/service-itsm-channels-coordinate/SKILL.md +472 -0
  120. package/skills/service-itsm-incident-mgmt-configure/SKILL.md +212 -0
  121. package/skills/service-itsm-incident-mgmt-configure/references/mcp-invocation.md +225 -0
  122. package/skills/service-itsm-incident-priority-configure/SKILL.md +53 -12
  123. package/skills/service-itsm-swarming-configure/SKILL.md +212 -0
  124. package/skills/service-itsm-teams-configure/SKILL.md +395 -0
  125. package/skills/service-itsm-teams-configure/references/azure-credential-population.md +213 -0
  126. package/skills/service-itsm-teams-configure/references/gotchas.md +23 -0
  127. package/skills/service-itsm-teams-coordinate/SKILL.md +175 -0
  128. package/skills/service-itsm-teams-coordinate/examples/output-templates.md +85 -0
  129. package/skills/service-itsm-teams-debug/SKILL.md +144 -0
  130. package/skills/service-itsm-teams-debug/references/configuration-checklists.md +277 -0
  131. package/skills/service-itsm-teams-debug/references/report-generation.md +95 -0
  132. package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +139 -0
  133. package/skills/service-itsm-teams-employee-agent-configure/assets/Teams_AgentForce.EmbeddedServiceConfig-meta.xml +43 -0
  134. package/skills/service-itsm-teams-employee-agent-configure/references/teams-embedded-employee-agent.md +480 -0
  135. package/skills/service-itsm-teams-itdesk-configure/SKILL.md +232 -0
  136. package/skills/service-itsm-teams-itservice-configure/SKILL.md +391 -0
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: service-itsm-agentic-setup-incident-management
3
+ description: "Orchestrator skill for setting up Incident Management features in Salesforce Service Cloud ITSM. Use when the user asks to set up incident management, configure ITSM incident features, wants a guided walkthrough of incident management configuration, or asks what incident features are available to configure. Presents the available Incident Management capabilities and delegates each selection to a specialized child skill — currently SLA & Milestones — while tracking progress across the setup. Triggers on: set up incident management, configure ITSM incident features, incident management walkthrough, incident management capabilities, what incident features can I configure. DO NOT TRIGGER when: the user asks about a specific feature directly (e.g., an SLA alone without mentioning incident management setup), asks to create, clone, or provision users, Case management setup, or general ITSM questions without setup intent."
4
+ metadata:
5
+ version: "1.2"
6
+ domains: ["Service"]
7
+ relatedSkills:
8
+ - "service-itsm-agentic-setup-incident-sla-configure"
9
+ - "service-itsm-incident-mgmt-configure"
10
+ - "service-itsm-incident-priority-configure"
11
+ allowed-tools: Read AskUserQuestion
12
+ ---
13
+
14
+ # Incident Management Setup Orchestrator
15
+
16
+ Guide the user through setting up Incident Management features in Salesforce Service Cloud ITSM by presenting the available capabilities, delegating to specialized child skills, and tracking progress.
17
+
18
+ ## Goal
19
+
20
+ Act as the coordinator for Incident Management feature configuration. Present the user with a menu of configurable features, invoke the appropriate child skill for each selection, and after each feature completes, return to the menu with updated progress until the user is done.
21
+
22
+ ## Behavior
23
+
24
+ ### 0. Reuse what the session already knows
25
+
26
+ Before running any preflight below, check whether the same fact was already established
27
+ earlier in this conversation. Cache-eligible facts for this orchestrator:
28
+
29
+ - **Master switch state** — reuse **only when the master switch was confirmed
30
+ enabled** by an earlier read or flip in this conversation. A cached "off" value
31
+ MUST NOT let step 2 skip: the delegation exists precisely to flip an off switch
32
+ on with user confirmation before downstream feature setup runs.
33
+ - **Already-completed features** — features the user (or a child skill) reported "Done"
34
+ in an earlier turn stay "Done" — do not re-run their child skill unless the user asks
35
+ to reconfigure.
36
+ - **Target org** — if the target org was already confirmed earlier in the conversation,
37
+ reuse it; do not re-ask.
38
+
39
+ **When in doubt, re-check.** Skip only when the earlier fact is unambiguously in context
40
+ AND you have not switched orgs. If the user hints at a different org, or a child skill's
41
+ write elsewhere in the session could have invalidated the cached state (e.g., the master
42
+ switch was toggled off after being confirmed on), re-run the check. A wrong skip on a
43
+ live org write is worse than a duplicated read.
44
+
45
+ ### 1. Extract context from conversation
46
+
47
+ Before presenting options, scan chat history for:
48
+
49
+ - Which features the user has already set up (skip or mark as done)
50
+ - Any preferences or constraints mentioned (e.g., "we only need the SLA milestones")
51
+ - The target org (if mentioned)
52
+ - Business context that informs which features are relevant
53
+
54
+ ### 2. Ensure the Incident Management master switch is on (prerequisite)
55
+
56
+ Every Incident Management feature below depends on the org-level `service-cloud-itsm-incident` master switch being enabled — SLA milestones and downstream features cannot function while the switch is off. Before showing the feature menu, delegate to `service-itsm-incident-mgmt-configure` to read current state; if the switch is already on, it is a no-op — otherwise it confirms with the user before flipping it. **Skip this delegation only when the master switch was already confirmed *enabled* in this session — see Behavior step 0**. A cached "off" or unknown state MUST fall through to the delegation; a wrong skip here would silently let downstream feature setup run against an org where the master is off.
57
+
58
+ ### 3. Present the Incident Management feature menu as a multi-select
59
+
60
+ Show the user what's available and what's done. Only features with a working child skill appear in the menu. Emit the **Feature menu** template from `examples/output-templates.md` AND, in the same response, a single `AskUserQuestion` call with `multiSelect: true` whose options mirror the rendered rows — the table is the visual view; the tool call is how the selection is collected. Both MUST appear together, never one without the other. Selecting one feature is valid; selecting several enqueues them for sequential handling in step 4. Do NOT show placeholder features that cannot be executed. Additional Incident Management features (Major Incident Management, Custom Fields, incident permission assignment, user provisioning) will be added to this menu as their child skills become available.
61
+
62
+ ### 4. Delegate to child skills for each selected feature in order
63
+
64
+ Handle the user's selected features sequentially in dependency order (or the order given). For each selected feature, invoke the corresponding child skill:
65
+
66
+ | # | Feature | Child Skill |
67
+ |---|---------|-------------|
68
+ | 1 | SLA & Milestones | `service-itsm-agentic-setup-incident-sla-configure` |
69
+ | 2 | Priority Matrix | `service-itsm-incident-priority-configure` |
70
+
71
+ ### 5. After each feature completes
72
+
73
+ Once a child skill finishes:
74
+
75
+ 1. **Update the status** — mark the completed feature as "Done"
76
+ 2. **Suggest the next logical step** — if another feature is available, recommend it based on the dependency order
77
+ 3. **Re-present the menu** with updated status — use the **Post-feature progress** template in `examples/output-templates.md`
78
+
79
+ ### 6. Completion summary
80
+
81
+ When the user says they're done (or all available features are configured), present a final summary using the **Completion summary** template in `examples/output-templates.md`.
82
+
83
+ ---
84
+
85
+ ## Feature Dependencies & Recommended Order
86
+
87
+ ```text
88
+ 1. SLA & Milestones (attaches time-based commitments to incidents)
89
+ 2. Priority Matrix (derives Incident.Priority from Impact × Urgency)
90
+ ```
91
+
92
+ Additional Incident Management features (Major Incident Management, Custom Fields, incident permission assignment, user provisioning) will be added to this menu as their child skills merge.
93
+
94
+ ---
95
+
96
+ ## Rules
97
+
98
+ - ALWAYS show "(via service-itsm-agentic-setup-incident-management)" in the setup header
99
+ - ALWAYS run the Incident Management master-switch prerequisite (Behavior step 2) before showing the feature menu, unless the user has already confirmed the switch is on earlier in this conversation — every downstream feature depends on it
100
+ - ALWAYS present the feature menu before configuring any selected feature — do not assume which feature the user wants (the master-switch prerequisite in Behavior step 2 is the only permitted action before the menu)
101
+ - ALWAYS present the feature menu as a multi-select — accept a set of one or more features in a single interaction
102
+ - ALWAYS pair the rendered feature-menu table with an `AskUserQuestion` (`multiSelect: true`) call in the same response — the table is the visual view; the tool call is the selection channel. Emitting the table alone breaks the selection channel; emitting the tool call alone hides the visual view
103
+ - NEVER set up a feature without the user selecting it (explicit selection confirms intent and avoids partial configurations if the user cancels mid-flow; for "set up everything" requests, use the sequential-confirmation loop in the rule below rather than batching all features in one pass)
104
+ - NEVER show features that do not have a working child skill
105
+ - If the user says "set up everything" or "all", walk through each available feature sequentially in the recommended order, confirming between each step
106
+ - Track progress across the conversation — do not re-present completed features as "Not done"
107
+ - Do not show Salesforce record IDs in any output — use human-readable names only
108
+ - If the user asks to create, clone, or provision users, or to assign incident permission sets, tell them those features are not yet available in this orchestrator and will be added as their child skills merge
109
+
110
+ ---
111
+
112
+ ## Verification checklist
113
+
114
+ Before emitting any menu or summary in this skill, mentally confirm each of the following. If any box is unchecked, adjust the output before sending.
115
+
116
+ - [ ] The header line ends with `(via service-itsm-agentic-setup-incident-management)`
117
+ - [ ] The Incident Management master switch has been confirmed on (via `service-itsm-incident-mgmt-configure`) before the feature menu is emitted, unless the user already confirmed it earlier in this conversation
118
+ - [ ] Only features with a working child skill are shown; placeholder features are hidden
119
+ - [ ] The feature menu is presented as a multi-select (single-select only if the user has already named a specific feature)
120
+ - [ ] The feature menu emitted BOTH the ASCII table AND an `AskUserQuestion` (`multiSelect: true`) presenting the same options in the same response — never one without the other
121
+ - [ ] Each feature row's `Status` column reflects the actual tracked state from the conversation (`Not done`, `In progress`, or `Done`) — not a hard-coded default
122
+ - [ ] For a completion summary, the header line and closing line are chosen by the rubric in `examples/output-templates.md` (all `Done` → *Complete*; any `Not done`/`In progress` → *Finished*)
123
+ - [ ] A feature is being configured only because the user explicitly selected it (or is being walked through sequentially with confirmation under an "all" / "everything" request)
124
+ - [ ] The next action delegates to a child skill, never configures a feature inline
125
+ - [ ] No Salesforce record IDs appear in the output — human-readable names only
126
+
127
+ ---
128
+
129
+ ## Reference File Index
130
+
131
+ | File | When to read |
132
+ |------|--------------|
133
+ | `examples/output-templates.md` | Behavior steps 3, 5, and 6 — feature menu (multi-select), post-feature progress, and completion summary text blocks |
@@ -0,0 +1,71 @@
1
+ # Output Templates — service-itsm-agentic-setup-incident-management
2
+
3
+ Emit one of these text blocks at the corresponding step in the workflow. Only features with a
4
+ working child skill appear — hide placeholder rows.
5
+
6
+ ## Feature menu (Behavior step 3)
7
+
8
+ ```text
9
+ Incident Management Setup (via service-itsm-agentic-setup-incident-management)
10
+
11
+ Here are the features available for Incident Management. Select one or more to configure:
12
+
13
+ ┌───┬───────────────────────────────┬──────────────────────────────────────────────────┬──────────┐
14
+ │ # │ Feature │ Description │ Status │
15
+ ├───┼───────────────────────────────┼──────────────────────────────────────────────────┼──────────┤
16
+ │ 1 │ SLA & Milestones │ Create a MilestoneType, SLA Policy, and │ Not done │
17
+ │ │ │ Entitlement so Incidents inherit SLA milestones │ │
18
+ │ 2 │ Priority Matrix │ Enable and shape the Impact × Urgency grid that │ Not done │
19
+ │ │ │ derives Priority on Incident records │ │
20
+ └───┴───────────────────────────────┴──────────────────────────────────────────────────┴──────────┘
21
+
22
+ Reply with the numbers of the features you want to set up (one or more, e.g. `1,2`).
23
+ ```
24
+
25
+ ## Post-feature progress (Behavior step 5)
26
+
27
+ Example after the SLA & Milestones child skill completes (Priority Matrix still `Not done`):
28
+
29
+ ```text
30
+ SLA & Milestones — configured successfully
31
+ (via service-itsm-agentic-setup-incident-sla-configure)
32
+
33
+ ┌───┬───────────────────────────────┬──────────┐
34
+ │ # │ Feature │ Status │
35
+ ├───┼───────────────────────────────┼──────────┤
36
+ │ 1 │ SLA & Milestones │ Done │
37
+ │ 2 │ Priority Matrix │ Not done │
38
+ └───┴───────────────────────────────┴──────────┘
39
+
40
+ The next logical step is Priority Matrix — say `2` to configure it now, or `done` to finish.
41
+ ```
42
+
43
+ ## Completion summary (Behavior step 6)
44
+
45
+ The completion summary fires either (a) after every feature completes, or (b) when the user says
46
+ they are finished — even if some features are still `Not done`. When rendering:
47
+
48
+ - Substitute each feature's row with its actual tracked status: `Done`, `In progress`, or `Not done`.
49
+ Do NOT hard-code `Done`.
50
+ - Choose the header line based on whether every feature is `Done`:
51
+ - All features `Done` → `Incident Management Setup — Complete`
52
+ - Any feature still `Not done` or `In progress` → `Incident Management Setup — Finished`
53
+ - Choose the closing line based on state:
54
+ - All `Done` → `Your Incident Management features are configured.`
55
+ - Otherwise → `You have finished the features you selected. The remaining features can be resumed later by re-invoking this orchestrator.`
56
+
57
+ Example — user finished the setup with both features configured:
58
+
59
+ ```text
60
+ Incident Management Setup — Complete
61
+ (via service-itsm-agentic-setup-incident-management)
62
+
63
+ ┌───────────────────────────────┬──────────┐
64
+ │ Feature │ Status │
65
+ ├───────────────────────────────┼──────────┤
66
+ │ SLA & Milestones │ Done │
67
+ │ Priority Matrix │ Done │
68
+ └───────────────────────────────┴──────────┘
69
+
70
+ Your Incident Management features are configured.
71
+ ```
@@ -0,0 +1,308 @@
1
+ ---
2
+ name: service-itsm-agentic-setup-incident-sla-configure
3
+ description: "End-to-end Incident SLA setup for Service Cloud ITSM — creating a MilestoneType, an Incident-scoped SLA Policy (SlaProcess), attaching a Milestone with criteria, and wiring an Entitlement so Incidents derive an EntityMilestone with a computed TargetDate. Use when the user asks to configure SLA milestones on Incidents, create an SLA policy for Incident records, set up entitlement processes for ITSM, wire milestones so they appear on the Incident page, or enable SLA tracking for incident management. DO NOT TRIGGER when: the user asks about Case entitlements or Case SLA (not Incident), querying existing SLA policies without setup intent, general Entitlement sObject CRUD unrelated to Incident, or Milestone queries for reporting purposes only."
4
+ metadata:
5
+ version: "3.4"
6
+ domains: ["Service"]
7
+ minApiVersion: "67.0"
8
+ relatedSkills:
9
+ - "service-itsm-incident-mgmt-configure"
10
+ - "service-itsm-incident-priority-configure"
11
+ accessCheck: []
12
+ mcpTools:
13
+ headless-360:
14
+ tools: ["describe", "discover", "dispatch", "dispatch_readonly"]
15
+ semver: ">=1.0.0"
16
+ allowed-tools: |
17
+ Read AskUserQuestion
18
+ mcp__headless-360__discover
19
+ mcp__headless-360__describe
20
+ mcp__headless-360__dispatch
21
+ mcp__headless-360__dispatch_readonly
22
+ ---
23
+
24
+ # Configuring Incident SLA (End-to-End)
25
+
26
+ Configures a complete **Incident SLA pipeline** for Service Cloud ITSM — the chain that derives
27
+ an EntityMilestone (with a computed TargetDate) on every Incident that has an Entitlement. Every
28
+ operation runs through the **Salesforce-hosted Headless-360 MCP server** (server key `headless-360`)
29
+ via its four meta-tools (`discover`, `describe`, `dispatch_readonly`, `dispatch`). The org is derived
30
+ from the OAuth JWT — the skill never handles an org id, alias, or credentials. It also needs the
31
+ org-level **SLA Management for IT Service** setup item — a Setup Discovery feature plus a separate,
32
+ permanent **SLA Versioning** bit, both gated by Phase 0.5. Setup has four parts:
33
+
34
+ 1. **MilestoneType** — define what you're measuring (e.g., "First Response").
35
+ 2. **SLA Policy** — the SlaProcess scoped to Incident with entry/exit criteria.
36
+ 3. **Milestone** — attach to the policy with a time trigger and filter criteria.
37
+ 4. **Entitlement** — wire to an Account so Incidents with that Entitlement engage the SLA.
38
+
39
+ ## Scope
40
+
41
+ - **In scope**: Creating MilestoneTypes, SLA Policies (SlaProcess), Milestones with criteria,
42
+ Entitlements, and verifying SLA engagement on Incident records — all via `headless-360` MCP.
43
+ - **In scope — prerequisite**: checking and (on confirmation) enabling the **SLA Management for IT
44
+ Service** setup item — the feature + SLA Versioning (Phase 0.5).
45
+ - **Out of scope**: Case SLA/entitlements; Assignment Rules; Escalation Rules; Notification
46
+ Rules; general Entitlement CRUD not related to Incident SLA; SLA reporting.
47
+
48
+ ---
49
+
50
+ ## Routes at a glance
51
+
52
+ Reads dispatch through `mcp__headless-360__dispatch_readonly`, writes through
53
+ `mcp__headless-360__dispatch`. Both take raw HTTP:
54
+ `{"url": "<path>", "method": "GET|POST|PATCH|...", "body"?: {...}, "query_params"?: {...}}` — **not**
55
+ `{operation_id, arguments}`. Full request/response shapes live in `references/mcp-invocation.md`.
56
+
57
+ | Concern | Method + path | Body |
58
+ |---------|---------------|------|
59
+ | Master Incident Mgmt pref (read) | `GET /services/data/v67.0/connect/setup/discovery/features`, filter `apiName == "service-cloud-itsm-incident"` for `status` | — |
60
+ | SLA Mgmt prerequisite (Phase 0.5) | Feature `status`/`enable` + SLA Versioning read/PATCH on `EntitlementSettings` — see `references/mcp-invocation.md` | see ref |
61
+ | Preflight (Incident on) | `GET /services/data/v67.0/sobjects/Incident/describe` | — |
62
+ | Default BusinessHours | `GET /services/data/v67.0/query` (q via `query_params.q`) | — |
63
+ | Create MilestoneType | `POST /services/data/v67.0/connect/sla-management/milestone-types` | `{"name","description","recurrenceType"}` |
64
+ | Create SLA Policy | `POST /services/data/v67.0/connect/sla-management/sla-policies` | `{"name","processType":"Incident","businessHourId",...}` |
65
+ | Attach Milestone | `POST /services/data/v67.0/connect/sla-management/sla-policies/<id>/milestones` | `{"milestoneTypeId","timeTrigger","milestoneCriteria":[...]}` |
66
+ | Create Entitlement | `POST /services/data/v67.0/sobjects/Entitlement` | `{"Name","AccountId","SlaProcessId","BusinessHoursId","StartDate","EndDate"}` |
67
+ | Create test Incident | `POST /services/data/v67.0/sobjects/Incident` | `{"Subject","EntitlementId",...}` |
68
+ | Verify SLA policy | `GET /services/data/v67.0/query` (q for `SlaProcess`) | — |
69
+ | Verify engagement | `GET /services/data/v67.0/query` (q for `EntityMilestone`) | — |
70
+
71
+ **Response envelope**: SLA Management Connect, `/sobjects/…`, and `/query` are standard REST — the
72
+ `dispatch*` MCP tool returns the REST response directly (`{status_code, body}`); read `body`. Only
73
+ `/headless/invoke/…` Aura-controller routes are doubly wrapped (`body.body`) — this skill uses none.
74
+
75
+ ---
76
+
77
+ ## Clarifying Questions
78
+
79
+ Ask only what you cannot infer from conversation context (pre-populate and note "(from
80
+ conversation)"). **Resolve the Phase 0.5 gate first, on its own.**
81
+
82
+ - **Which org?** `headless-360` binds to the current OAuth session; confirm the target before mutating.
83
+ - **Milestone strategy?** See Phase 1.4 — skipped when the prompt already names a shape, when the branch is a no-op, or when up-front authorization + a derivable shape are given.
84
+ - **Target Account?** Account to attach the Entitlement to.
85
+ - **Milestone criteria?** Default `Status != Closed`, plus pattern-specific filters.
86
+
87
+ Default suggestion: SLA Policy `Incident SLA Policy`, default BusinessHours, first active Account,
88
+ Entitlement `today → today + 1 year`, milestone strategy resolved per Phase 1.4.
89
+
90
+ ---
91
+
92
+ ## Workflow
93
+
94
+ All steps are sequential. **Always read before you write.** Every call goes through
95
+ `mcp__headless-360__*` tools.
96
+
97
+ ### Phase 0 — Reuse what the session already knows
98
+
99
+ Each Phase 1 read below carries a **skip-if-already-known** clause: skip only when the
100
+ same fact was produced this session **from a successful `dispatch_readonly` response
101
+ tied to the current org**. A user statement is not cache-eligible — a mistaken assertion
102
+ would produce a stale create. When the only source is a user statement, re-read.
103
+
104
+ - **Master Incident Management pref** — reuse only when the pref was read live this
105
+ session (successful `dispatch_readonly` on Setup Discovery, or a live read by
106
+ `service-itsm-incident-mgmt-configure`) AND `status` was `ENABLED` AND no write since.
107
+ A cached "not enabled" / unknown / user-asserted value is NOT cache-eligible — fall
108
+ through to step 1.
109
+ - **SLA Management feature + SLA Versioning** — reuse only if both were read live this session
110
+ (Phase 0.5) and unwritten since; else re-run Phase 0.5.
111
+ - **Incident describe / SLA-field presence** — if `Incident.describe` was already run against
112
+ the current org this session and the presence of `EntitlementId` / `SlaStartDate` /
113
+ `SlaExitDate` is in context, skip step 3 and reuse the answer.
114
+ - **Default BusinessHours id** — if a `BusinessHoursId` for the current org's default is
115
+ already captured, skip step 4.
116
+ - **Account id** — if the Account the user named (or the fallback first-active Account)
117
+ was already resolved to an `Id` this session, skip step 5.
118
+ - **Discover / describe of SLA Connect operations** — if the routes were already verified
119
+ as indexed this session, skip step 2.
120
+
121
+ **When in doubt, re-check.** Skip only when the earlier fact is unambiguously in context
122
+ AND you have not switched orgs — the `headless-360` MCP session binds to one org via the
123
+ JWT, so an org change is only possible if the session was re-authed mid-conversation. If
124
+ the user hints at a different org, or you cannot tell which org the earlier fact came
125
+ from, re-run the read. A wrong skip on a live org write is worse than a duplicated read.
126
+
127
+ ### Phase 0.5 — SLA Management for IT Service prerequisite gate
128
+
129
+ **Resolve this gate on its own first — not batched with the clarifying questions. Its reads are
130
+ safe to run up front; still confirm the target org before the enable write.** Gate on the
131
+ org-level **SLA Management for IT Service** setup item before any Phase 2 mutation — two
132
+ independent bits: the Setup Discovery feature `service-cloud-itsm-manage-sla-policies` (Connect route,
133
+ **not** Tooling) and the separate, **permanent** **SLA Versioning** bit
134
+ (`EntitlementSettings.IsEntitlementVersioningEnabled`). Full call shapes, `enableBlockedReasons`
135
+ handling, and the permanence rule are in `references/mcp-invocation.md`.
136
+
137
+ - **Read both** (`dispatch_readonly`); feature `ENABLED` **and** versioning `true` → skip to Phase 1.
138
+ - **Confirm, then enable only what's off** (`AskUserQuestion`) — stop and relay if `enableBlockedReasons`
139
+ is non-empty; if versioning is off, flag it's **permanent**.
140
+ - **Enable, then re-read** — never trust the `201` / empty-`204` write response; require `ENABLED` /
141
+ `true` first.
142
+
143
+ ### Phase 1 — Preflight & discovery
144
+
145
+ **On any `401` / `403` / `404` from a step below, halt and surface the raw error** — the org or client is not configured correctly. `401` → MCP auth (ECA not propagated / expired token). `403` → user perm missing OR ITSM Incident Management license/preference missing (`ITSMIncidentMgmtEnabled` / `IncidentMgmt.orgHasITSMOrgPermission`). `404` → `headless-360` server not activated OR Entitlement Management not enabled for Incident.
146
+
147
+ 1. **Master Incident Management pref — direct read** *(skip conditions in Phase 0)*.
148
+ `dispatch_readonly` on `GET /services/data/v67.0/connect/setup/discovery/features`,
149
+ filter `features[]` client-side to `apiName == "service-cloud-itsm-incident"`, read
150
+ `status`. If `ENABLED`, proceed. **If not, delegate to `service-itsm-incident-mgmt-configure`
151
+ inline to enable** (it runs its own confirm-to-write), then re-read to verify. If the
152
+ user declines, halt — every SLA artifact below depends on the master being on. Full
153
+ call shape + why the setup-org-preferences endpoint 404s here is in
154
+ `references/mcp-invocation.md` (Preflight A).
155
+ 2. **Discover the Connect operations** — *(skip if already verified this session — see Phase 0)*.
156
+ `mcp__headless-360__discover(query="sla-management milestone")` to confirm the SLA Management
157
+ Connect API is indexed, then `mcp__headless-360__describe(id=<operation_id>)`
158
+ for the `milestone-types`, `sla-policies`, and `sla-policies/{id}/milestones` POST operations to pull
159
+ their exact input schemas + HTTP routes. If `discover` returns nothing after rewording the query,
160
+ the corpus does not index this surface for the org — direct the user to **Setup → SLA/Entitlement
161
+ setup** and stop.
162
+ 3. **Verify Incident Management + SLA fields** — *(skip if `Incident.describe` result for the
163
+ current org is already in context — see Phase 0)*. Otherwise `dispatch_readonly` on
164
+ `GET /services/data/v67.0/sobjects/Incident/describe` and confirm `fields[]` includes
165
+ `EntitlementId`, `SlaStartDate`, `SlaExitDate`. If the describe 404s or fields are missing, direct
166
+ the user to enable Entitlement Management for Incident and stop.
167
+ 4. **Find default BusinessHours** — *(skip if `BusinessHoursId` for the current org's default is
168
+ already captured this session)*. Otherwise `dispatch_readonly` on `GET /services/data/v67.0/query` with
169
+ `query_params.q="SELECT Id, Name FROM BusinessHours WHERE IsActive = true AND IsDefault = true"`.
170
+ If `body.records` is empty, stop with a message to create default Business Hours in Setup. Capture
171
+ `BusinessHoursId`.
172
+ 5. **Resolve the target Account** — *(skip if the Account the user named — or, absent a name,
173
+ the fallback first-active Account — is already resolved to an Id this session)*. Otherwise the
174
+ Entitlement in Phase 2 requires an `AccountId`, so resolve it now, before any mutation. If the
175
+ user named an Account, look it up by name via a `dispatch_readonly`
176
+ SOQL: `SELECT Id, Name FROM Account WHERE Name = '<escaped name>' LIMIT 1`. If the named Account is
177
+ not found, **stop and ask** — do NOT silently substitute a different Account. Only when the user
178
+ did **not** name one, fall back to the first active Account
179
+ (`SELECT Id, Name FROM Account WHERE IsDeleted = false ORDER BY CreatedDate LIMIT 1`) and surface
180
+ which Account you chose in the confirmation gate below. If no Account exists at all, stop with a
181
+ message to create one first. Capture `AccountId` and the Account name.
182
+ 6. **Read existing SLA artifacts (idempotency probe)** — `dispatch_readonly` SOQL against
183
+ `SlaProcess` by name (`SELECT Id, Name FROM SlaProcess WHERE Name = '<name>' AND SObjectType = 'Incident' LIMIT 1` — the physical sObject field is `SObjectType`; `ProcessType` returns `INVALID_FIELD`),
184
+ `MilestoneType` by name for each type the strategy would create, `SlaMilestone` under the matched
185
+ `SlaProcess`, and `Entitlement` by name against the resolved Account. Record which artifacts
186
+ already exist. If **every** artifact the request would create already exists with the requested
187
+ configuration, Phase 1.4 skip condition (b) applies — set `noOp=true` and skip Phase 1.4 and
188
+ Phase 2. Any missing or divergent artifact means a mutation is required; proceed to Phase 1.4.
189
+
190
+ ### Phase 1.4 — Milestone Strategy
191
+
192
+ Every SLA policy needs at least one milestone. Load `examples/milestone-patterns.md` — it lists the
193
+ Phase 1.4 skip conditions (concrete shape in prompt, idempotent no-op, explicit up-front
194
+ authorization) and the five strategy options (Single, Response + Resolution, Priority-tiered,
195
+ Escalation ladder, Custom/mixed) with their `AskUserQuestion` prompt, default numbers, and
196
+ MilestoneType-reuse rules. Skip conditions (c) still requires Phase 1.5 plan-narration before
197
+ dispatch. Multi-milestone selection expands to N milestone creates in Phase 2 step 10 (one POST per
198
+ milestone, `order` 1..N, all attached to the same SlaProcess).
199
+
200
+ ### Phase 1.5 — Confirm before mutating
201
+
202
+ 7. **Confirm the plan** — present the resolved configuration (target **org**, **SLA Policy** name,
203
+ resolved **Account** name, **Entitlement** date range, and the **full per-milestone list** from
204
+ Phase 1.4 — never collapse Priority-tiered / Custom to "N milestones").
205
+
206
+ **Skip the `AskUserQuestion` confirmation prompt** (still narrate the plan before dispatch)
207
+ when: up-front authorization was granted (note `(authorized in prompt)`); the branch is a no-op
208
+ (skip Phase 1.5 + Phase 2, report the no-op); or the plan was already confirmed in conversation
209
+ (note `(confirmed in conversation)`). Otherwise dispatch `AskUserQuestion` and require an
210
+ explicit "yes" before Phase 2. Everything before this step is read-only; everything after
211
+ mutates the org.
212
+
213
+ ### Phase 2 — Create SLA Artifacts (exact order — each depends on the previous)
214
+
215
+ 8. **Create MilestoneType(s)** — `POST /connect/sla-management/milestone-types`. One POST per
216
+ distinct MilestoneType required by the strategy. Reuse a single MilestoneType across milestones
217
+ that share a name (Priority-tiered "First Response" reuses one MilestoneType across all four
218
+ milestones); create separate MilestoneTypes for distinct concerns (Response + Resolution =
219
+ two MilestoneTypes; Escalation ladder = three). Capture each `id`.
220
+ 9. **Create SLA Policy** — `POST /connect/sla-management/sla-policies` with `processType='Incident'`
221
+ and the `businessHourId` from Phase 1. Capture `id`. **The response echoes nulls — verify via
222
+ SOQL, not the response body.**
223
+ 10. **Attach Milestone(s)** — load the request-body template from `assets/attach-milestone.json`
224
+ and, for each milestone in the strategy, populate `milestoneTypeId`, `timeTrigger`, `order`
225
+ (1..N in the strategy's order) and any per-pattern `filterItems` additions from
226
+ `examples/milestone-patterns.md`, then `POST /connect/sla-management/sla-policies/<slaId>/milestones`.
227
+ `milestoneCriteria` is mandatory (`filterType: RuleFilter`). Do **not** put `slaProcessId` in the
228
+ body — it is carried by the path. Multi-milestone strategies dispatch this call once per
229
+ milestone; if any milestone POST fails, halt and surface the raw error — do not continue with a
230
+ half-attached policy.
231
+ 11. **Create Entitlement** — `POST /sobjects/Entitlement` linking the resolved Account (from Phase 1
232
+ step 5), the SLA Policy (`SlaProcessId`), and Business Hours. For immediate engagement, backdate
233
+ `StartDate` to yesterday.
234
+
235
+ ### Phase 3 — Verify
236
+
237
+ 12. **Verify the SLA Policy** — SOQL on `SlaProcess` (do not trust the create response).
238
+ 13. **Create a test Incident** with `EntitlementId` pointing at the new Entitlement. For
239
+ Priority-tiered strategies, set a specific `Priority` on the test Incident (or create one test
240
+ Incident per Priority) so at least one milestone's criteria matches — otherwise no
241
+ `EntityMilestone` will spawn even though the policy is wired correctly.
242
+ 14. **Verify engagement** — SOQL confirming `Incident.SlaStartDate` is populated and the expected
243
+ `EntityMilestone` row(s) exist with the correct `TargetDate`(s). For multi-milestone
244
+ strategies, expect one `EntityMilestone` per milestone whose criteria the Incident satisfies.
245
+ 15. **Report results** using the output format below.
246
+
247
+ ---
248
+
249
+ ## Rules / Constraints
250
+
251
+ | Constraint | Rationale |
252
+ |-----------|-----------|
253
+ | Gate on **SLA Management for IT Service** first (Phase 0.5) — feature `ENABLED` AND versioning `true`; confirm before enabling, versioning permanent, re-read after each write | Skipping risks a mid-flow 403/404; versioning can't be undone; writes don't confirm state |
254
+ | Discover + describe before any mutation | Catches a missing SLA surface / disabled Incident Management early |
255
+ | Ask (via `AskUserQuestion`) which milestone strategy to use — do not silently default to Single | Real ITSM policies almost always have more than one milestone; picking silently hides the choice from the user |
256
+ | Reuse one MilestoneType per shared name; create a distinct MilestoneType per distinct concern | The runtime keys milestones by MilestoneType — sharing collapses distinct concerns |
257
+ | For multi-milestone strategies, halt on any milestone POST failure — do not continue with a half-attached policy | The confirmation gate covers all N milestones together; partial attach diverges from the confirmed plan |
258
+ | Priority-tiered strategy: validate every `Priority` value against the live Incident picklist before dispatch | The server accepts any string on `filterItems.value` — an unknown Priority value silently makes the milestone dead code |
259
+ | Entitlement is standard sObject DML (not Connect API); `StartDate` controls status (future = Inactive) | Not part of the `/connect/sla-management/` surface |
260
+ | Verify SLA Policy via SOQL, not the create response | The create response echoes nulls |
261
+ | Never show Salesforce record IDs to the user | Use human-readable names and IncidentNumber |
262
+
263
+ Additional API quirks (payload rules, filter-operator enum, missing-criteria error) are documented in `references/mcp-invocation.md` — consult before dispatch.
264
+
265
+ ---
266
+
267
+ ## Verification Checklist
268
+
269
+ - [ ] **SLA Management prerequisite gated (Phase 0.5)** — feature `ENABLED` AND `IsEntitlementVersioningEnabled` `true`; whatever was off was enabled only after confirmation (versioning flagged permanent) and re-read to verify, never trusting the write response; non-empty `enableBlockedReasons` halted the run.
270
+ - [ ] Master Incident Management pref was confirmed `ENABLED` via a live Setup Discovery read this session (or via an inline delegation to `service-itsm-incident-mgmt-configure` when it came back off). A user-asserted state is NOT a substitute for the live read.
271
+ - [ ] `discover` + `describe` (or the Incident describe) confirmed the SLA Management Connect operations.
272
+ - [ ] Incident describe returned 200 with `EntitlementId`, `SlaStartDate`, `SlaExitDate`.
273
+ - [ ] Default BusinessHours found.
274
+ - [ ] **Milestone strategy resolved** — via a Phase 1.4 skip condition (prompt named a shape / no-op branch / up-front authorization + derivable shape) OR via `AskUserQuestion`. A skipped `AskUserQuestion` under a valid skip condition is honoring the contract, not violating it. For Priority-tiered / Custom, every `Priority` / criteria value was validated against the live Incident picklist before dispatch.
275
+ - [ ] **Configuration confirmed OR skip condition met** — up-front authorization, no-op branch, prior confirmation in conversation, OR explicit "yes" via `AskUserQuestion`. In every case, the resolved plan (org, SLA name, account, entitlement range, per-milestone list) was narrated before Phase 2 dispatched.
276
+ - [ ] Artifacts created in order (MilestoneType(s) → Policy → Milestone(s) → Entitlement); each POST returned 201; any milestone POST failure halted the run (no partial attach). Trivially satisfied on no-op runs.
277
+ - [ ] SLA Policy verified via SOQL (not the create response). On no-op runs, the Phase-1 read is the verification.
278
+ - [ ] Test Incident has `SlaStartDate` populated (Priority chosen to match at least one criterion for Priority-tiered). Skip on no-op runs.
279
+ - [ ] At least one EntityMilestone exists with the correct TargetDate; for multi-milestone strategies, the expected milestone(s) are present. Skip on no-op runs.
280
+ - [ ] Before/after and summary shown. On no-op runs, the summary states the pre-existing configuration verbatim and reports "no changes made".
281
+
282
+ ---
283
+
284
+ ## Output Format
285
+
286
+ See `examples/output-templates.md` for the canonical failure / single-milestone success / multi-milestone success templates. Fill in the placeholders as-is. No record IDs in user-facing output. No files are produced — the skill mutates org configuration in place through headless-360 MCP dispatch.
287
+
288
+ ---
289
+
290
+ ## Reference File Index
291
+
292
+ | File | When to read |
293
+ |------|--------------|
294
+ | `references/mcp-invocation.md` | Every phase — exact `mcp__headless-360__*` call shapes, payload templates, response envelope, discovery, and gotchas (filter-operator enum, v67 routes, entitlement behavior) |
295
+ | `examples/milestone-patterns.md` | Phase 1.4 — the five milestone strategies (Single, Response + Resolution, Priority-tiered, Escalation ladder, Custom) with default times, criteria, MilestoneType reuse rules, and per-pattern filter-item extensions |
296
+ | `examples/output-templates.md` | Output Format — canonical failure / single-milestone success / multi-milestone success templates |
297
+ | `assets/attach-milestone.json` | Phase 2 step 10 — reusable request-body template for `POST /connect/sla-management/sla-policies/<slaId>/milestones`; substitute `milestoneTypeId`, `businessHoursId`, `timeTrigger`, `order`, and append per-pattern `filterItems` |
298
+
299
+ ---
300
+
301
+ ## Related Skills
302
+
303
+ This skill configures the end-to-end **Incident SLA** pipeline. Configuring the priority matrix
304
+ (Impact × Urgency → Priority) is a separate concern handled by
305
+ `service-itsm-incident-priority-configure` — if a Priority-tiered milestone strategy is requested
306
+ but the org's `Incident.Priority` picklist is missing values, direct the user to that skill first.
307
+ Other adjacent ITSM setup flows (Major Incident Management, custom fields on Incident / Problem /
308
+ ChangeRequest) are out of scope; use their dedicated skill when available.
@@ -0,0 +1,23 @@
1
+ {
2
+ "milestoneTypeId": "<milestoneTypeId from Phase 2 step 8>",
3
+ "businessHoursId": "<businessHoursId resolved in Phase 1>",
4
+ "timeTrigger": 60,
5
+ "order": 1,
6
+ "startTimeBasedOn": "SlaProcessCreatedDate",
7
+ "milestoneCriteria": [
8
+ {
9
+ "milestoneState": "Active",
10
+ "milestoneAgreementType": "Warning",
11
+ "filterType": "RuleFilter",
12
+ "filterItems": [
13
+ {
14
+ "table": "Incident",
15
+ "column": "Status",
16
+ "operator": "NotEqual",
17
+ "order": 1,
18
+ "value": "Closed"
19
+ }
20
+ ]
21
+ }
22
+ ]
23
+ }