twentythree-skills 1.0.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/README.md +47 -0
- package/bin/add.js +103 -0
- package/package.json +46 -0
- package/skills/SKILL.md +211 -0
- package/skills/reference/action.md +233 -0
- package/skills/reference/analytics.md +337 -0
- package/skills/reference/app.md +160 -0
- package/skills/reference/audience.md +377 -0
- package/skills/reference/category.md +123 -0
- package/skills/reference/collector.md +103 -0
- package/skills/reference/comment.md +225 -0
- package/skills/reference/openupload.md +138 -0
- package/skills/reference/player.md +192 -0
- package/skills/reference/poll.md +174 -0
- package/skills/reference/presentation.md +99 -0
- package/skills/reference/protection.md +131 -0
- package/skills/reference/session.md +98 -0
- package/skills/reference/setting.md +115 -0
- package/skills/reference/site.md +94 -0
- package/skills/reference/spot.md +188 -0
- package/skills/reference/tag.md +93 -0
- package/skills/reference/thumbnail.md +224 -0
- package/skills/reference/user.md +216 -0
- package/skills/reference/video.md +631 -0
- package/skills/reference/webhook.md +151 -0
- package/skills/reference/webinar.md +1371 -0
- package/skills/workflows/upload-and-publish.md +146 -0
- package/skills/workflows/webinar-lifecycle.md +209 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analytics
|
|
3
|
+
description: Pull reporting data from TwentyThree — video, live, conversions, and usage metrics.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# TwentyThree Analytics Commands
|
|
7
|
+
|
|
8
|
+
> Query video, live, conversion, and usage analytics from TwentyThree. All analytics commands are read-only.
|
|
9
|
+
> Always use `--json` in agentic contexts for structured output.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
Auth scope required: read (all analytics commands).
|
|
14
|
+
Run `twentythree auth credentials` if not already configured.
|
|
15
|
+
Verify: `twentythree auth status --json`
|
|
16
|
+
|
|
17
|
+
> For any flag not listed here, run `twentythree analytics <subtopic> <cmd> --agent` to get the complete flag list, types, and defaults.
|
|
18
|
+
|
|
19
|
+
## Shared Flag Pattern
|
|
20
|
+
|
|
21
|
+
All analytics commands share the same base flag set. This shared-flag block replaces per-command flag tables since every command accepts the same flags — listing them 21 times would add noise without adding information. Command-specific flags (where they exist) are noted per command.
|
|
22
|
+
|
|
23
|
+
| Flag | Required | Description |
|
|
24
|
+
|------|----------|-------------|
|
|
25
|
+
| `--date-start <YYYY-MM-DD>` | no | First date of the reporting window |
|
|
26
|
+
| `--date-end <YYYY-MM-DD>` | no | Last date of the reporting window |
|
|
27
|
+
| `--date-expression <value>` | no | Predefined range: `thisweek`, `thismonth`, `lastmonth`, `lastyear`, etc. |
|
|
28
|
+
| `--groupby <dimension>` | no | Group results by a dimension (e.g. video, category, domain) |
|
|
29
|
+
| `--orderby <field>` | no | Sort field |
|
|
30
|
+
| `--order <asc\|desc>` | no | Sort direction |
|
|
31
|
+
| `--page <n>` | no | Page number (where applicable) |
|
|
32
|
+
| `--size <n>` | no | Results per page (where applicable) |
|
|
33
|
+
| `--selection <value>` | no | Scope results to specific objects or types |
|
|
34
|
+
|
|
35
|
+
> For the exact flag set per subcommand (some add command-specific flags), run `twentythree analytics <subtopic> <cmd> --agent`.
|
|
36
|
+
|
|
37
|
+
## Commands
|
|
38
|
+
|
|
39
|
+
### analytics video
|
|
40
|
+
|
|
41
|
+
Video playback and engagement analytics. Auth scope: read for all commands.
|
|
42
|
+
|
|
43
|
+
#### analytics video totals
|
|
44
|
+
|
|
45
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Plays, Engagement, Playrate, Avg View Time, Traffic)
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# This month's video totals
|
|
49
|
+
twentythree analytics video totals --date-expression thismonth --json
|
|
50
|
+
|
|
51
|
+
# Video totals for a specific date range
|
|
52
|
+
twentythree analytics video totals --date-start 2026-01-01 --date-end 2026-03-31 --json
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### analytics video timeseries
|
|
56
|
+
|
|
57
|
+
**Auth scope:** read **Side effects:** none **Output:** table (time-series data points)
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Video time series for this month
|
|
61
|
+
twentythree analytics video timeseries --date-expression thismonth --json
|
|
62
|
+
|
|
63
|
+
# Time series for a custom range
|
|
64
|
+
twentythree analytics video timeseries --date-start 2026-04-01 --date-end 2026-04-30 --json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### analytics video performance
|
|
68
|
+
|
|
69
|
+
**Auth scope:** read **Side effects:** none **Output:** table (per-video performance metrics)
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Performance metrics for all videos this month
|
|
73
|
+
twentythree analytics video performance --date-expression thismonth --json
|
|
74
|
+
|
|
75
|
+
# Performance ordered by plays descending
|
|
76
|
+
twentythree analytics video performance --date-expression lastmonth --orderby plays --order desc --json
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### analytics video published
|
|
80
|
+
|
|
81
|
+
**Auth scope:** read **Side effects:** none **Output:** table (analytics for published videos)
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Analytics for published videos this month
|
|
85
|
+
twentythree analytics video published --date-expression thismonth --json
|
|
86
|
+
|
|
87
|
+
# Published video analytics for a specific range
|
|
88
|
+
twentythree analytics video published --date-start 2026-01-01 --date-end 2026-03-31 --json
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### analytics video weekday
|
|
92
|
+
|
|
93
|
+
**Auth scope:** read **Side effects:** none **Output:** table (breakdown by day of week)
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Video plays broken down by weekday this month
|
|
97
|
+
twentythree analytics video weekday --date-expression thismonth --json
|
|
98
|
+
|
|
99
|
+
# Weekday breakdown for last month
|
|
100
|
+
twentythree analytics video weekday --date-expression lastmonth --json
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
### analytics live
|
|
106
|
+
|
|
107
|
+
Live/webinar analytics. Auth scope: read for all commands.
|
|
108
|
+
|
|
109
|
+
#### analytics live totals
|
|
110
|
+
|
|
111
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Plays, Peak Viewers, Engagement, Playrate, Avg View Time)
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Live totals for this month
|
|
115
|
+
twentythree analytics live totals --date-expression thismonth --json
|
|
116
|
+
|
|
117
|
+
# Live totals for a specific range
|
|
118
|
+
twentythree analytics live totals --date-start 2026-01-01 --date-end 2026-03-31 --json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### analytics live timeseries
|
|
122
|
+
|
|
123
|
+
**Auth scope:** read **Side effects:** none **Output:** table (time-series data points)
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Live time series for this month
|
|
127
|
+
twentythree analytics live timeseries --date-expression thismonth --json
|
|
128
|
+
|
|
129
|
+
# Live time series for a custom range
|
|
130
|
+
twentythree analytics live timeseries --date-start 2026-04-01 --date-end 2026-04-30 --json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### analytics live event
|
|
134
|
+
|
|
135
|
+
**Auth scope:** read **Side effects:** none **Output:** table (event-level analytics)
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Event-level analytics for this month
|
|
139
|
+
twentythree analytics live event --date-expression thismonth --json
|
|
140
|
+
|
|
141
|
+
# Event analytics scoped to a specific live event
|
|
142
|
+
twentythree analytics live event --selection <live-id> --date-expression thismonth --json
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### analytics live event-timeseries
|
|
146
|
+
|
|
147
|
+
**Auth scope:** read **Side effects:** none **Output:** table (event time-series data)
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Event time-series for a specific live event
|
|
151
|
+
twentythree analytics live event-timeseries --date-start 2026-04-01 --date-end 2026-04-30 --selection <live-id> --json
|
|
152
|
+
|
|
153
|
+
# Event time-series for this month
|
|
154
|
+
twentythree analytics live event-timeseries --date-expression thismonth --json
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### analytics live event-totals
|
|
158
|
+
|
|
159
|
+
**Auth scope:** read **Side effects:** none **Output:** table (event totals)
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Totals for all live events this month
|
|
163
|
+
twentythree analytics live event-totals --date-expression thismonth --json
|
|
164
|
+
|
|
165
|
+
# Event totals for a specific event
|
|
166
|
+
twentythree analytics live event-totals --selection <live-id> --date-expression lastmonth --json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
#### analytics live weekday
|
|
170
|
+
|
|
171
|
+
**Auth scope:** read **Side effects:** none **Output:** table (breakdown by day of week)
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# Live viewership by weekday this month
|
|
175
|
+
twentythree analytics live weekday --date-expression thismonth --json
|
|
176
|
+
|
|
177
|
+
# Weekday breakdown for last month
|
|
178
|
+
twentythree analytics live weekday --date-expression lastmonth --json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### analytics conversions
|
|
184
|
+
|
|
185
|
+
Conversion tracking analytics. Auth scope: read for all commands.
|
|
186
|
+
|
|
187
|
+
#### analytics conversions totals
|
|
188
|
+
|
|
189
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Conversions, Views, Visits, Engagement)
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Conversion totals for this month
|
|
193
|
+
twentythree analytics conversions totals --date-expression thismonth --json
|
|
194
|
+
|
|
195
|
+
# Conversion totals for a specific range
|
|
196
|
+
twentythree analytics conversions totals --date-start 2026-01-01 --date-end 2026-03-31 --json
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### analytics conversions timeseries
|
|
200
|
+
|
|
201
|
+
**Auth scope:** read **Side effects:** none **Output:** table (conversion time-series data)
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Conversion time series for this month
|
|
205
|
+
twentythree analytics conversions timeseries --date-expression thismonth --json
|
|
206
|
+
|
|
207
|
+
# Conversion time series for last month
|
|
208
|
+
twentythree analytics conversions timeseries --date-expression lastmonth --json
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
### analytics usage
|
|
214
|
+
|
|
215
|
+
Usage breakdown analytics (devices, domains, locations, and more). Auth scope: read for all commands.
|
|
216
|
+
|
|
217
|
+
#### analytics usage devices
|
|
218
|
+
|
|
219
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Device, Plays, Engagement, Traffic, Impressions)
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Usage by device type this month
|
|
223
|
+
twentythree analytics usage devices --date-expression thismonth --json
|
|
224
|
+
|
|
225
|
+
# Last month's device usage ordered by plays
|
|
226
|
+
twentythree analytics usage devices --date-expression lastmonth --orderby plays --order desc --json
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### analytics usage domains
|
|
230
|
+
|
|
231
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Domain, Plays, Traffic)
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Usage by domain this month
|
|
235
|
+
twentythree analytics usage domains --date-expression thismonth --json
|
|
236
|
+
|
|
237
|
+
# Domain usage for a custom date range
|
|
238
|
+
twentythree analytics usage domains --date-start 2026-01-01 --date-end 2026-03-31 --json
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
#### analytics usage locations
|
|
242
|
+
|
|
243
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Location, Plays, Traffic)
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Usage by location this month
|
|
247
|
+
twentythree analytics usage locations --date-expression thismonth --json
|
|
248
|
+
|
|
249
|
+
# Location breakdown for last month
|
|
250
|
+
twentythree analytics usage locations --date-expression lastmonth --orderby plays --order desc --json
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
#### analytics usage sources
|
|
254
|
+
|
|
255
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Source, Plays, Traffic)
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Usage by traffic source this month
|
|
259
|
+
twentythree analytics usage sources --date-expression thismonth --json
|
|
260
|
+
|
|
261
|
+
# Source breakdown for a specific range
|
|
262
|
+
twentythree analytics usage sources --date-start 2026-04-01 --date-end 2026-04-30 --json
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
#### analytics usage sourceids
|
|
266
|
+
|
|
267
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Source ID, Plays, Traffic)
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
# Usage by source ID this month
|
|
271
|
+
twentythree analytics usage sourceids --date-expression thismonth --json
|
|
272
|
+
|
|
273
|
+
# Source ID breakdown for last month
|
|
274
|
+
twentythree analytics usage sourceids --date-expression lastmonth --json
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
#### analytics usage spots
|
|
278
|
+
|
|
279
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Spot, Plays, Traffic)
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# Usage by spot this month
|
|
283
|
+
twentythree analytics usage spots --date-expression thismonth --json
|
|
284
|
+
|
|
285
|
+
# Spot usage for a specific date range
|
|
286
|
+
twentythree analytics usage spots --date-start 2026-01-01 --date-end 2026-03-31 --json
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
#### analytics usage storage
|
|
290
|
+
|
|
291
|
+
**Auth scope:** read **Side effects:** none **Output:** key-value (storage totals)
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Full storage usage report
|
|
295
|
+
twentythree analytics usage storage --json
|
|
296
|
+
|
|
297
|
+
# Storage usage scoped to videos only
|
|
298
|
+
twentythree analytics usage storage --selection videos --json
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
#### analytics usage traffic
|
|
302
|
+
|
|
303
|
+
**Auth scope:** read **Side effects:** none **Output:** table (Traffic Type, Plays)
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
# Usage by traffic type this month
|
|
307
|
+
twentythree analytics usage traffic --date-expression thismonth --json
|
|
308
|
+
|
|
309
|
+
# Traffic breakdown for last month
|
|
310
|
+
twentythree analytics usage traffic --date-expression lastmonth --orderby plays --order desc --json
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
## Common Patterns
|
|
314
|
+
|
|
315
|
+
### This month's video totals
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
twentythree analytics video totals --date-expression thismonth --json
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Last period traffic by device
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
twentythree analytics usage devices --date-expression lastmonth --orderby plays --order desc --json
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Time-series for a specific live event
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
twentythree analytics live event-timeseries --date-start 2026-04-01 --date-end 2026-04-30 --selection <live-id> --json
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Storage usage report
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
twentythree analytics usage storage --json
|
|
337
|
+
```
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app
|
|
3
|
+
description: Manage TwentyThree apps (player design integrations) including thumbnails.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# TwentyThree App Commands
|
|
7
|
+
|
|
8
|
+
> Create and manage player design app integrations on the active workspace. Apps customise
|
|
9
|
+
> player appearance and behaviour. Always use `--json` in agentic contexts for structured output.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
Auth scope required: read (list), write (add, update, delete, set-thumbnail, remove-thumbnail).
|
|
14
|
+
Run `twentythree auth credentials` if not already configured.
|
|
15
|
+
Verify: `twentythree auth status --json`
|
|
16
|
+
|
|
17
|
+
> For any flag not listed here, run `twentythree app <cmd> --agent` to get the complete flag list, types, and defaults.
|
|
18
|
+
|
|
19
|
+
## Commands
|
|
20
|
+
|
|
21
|
+
### app list
|
|
22
|
+
|
|
23
|
+
**Auth scope:** read **Side effects:** none **Output:** table (ID, Name, Type, Description)
|
|
24
|
+
|
|
25
|
+
Flags:
|
|
26
|
+
|
|
27
|
+
| Flag | Required | Description |
|
|
28
|
+
|------|----------|-------------|
|
|
29
|
+
| `--app-id` | no | Filter results to a specific app ID |
|
|
30
|
+
| `--page` | no | Page offset |
|
|
31
|
+
| `--size` | no | Number of results per page (default 20, max 100) |
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# List all apps in the workspace
|
|
35
|
+
twentythree app list --json
|
|
36
|
+
|
|
37
|
+
# Filter to a specific app and paginate
|
|
38
|
+
twentythree app list --app-id 42 --page 1 --size 50 --json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### app add
|
|
42
|
+
|
|
43
|
+
**Auth scope:** write **Side effects:** creates **Output:** key-value
|
|
44
|
+
|
|
45
|
+
Flags:
|
|
46
|
+
|
|
47
|
+
| Flag | Required | Description |
|
|
48
|
+
|------|----------|-------------|
|
|
49
|
+
| `--name` | yes | App name |
|
|
50
|
+
| `--description` | no | App description |
|
|
51
|
+
| `--style` | no | App style identifier |
|
|
52
|
+
| `--type` | no | App type identifier |
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Create a minimal new app
|
|
56
|
+
twentythree app add --name "Brand Player" --json
|
|
57
|
+
|
|
58
|
+
# Create an app with full metadata
|
|
59
|
+
twentythree app add --name "Brand Player" --description "Custom branded embed player" --style clean --json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### app update
|
|
63
|
+
|
|
64
|
+
**Auth scope:** write **Side effects:** updates **Output:** key-value
|
|
65
|
+
|
|
66
|
+
Takes `<app-id>` as positional argument.
|
|
67
|
+
|
|
68
|
+
Flags:
|
|
69
|
+
|
|
70
|
+
| Flag | Required | Description |
|
|
71
|
+
|------|----------|-------------|
|
|
72
|
+
| `--name` | no | New app name |
|
|
73
|
+
| `--description` | no | New app description |
|
|
74
|
+
| `--style` | no | New app style identifier |
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Rename an existing app
|
|
78
|
+
twentythree app update 42 --name "Redesigned Player" --json
|
|
79
|
+
|
|
80
|
+
# Update description and style
|
|
81
|
+
twentythree app update 42 --description "Updated embed player" --style minimal --json
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### app delete
|
|
85
|
+
|
|
86
|
+
**Auth scope:** write **Side effects:** destructive **Output:** key-value
|
|
87
|
+
|
|
88
|
+
Takes `<app-id>` as positional argument. No flags.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Delete an app by ID
|
|
92
|
+
twentythree app delete 42 --json
|
|
93
|
+
|
|
94
|
+
# Check existing apps before deletion
|
|
95
|
+
twentythree app list --json
|
|
96
|
+
twentythree app delete 42 --json
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### app set-thumbnail
|
|
100
|
+
|
|
101
|
+
**Auth scope:** write **Side effects:** updates **Output:** key-value
|
|
102
|
+
|
|
103
|
+
Takes `<file-path>` as positional argument. Uploads a custom thumbnail image for the app.
|
|
104
|
+
|
|
105
|
+
Flags:
|
|
106
|
+
|
|
107
|
+
| Flag | Required | Description |
|
|
108
|
+
|------|----------|-------------|
|
|
109
|
+
| `--app-id` | yes | App ID to update |
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Upload a PNG thumbnail for an app
|
|
113
|
+
twentythree app set-thumbnail ./thumbnail.png --app-id 42 --json
|
|
114
|
+
|
|
115
|
+
# Upload a JPEG thumbnail
|
|
116
|
+
twentythree app set-thumbnail ./thumb.jpg --app-id 42 --json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### app remove-thumbnail
|
|
120
|
+
|
|
121
|
+
**Auth scope:** write **Side effects:** updates **Output:** key-value
|
|
122
|
+
|
|
123
|
+
Takes `<app-id>` as positional argument. Reverts the app thumbnail to the platform default. No flags.
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Remove custom thumbnail and revert to default
|
|
127
|
+
twentythree app remove-thumbnail 42 --json
|
|
128
|
+
|
|
129
|
+
# Verify the app state after removal
|
|
130
|
+
twentythree app list --app-id 42 --json
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Common Patterns
|
|
134
|
+
|
|
135
|
+
### Upload and then remove a custom app thumbnail
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Step 1: List apps to find the target app ID
|
|
139
|
+
twentythree app list --json
|
|
140
|
+
|
|
141
|
+
# Step 2: Upload a custom thumbnail
|
|
142
|
+
twentythree app set-thumbnail ./brand-thumb.png --app-id <app-id> --json
|
|
143
|
+
|
|
144
|
+
# Step 3: Later, revert to the default thumbnail
|
|
145
|
+
twentythree app remove-thumbnail <app-id> --json
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Create an app and configure it
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# Create the app
|
|
152
|
+
twentythree app add --name "Q2 Campaign Player" --description "Campaign branded player" --json
|
|
153
|
+
# => Returns { id: <app-id>, ... }
|
|
154
|
+
|
|
155
|
+
# Update style after reviewing available options
|
|
156
|
+
twentythree app update <app-id> --style minimal --json
|
|
157
|
+
|
|
158
|
+
# Attach a thumbnail
|
|
159
|
+
twentythree app set-thumbnail ./campaign-logo.png --app-id <app-id> --json
|
|
160
|
+
```
|