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.
@@ -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
+ ```