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