1
+ {
2
+ "$id" : " https://schemas.botframework.com/schemas/skills/skill-manifest-2.0.0.json" ,
3
+ "$schema" : " http://json-schema.org/draft-07/schema#" ,
4
+ "title" : " Skill Manifest Schema" ,
5
+ "description" : " A schema for Bot Framework skill manifests" ,
6
+ "type" : " object" ,
7
+ "required" : [
8
+ " $id" ,
9
+ " $schema" ,
10
+ " name" ,
11
+ " version" ,
12
+ " publisherName" ,
13
+ " endpoints"
14
+ ],
15
+ "additionalProperties" : false ,
16
+ "properties" : {
17
+ "$schema" : {
18
+ "type" : " string" ,
19
+ "format" : " uri" ,
20
+ "description" : " The schema to verify this skill manifest against"
21
+ },
22
+ "$id" : {
23
+ "type" : " string" ,
24
+ "description" : " The identifier for the skill manifest"
25
+ },
26
+ "name" : {
27
+ "type" : " string" ,
28
+ "description" : " Name of the skill"
29
+ },
30
+ "version" : {
31
+ "type" : " string" ,
32
+ "description" : " Skill version"
33
+ },
34
+ "description" : {
35
+ "type" : " string" ,
36
+ "description" : " A human readable description for the skill"
37
+ },
38
+ "publisherName" : {
39
+ "type" : " string" ,
40
+ "description" : " The name of the skill publisher"
41
+ },
42
+ "privacyUrl" : {
43
+ "type" : " string" ,
44
+ "format" : " uri" ,
45
+ "description" : " The URL with the privacy description for the skill"
46
+ },
47
+ "copyright" : {
48
+ "type" : " string" ,
49
+ "description" : " The copyright for the skill"
50
+ },
51
+ "license" : {
52
+ "type" : " string" ,
53
+ "description" : " The license agreement for the skill"
54
+ },
55
+ "iconUrl" : {
56
+ "type" : " string" ,
57
+ "format" : " uri" ,
58
+ "description" : " Optional icon to be shown for the skill"
59
+ },
60
+ "tags" : {
61
+ "type" : " array" ,
62
+ "uniqueItems" : true ,
63
+ "description" : " An array of strings with tags for the skill"
64
+ },
65
+ "endpoints" : {
66
+ "type" : " array" ,
67
+ "minItems" : 1 ,
68
+ "uniqueItems" : true ,
69
+ "description" : " List of endpoints supported by the skill" ,
70
+ "items" : {
71
+ "$ref" : " #/definitions/endpoint"
72
+ }
73
+ },
74
+ "activities" : {
75
+ "type" : " object" ,
76
+ "description" : " Definition for the activities accepted by the skill" ,
77
+ "additionalProperties" : {
78
+ "anyOf" : [
79
+ {
80
+ "$ref" : " #/definitions/eventActivity"
81
+ },
82
+ {
83
+ "$ref" : " #/definitions/invokeActivity"
84
+ },
85
+ {
86
+ "$ref" : " #/definitions/messageActivity"
87
+ }
88
+ ]
89
+ }
90
+ },
91
+ "definitions" : {
92
+ "type" : " object" ,
93
+ "description" : " Definitions of the structure of object payloads" ,
94
+ "additionalProperties" : {
95
+ "$ref" : " http://json-schema.org/draft-07/schema#"
96
+ }
97
+ }
98
+ },
99
+ "definitions" : {
100
+ "endpoint" : {
101
+ "type" : " object" ,
102
+ "description" : " Skill endpoint definition" ,
103
+ "additionalProperties" : false ,
104
+ "required" : [
105
+ " name" ,
106
+ " endpointUrl" ,
107
+ " msAppId"
108
+ ],
109
+ "properties" : {
110
+ "name" : {
111
+ "type" : " string" ,
112
+ "description" : " Unique name for the endpoint" ,
113
+ "default" : " default"
114
+ },
115
+ "protocol" : {
116
+ "type" : " string" ,
117
+ "description" : " Supported protocol" ,
118
+ "default" : " BotFrameworkV3"
119
+ },
120
+ "description" : {
121
+ "type" : " string" ,
122
+ "title" : " Description" ,
123
+ "description" : " Description of the endpoint" ,
124
+ "examples" : [
125
+ " Production bot"
126
+ ]
127
+ },
128
+ "endpointUrl" : {
129
+ "type" : " string" ,
130
+ "title" : " Endpoint Url" ,
131
+ "format" : " uri" ,
132
+ "description" : " Endpoint for the skill" ,
133
+ "examples" : [
134
+ " http://contoso.com/api/messaages"
135
+ ]
136
+ },
137
+ "msAppId" : {
138
+ "type" : " string" ,
139
+ "title" : " Microsoft App Id" ,
140
+ "pattern" : " ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$" ,
141
+ "description" : " The Microsoft AppId for the skill. This app ID is used to authenticate requests"
142
+ }
143
+ }
144
+ },
145
+ "eventActivity" : {
146
+ "type" : " object" ,
147
+ "description" : " An activity with Type=Event where the Name property indicates the task that the skill will execute" ,
148
+ "required" : [
149
+ " type" ,
150
+ " name"
151
+ ],
152
+ "additionalProperties" : false ,
153
+ "properties" : {
154
+ "type" : {
155
+ "type" : " string" ,
156
+ "description" : " The activity type" ,
157
+ "enum" : [
158
+ " event"
159
+ ]
160
+ },
161
+ "name" : {
162
+ "type" : " string" ,
163
+ "description" : " The name for the event" ,
164
+ "examples" : [
165
+ " BookFlight"
166
+ ]
167
+ },
168
+ "description" : {
169
+ "type" : " string" ,
170
+ "title" : " Description" ,
171
+ "description" : " Description for the activity"
172
+ },
173
+ "value" : {
174
+ "type" : " object" ,
175
+ "description" : " The JsonSchema definition of the shape of the value property that this event expects" ,
176
+ "$ref" : " http://json-schema.org/draft-07/schema#"
177
+ },
178
+ "resultValue" : {
179
+ "type" : " object" ,
180
+ "description" : " The JsonSchema definition of the shape of the resultValue that this event may produce" ,
181
+ "$ref" : " http://json-schema.org/draft-07/schema#"
182
+ }
183
+ }
184
+ },
185
+ "invokeActivity" : {
186
+ "type" : " object" ,
187
+ "description" : " An activity with Type=Invoke where the Name property indicates the task that the skill will execute" ,
188
+ "required" : [
189
+ " type" ,
190
+ " name"
191
+ ],
192
+ "additionalProperties" : false ,
193
+ "properties" : {
194
+ "type" : {
195
+ "type" : " string" ,
196
+ "description" : " The activity type" ,
197
+ "enum" : [
198
+ " invoke"
199
+ ]
200
+ },
201
+ "name" : {
202
+ "type" : " string" ,
203
+ "description" : " The name property for the invoke activity" ,
204
+ "examples" : [
205
+ " GetWeather"
206
+ ]
207
+ },
208
+ "description" : {
209
+ "type" : " string" ,
210
+ "title" : " Description" ,
211
+ "description" : " Description for the activity"
212
+ },
213
+ "value" : {
214
+ "type" : " object" ,
215
+ "description" : " The JsonSchema definition of the shape of the value property that this event expects" ,
216
+ "$ref" : " http://json-schema.org/draft-07/schema#"
217
+ },
218
+ "resultValue" : {
219
+ "type" : " object" ,
220
+ "description" : " The JsonSchema definition of the shape of the resultValue that this event may produce" ,
221
+ "$ref" : " http://json-schema.org/draft-07/schema#"
222
+ }
223
+ }
224
+ },
225
+ "messageActivity" : {
226
+ "type" : " object" ,
227
+ "description" : " An activity with Type=Message where the utterance is passed to the skill in the Text property" ,
228
+ "required" : [
229
+ " type"
230
+ ],
231
+ "additionalProperties" : false ,
232
+ "properties" : {
233
+ "type" : {
234
+ "type" : " string" ,
235
+ "description" : " The activity type" ,
236
+ "enum" : [
237
+ " message"
238
+ ],
239
+ "default" : " message"
240
+ },
241
+ "description" : {
242
+ "type" : " string" ,
243
+ "title" : " Description" ,
244
+ "description" : " Description for the activity"
245
+ },
246
+ "value" : {
247
+ "type" : " object" ,
248
+ "description" : " The JsonSchema definition of the shape of the value property that this message would like to have" ,
249
+ "$ref" : " http://json-schema.org/draft-07/schema#"
250
+ },
251
+ "resultValue" : {
252
+ "type" : " object" ,
253
+ "description" : " The JsonSchema definition of the shape of the resultValue that this message may produce" ,
254
+ "$ref" : " http://json-schema.org/draft-07/schema#"
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
0 commit comments