twentythree-skills 1.3.4 → 1.3.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twentythree-skills",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "description": "AI agent skills for the TwentyThree CLI",
5
5
  "license": "MIT",
6
6
  "author": "TwentyThree",
@@ -58,7 +58,29 @@ twentythree video upload ./video.mp4 --title "Q2 Keynote" --category-id <cat-id>
58
58
  | Flag | Required | Default | Description |
59
59
  |------|----------|---------|-------------|
60
60
  | `--limit` | no | — | Maximum number of videos to return (default: all) |
61
+ | `--search` | no | — | Search by title, description, or tags |
62
+ | `--album-id` | no | — | Filter to videos in one or more categories (comma-separated IDs) |
63
+ | `--user-id` | no | — | Filter by uploader (`me` for authenticated user) |
64
+ | `--photo-id` | no | — | Limit results to a single video by its ID |
65
+ | `--live-id` | no | — | Filter to videos associated with a specific webinar |
66
+ | `--tag` | no | — | Filter to videos with a specific tag |
67
+ | `--tags` | no | — | Space-separated list of tags to filter by |
68
+ | `--tag-mode` | no | — | How to combine tag filters: `and` or `or` |
69
+ | `--order-by` | no | — | Sort field: `uploaded`, `published`, `created`, `creation`, `taken`, `title`, `views`, `comments`, `rating`, `numratings`, `video_length`, `words`, `related`, `posted`, `rank`, `default-published` |
70
+ | `--order` | no | — | Sort direction: `asc` or `desc` |
71
+ | `--before-time` | no | — | Filter to videos uploaded before this timestamp (ISO 8601) |
72
+ | `--after-time` | no | — | Filter to videos uploaded after this timestamp (ISO 8601) |
73
+ | `--year` | no | — | Filter to videos from a specific year |
74
+ | `--month` | no | — | Filter to videos from a specific month (1–12, requires `--year`) |
75
+ | `--day` | no | — | Filter to videos from a specific day (1–31, requires `--year` and `--month`) |
76
+ | `--published` / `--no-published` | no | — | Filter by published status |
77
+ | `--promoted` / `--no-promoted` | no | — | Filter by promoted status |
78
+ | `--unalbummed` | no | — | Filter to videos not assigned to any category |
61
79
  | `--include-unpublished` | no | — | Include unpublished videos in results |
80
+ | `--include-stats` | no | — | Include per-video performance statistics (view count, play rate, engagement) |
81
+ | `--include-sections-count` | no | — | Include the number of chapters for each video |
82
+ | `--include-user-group` | no | — | Include the user group assignment for each video |
83
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
62
84
 
63
85
  ```bash
64
86
  # List all published videos
@@ -66,6 +88,24 @@ twentythree video list --json
66
88
 
67
89
  # List up to 20 videos including unpublished
68
90
  twentythree video list --limit 20 --include-unpublished --json
91
+
92
+ # Search for videos by keyword, sorted by most viewed
93
+ twentythree video list --search "intro" --order-by views --order desc --json
94
+
95
+ # Filter to videos in a category
96
+ twentythree video list --album-id 42 --json
97
+
98
+ # Filter to videos uploaded by the authenticated user
99
+ twentythree video list --user-id me --limit 10 --json
100
+
101
+ # Filter by date range
102
+ twentythree video list --after-time 2024-01-01T00:00:00Z --before-time 2024-12-31T23:59:59Z --json
103
+
104
+ # List with stats included
105
+ twentythree video list --include-stats --include-sections-count --json
106
+
107
+ # Return only specific fields
108
+ twentythree video list --fields photo_id,title,views --json
69
109
  ```
70
110
 
71
111
  ---
@@ -291,6 +331,29 @@ twentythree video section generate 12345 --json
291
331
 
292
332
  ---
293
333
 
334
+ ### video section check-generate-available
335
+
336
+ **Auth scope:** write **Side effects:** none **Output:** key-value
337
+
338
+ Checks whether AI chapter generation is available for a given video. Returns `section_generation_available_p` (boolean). Requires both the workspace feature to be enabled and the video to have a transcript. Use this before calling `video section generate` to avoid errors.
339
+
340
+ No required flags beyond the video ID positional argument.
341
+
342
+ | Flag | Required | Default | Description |
343
+ |------|----------|---------|-------------|
344
+ | `--fields` | no | — | Comma-separated list of fields to return |
345
+
346
+ ```bash
347
+ # Check if AI chapter generation is available
348
+ twentythree video section check-generate-available <id> --json
349
+
350
+ # Example with a real ID
351
+ twentythree video section check-generate-available 12345 --json
352
+ # => { "data": { "section_generation_available_p": true } }
353
+ ```
354
+
355
+ ---
356
+
294
357
  ### video section set-thumbnail
295
358
 
296
359
  **Auth scope:** write **Side effects:** updates **Output:** key-value
@@ -38,6 +38,7 @@ After create, the CLI prints the new webinar ID and its admin URL. Capture `data
38
38
  | `--live-date` | no | — | Schedule date/time (ISO 8601) |
39
39
  | `--draft` | no | false | Set as draft |
40
40
  | `--publish` | no | false | Publish the webinar |
41
+ | `--webinar-design-id` | no | — | Assign a webinar design by ID |
41
42
 
42
43
  ```bash
43
44
  # Create a basic upcoming webinar
@@ -86,6 +87,7 @@ twentythree webinar list --search "Q2 Town Hall" --include-private --json
86
87
  | `--live-date` | no | — | Schedule date/time (ISO 8601) |
87
88
  | `--draft` | no | — | Set as draft |
88
89
  | `--publish` | no | — | Publish or unpublish the webinar |
90
+ | `--webinar-design-id` | no | — | Assign a webinar design by ID |
89
91
 
90
92
  ```bash
91
93
  # Update title and description
@@ -124,6 +126,7 @@ Duplicates a webinar and schedules the copy at a new date/time. After repeat, th
124
126
  | Flag | Required | Default | Description |
125
127
  |------|----------|---------|-------------|
126
128
  | `--date` | yes | — | Schedule date/time for the new webinar (ISO 8601) |
129
+ | `--webinar-design-id` | no | — | Assign a webinar design by ID to the new webinar |
127
130
 
128
131
  ```bash
129
132
  # Schedule a repeat of a webinar
@@ -273,15 +276,20 @@ twentythree webinar speaker list 12345 --json
273
276
 
274
277
  | Flag | Required | Default | Description |
275
278
  |------|----------|---------|-------------|
276
- | `--name` | no | — | Speaker name |
277
- | `--email` | no | — | Speaker email |
279
+ | `--name` | yes | — | Speaker name |
280
+ | `--email` | no | — | Speaker email (required for WebRTC speakers) |
278
281
  | `--title` | no | — | Speaker title or job title |
279
282
  | `--description` | no | — | Speaker bio or description |
283
+ | `--connection-type` | no | `webrtc` | Speaker connection type: `webrtc`, `gearmode`, `rtmp`, `whip`, `srt`, `url` |
284
+ | `--connection-type-pull-url` | no | — | Pull URL for connection types that support stream pull (`whip`, `url`) |
280
285
 
281
286
  ```bash
282
- # Add a speaker with name and email
287
+ # Add a WebRTC speaker (email required for webrtc)
283
288
  twentythree webinar speaker add <id> --name "Jane Doe" --email jane@example.com --json
284
289
 
290
+ # Add an RTMP speaker (no email required)
291
+ twentythree webinar speaker add <id> --name "John Smith" --connection-type rtmp --json
292
+
285
293
  # Add a speaker with full details
286
294
  twentythree webinar speaker add <id> --name "John Smith" --email john@example.com --title "CTO" --description "Engineering lead" --json
287
295
  ```
@@ -338,11 +346,16 @@ twentythree webinar speaker add-from-user <id> --user-id <user-id> --json
338
346
  | `--email` | no | — | Speaker email |
339
347
  | `--title` | no | — | Speaker title or job title |
340
348
  | `--description` | no | — | Speaker bio or description |
349
+ | `--connection-type` | no | — | Speaker connection type: `webrtc`, `gearmode`, `rtmp`, `whip`, `srt`, `url` |
350
+ | `--connection-type-pull-url` | no | — | Pull URL for connection types that support stream pull (`whip`, `url`) |
341
351
 
342
352
  ```bash
343
353
  # Update a speaker's title and email
344
354
  twentythree webinar speaker update <id> <speaker-id> --title "CEO" --email ceo@example.com --json
345
355
 
356
+ # Change a speaker's connection type to RTMP
357
+ twentythree webinar speaker update <id> <speaker-id> --connection-type rtmp --json
358
+
346
359
  # Update speaker bio
347
360
  twentythree webinar speaker update <id> <speaker-id> --description "Updated bio" --json
348
361
  ```