twentythree-cli 1.3.8 → 1.5.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/dist/commands/agentic/session/list.cjs +79 -0
- package/dist/commands/agentic/session/metrics.cjs +50 -0
- package/dist/commands/agentic/session/status.cjs +86 -0
- package/dist/commands/auth/credentials.cjs +101 -14
- package/dist/commands/seo/metrics.cjs +56 -0
- package/dist/commands/webinar/create.cjs +57 -5
- package/dist/commands/webinar/mail/add.cjs +44 -5
- package/dist/commands/webinar/mail/update.cjs +44 -0
- package/dist/commands/webinar/speaker/add.cjs +32 -2
- package/dist/commands/webinar/speaker/update.cjs +32 -2
- package/dist/commands/webinar/update.cjs +60 -1
- package/docs/commands/action/add.md +1 -1
- package/docs/commands/action/delete.md +1 -1
- package/docs/commands/action/exclude.md +1 -1
- package/docs/commands/action/get.md +1 -1
- package/docs/commands/action/include.md +1 -1
- package/docs/commands/action/list.md +1 -1
- package/docs/commands/action/types.md +1 -1
- package/docs/commands/action/update.md +1 -1
- package/docs/commands/action/upload.md +1 -1
- package/docs/commands/action.md +9 -9
- package/docs/commands/agentic/session.md +104 -0
- package/docs/commands/agentic.md +94 -0
- package/docs/commands/analytics/conversions.md +3 -3
- package/docs/commands/analytics/live.md +9 -9
- package/docs/commands/analytics/usage.md +18 -18
- package/docs/commands/analytics/video.md +12 -12
- package/docs/commands/analytics.md +42 -42
- package/docs/commands/app/add.md +1 -1
- package/docs/commands/app/delete.md +1 -1
- package/docs/commands/app/list.md +1 -1
- package/docs/commands/app/remove-thumbnail.md +1 -1
- package/docs/commands/app/set-thumbnail.md +1 -1
- package/docs/commands/app/update.md +1 -1
- package/docs/commands/app.md +6 -6
- package/docs/commands/audience/companies.md +1 -1
- package/docs/commands/audience/field.md +4 -4
- package/docs/commands/audience/funnel.md +1 -1
- package/docs/commands/audience/identity-sources.md +1 -1
- package/docs/commands/audience/list-collectors.md +1 -1
- package/docs/commands/audience/list.md +1 -1
- package/docs/commands/audience/metrics.md +1 -1
- package/docs/commands/audience/register.md +1 -1
- package/docs/commands/audience/remove.md +1 -1
- package/docs/commands/audience/search.md +1 -1
- package/docs/commands/audience/timelines.md +1 -1
- package/docs/commands/audience/unregister.md +1 -1
- package/docs/commands/audience.md +15 -15
- package/docs/commands/auth/credentials.md +1 -1
- package/docs/commands/auth/status.md +1 -1
- package/docs/commands/auth/switch.md +1 -1
- package/docs/commands/auth.md +25 -4
- package/docs/commands/autocomplete.md +1 -1
- package/docs/commands/category/create.md +1 -1
- package/docs/commands/category/delete.md +1 -1
- package/docs/commands/category/list.md +1 -1
- package/docs/commands/category/update.md +1 -1
- package/docs/commands/category.md +5 -5
- package/docs/commands/collector/exclude.md +1 -1
- package/docs/commands/collector/include.md +1 -1
- package/docs/commands/collector/list.md +1 -1
- package/docs/commands/collector.md +3 -3
- package/docs/commands/comment/add.md +1 -1
- package/docs/commands/comment/clone.md +1 -1
- package/docs/commands/comment/delete.md +1 -1
- package/docs/commands/comment/list.md +1 -1
- package/docs/commands/comment/promote.md +1 -1
- package/docs/commands/comment/reaction.md +3 -3
- package/docs/commands/comment/set-order.md +1 -1
- package/docs/commands/comment/update.md +1 -1
- package/docs/commands/comment.md +10 -10
- package/docs/commands/doctor.md +1 -1
- package/docs/commands/openupload/list.md +1 -1
- package/docs/commands/openupload/update-file.md +1 -1
- package/docs/commands/openupload/upload-file.md +1 -1
- package/docs/commands/openupload.md +3 -3
- package/docs/commands/player/delete.md +1 -1
- package/docs/commands/player/embed-versions.md +1 -1
- package/docs/commands/player/embed.md +1 -1
- package/docs/commands/player/list.md +1 -1
- package/docs/commands/player/remove-thumbnail.md +1 -1
- package/docs/commands/player/set-thumbnail.md +1 -1
- package/docs/commands/player/styles.md +1 -1
- package/docs/commands/player/update.md +1 -1
- package/docs/commands/player.md +8 -8
- package/docs/commands/poll/add.md +1 -1
- package/docs/commands/poll/answer.md +1 -1
- package/docs/commands/poll/list.md +1 -1
- package/docs/commands/poll/remove.md +1 -1
- package/docs/commands/poll/set-options.md +1 -1
- package/docs/commands/poll/update.md +1 -1
- package/docs/commands/poll.md +6 -6
- package/docs/commands/presentation/page.md +1 -1
- package/docs/commands/presentation/setting.md +2 -2
- package/docs/commands/presentation.md +3 -3
- package/docs/commands/protection/protect.md +1 -1
- package/docs/commands/protection/unprotect.md +1 -1
- package/docs/commands/protection/verify.md +1 -1
- package/docs/commands/protection.md +3 -3
- package/docs/commands/seo/get.md +1 -1
- package/docs/commands/seo/metrics.md +35 -0
- package/docs/commands/seo/status.md +1 -1
- package/docs/commands/seo/update.md +1 -1
- package/docs/commands/seo.md +30 -3
- package/docs/commands/session/get-token.md +1 -1
- package/docs/commands/session/redeem-token.md +1 -1
- package/docs/commands/session.md +2 -2
- package/docs/commands/setting/update.md +1 -1
- package/docs/commands/setting.md +1 -1
- package/docs/commands/site/get.md +1 -1
- package/docs/commands/site/search.md +1 -1
- package/docs/commands/site.md +2 -2
- package/docs/commands/spot/check.md +1 -1
- package/docs/commands/spot/create.md +1 -1
- package/docs/commands/spot/delete.md +1 -1
- package/docs/commands/spot/list.md +1 -1
- package/docs/commands/spot/reset-version.md +1 -1
- package/docs/commands/spot/set-videos.md +1 -1
- package/docs/commands/spot/update.md +1 -1
- package/docs/commands/spot.md +7 -7
- package/docs/commands/tag/list.md +1 -1
- package/docs/commands/tag/related.md +1 -1
- package/docs/commands/tag.md +2 -2
- package/docs/commands/thumbnail/add.md +1 -1
- package/docs/commands/thumbnail/data.md +1 -1
- package/docs/commands/thumbnail/delete.md +1 -1
- package/docs/commands/thumbnail/duplicate.md +1 -1
- package/docs/commands/thumbnail/file.md +3 -3
- package/docs/commands/thumbnail/list.md +1 -1
- package/docs/commands/thumbnail/preview-scss.md +1 -1
- package/docs/commands/thumbnail/update.md +1 -1
- package/docs/commands/thumbnail.md +11 -11
- package/docs/commands/user/create.md +1 -1
- package/docs/commands/user/get-login-token.md +1 -1
- package/docs/commands/user/get.md +1 -1
- package/docs/commands/user/list.md +1 -1
- package/docs/commands/user/redeem-login-token.md +1 -1
- package/docs/commands/user/send-invitation.md +1 -1
- package/docs/commands/user/tokens.md +1 -1
- package/docs/commands/user/update.md +1 -1
- package/docs/commands/user.md +8 -8
- package/docs/commands/video/delete.md +1 -1
- package/docs/commands/video/frame.md +1 -1
- package/docs/commands/video/get.md +1 -1
- package/docs/commands/video/list.md +1 -1
- package/docs/commands/video/replace.md +1 -1
- package/docs/commands/video/section.md +8 -8
- package/docs/commands/video/subtitle.md +12 -12
- package/docs/commands/video/transcoding-progress.md +1 -1
- package/docs/commands/video/update.md +1 -1
- package/docs/commands/video/upload.md +1 -1
- package/docs/commands/video.md +28 -28
- package/docs/commands/webhook/events.md +1 -1
- package/docs/commands/webhook/list.md +1 -1
- package/docs/commands/webhook/sample.md +1 -1
- package/docs/commands/webhook/subscribe.md +1 -1
- package/docs/commands/webhook/unsubscribe.md +1 -1
- package/docs/commands/webhook.md +5 -5
- package/docs/commands/webinar/attachment.md +4 -4
- package/docs/commands/webinar/clips.md +1 -1
- package/docs/commands/webinar/create.md +30 -12
- package/docs/commands/webinar/delete.md +1 -1
- package/docs/commands/webinar/highlights.md +1 -1
- package/docs/commands/webinar/list-formats.md +1 -1
- package/docs/commands/webinar/list.md +1 -1
- package/docs/commands/webinar/log.md +1 -1
- package/docs/commands/webinar/mail.md +35 -18
- package/docs/commands/webinar/metrics.md +1 -1
- package/docs/commands/webinar/queued-video.md +2 -2
- package/docs/commands/webinar/recording.md +4 -4
- package/docs/commands/webinar/repeat.md +1 -1
- package/docs/commands/webinar/room.md +4 -4
- package/docs/commands/webinar/section.md +4 -4
- package/docs/commands/webinar/series.md +12 -12
- package/docs/commands/webinar/speaker.md +41 -26
- package/docs/commands/webinar/transcription.md +4 -4
- package/docs/commands/webinar/update.md +25 -10
- package/docs/commands/webinar/upload-image.md +1 -1
- package/docs/commands/webinar.md +185 -109
- package/docs/commands/workspace/list.md +1 -1
- package/docs/commands/workspace/use.md +1 -1
- package/docs/commands/workspace.md +2 -2
- package/docs/guides/ai-agents.md +169 -0
- package/oclif.manifest.json +2022 -1308
- package/package.json +1 -1
|
@@ -24,4 +24,4 @@ EXAMPLES
|
|
|
24
24
|
$ twentythree workspace list
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
_See code: [src/commands/workspace/list.ts](https://github.com/23/twentythree-cli/blob/v1.
|
|
27
|
+
_See code: [src/commands/workspace/list.ts](https://github.com/23/twentythree-cli/blob/v1.5.0/src/commands/workspace/list.ts)_
|
|
@@ -29,4 +29,4 @@ EXAMPLES
|
|
|
29
29
|
$ twentythree workspace use "Company Name"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
_See code: [src/commands/workspace/use.ts](https://github.com/23/twentythree-cli/blob/v1.
|
|
32
|
+
_See code: [src/commands/workspace/use.ts](https://github.com/23/twentythree-cli/blob/v1.5.0/src/commands/workspace/use.ts)_
|
|
@@ -25,7 +25,7 @@ EXAMPLES
|
|
|
25
25
|
$ twentythree workspace list
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
_See code: [src/commands/workspace/list.ts](https://github.com/23/twentythree-cli/blob/v1.
|
|
28
|
+
_See code: [src/commands/workspace/list.ts](https://github.com/23/twentythree-cli/blob/v1.5.0/src/commands/workspace/list.ts)_
|
|
29
29
|
|
|
30
30
|
## `twentythree workspace use NAME`
|
|
31
31
|
|
|
@@ -51,4 +51,4 @@ EXAMPLES
|
|
|
51
51
|
$ twentythree workspace use "Company Name"
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
_See code: [src/commands/workspace/use.ts](https://github.com/23/twentythree-cli/blob/v1.
|
|
54
|
+
_See code: [src/commands/workspace/use.ts](https://github.com/23/twentythree-cli/blob/v1.5.0/src/commands/workspace/use.ts)_
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Using TwentyThree with AI coding agents
|
|
2
|
+
|
|
3
|
+
The TwentyThree CLI ships with an installable **skills** package — Markdown definitions that teach an AI coding agent how to drive every TwentyThree command (upload videos, run webinars, query analytics, manage audiences, and more). Once installed, you can ask your assistant in plain language and it will run the right CLI commands for you.
|
|
4
|
+
|
|
5
|
+
This guide covers two install paths and a quick start for each supported runtime.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Install from your AI assistant (recommended — no terminal)
|
|
10
|
+
|
|
11
|
+
If your agent can run shell commands (Claude Code, Codex, Cursor, Windsurf, Cline, Gemini CLI, …), paste this prompt into its chat and it will do everything:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
Install the TwentyThree CLI and its AI skills on this machine, then verify:
|
|
15
|
+
1. Run: npm install -g twentythree-cli
|
|
16
|
+
2. Run: npx -y twentythree-skills
|
|
17
|
+
3. Ask me for my TwentyThree workspace domain and bearer token, then run:
|
|
18
|
+
twentythree auth credentials --domain <domain> --token <token>
|
|
19
|
+
4. Verify with: twentythree doctor
|
|
20
|
+
If Node 22+ / npm isn't installed, stop and tell me how to install it first.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The assistant installs the CLI, runs the skills installer (which auto-detects the runtime it's running in), and prompts you for credentials. After that you can say things like:
|
|
24
|
+
|
|
25
|
+
- *"Upload ./keynote.mp4 to TwentyThree and publish it."*
|
|
26
|
+
- *"List my last 10 webinars as JSON."*
|
|
27
|
+
- *"What's the SEO status of video 127764838?"*
|
|
28
|
+
|
|
29
|
+
## Install from the terminal
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install -g twentythree-cli # the CLI
|
|
33
|
+
npx twentythree-skills # the agent skills (auto-detects your runtime)
|
|
34
|
+
twentythree auth credentials # authenticate
|
|
35
|
+
twentythree doctor # verify
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Add `--project` to the skills installer to install into the current repo instead of your home directory:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx twentythree-skills --project
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Supported runtimes
|
|
47
|
+
|
|
48
|
+
| Runtime | Detection | Global install path | Project install path (`--project`) |
|
|
49
|
+
|---------|-----------|---------------------|------------------------------------|
|
|
50
|
+
| Claude Code | `~/.claude/` | `~/.claude/skills/twentythree/` | `.claude/skills/twentythree/` |
|
|
51
|
+
| OpenAI Codex | `~/.codex/` | `~/.codex/skills/twentythree/` | `.agents/skills/twentythree/` |
|
|
52
|
+
| GitHub Copilot | `~/.github/copilot/` | `~/.github/skills/twentythree/` | `.github/skills/twentythree/` |
|
|
53
|
+
| Cursor | `~/.cursor/` | `~/.cursor/skills/twentythree/` | `.cursor/skills/twentythree/` |
|
|
54
|
+
| Windsurf | `~/.codeium/` | `~/.codeium/windsurf/skills/twentythree/` | `.windsurf/skills/twentythree/` |
|
|
55
|
+
| Cline | `~/.clinerules/` | `~/.clinerules/twentythree/` | `.clinerules/twentythree/` |
|
|
56
|
+
| Gemini CLI | `~/.gemini/` | `~/.gemini/skills/twentythree/` | `.gemini/skills/twentythree/` |
|
|
57
|
+
|
|
58
|
+
The installer copies the same Markdown skill tree into each detected runtime's directory. Every agent ingests it as context — there is no per-runtime format conversion.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Per-runtime quick start
|
|
63
|
+
|
|
64
|
+
### Claude Code
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install -g twentythree-cli && npx twentythree-skills
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Skills land in `~/.claude/skills/twentythree/`. Start Claude Code and ask: *"Use the twentythree skill to list my videos."* Claude reads `SKILL.md` and the reference files automatically.
|
|
71
|
+
|
|
72
|
+
### OpenAI Codex
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install -g twentythree-cli && npx twentythree-skills
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Skills land in `~/.codex/skills/twentythree/` (global) or `.agents/skills/twentythree/` (with `--project`). In a Codex session, reference the skill and ask it to run a command, e.g. *"Upload ./demo.mp4 with twentythree and give me the admin URL."*
|
|
79
|
+
|
|
80
|
+
### GitHub Copilot
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npm install -g twentythree-cli && npx twentythree-skills
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Skills land in `~/.github/skills/twentythree/`. Open Copilot Chat in your editor and ask it to run TwentyThree commands in the integrated terminal.
|
|
87
|
+
|
|
88
|
+
### Cursor
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm install -g twentythree-cli && npx twentythree-skills --project
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Project install lands in `.cursor/skills/twentythree/` so the skill travels with the repo. Ask Cursor's agent: *"List webinars from the last week as a table."*
|
|
95
|
+
|
|
96
|
+
### Windsurf
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
npm install -g twentythree-cli && npx twentythree-skills
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Skills land in `~/.codeium/windsurf/skills/twentythree/` (global) or `.windsurf/skills/twentythree/` (with `--project`). In Cascade, ask it to run `twentythree` commands for you.
|
|
103
|
+
|
|
104
|
+
### Cline
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm install -g twentythree-cli && npx twentythree-skills --project
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Project install lands in `.clinerules/twentythree/`, which Cline loads as workspace rules. Ask Cline to upload a video or pull analytics and approve the terminal commands it proposes.
|
|
111
|
+
|
|
112
|
+
### Gemini CLI
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm install -g twentythree-cli && npx twentythree-skills
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Skills land in `~/.gemini/skills/twentythree/`. Run `gemini` and ask it to manage your TwentyThree content; it will invoke the CLI on your behalf.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Non-interactive authentication (for agents and CI)
|
|
123
|
+
|
|
124
|
+
`twentythree auth credentials` prompts interactively by default, which a non-TTY agent or CI job can't drive. Pass `--domain` to run it non-interactively instead:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Token via env var (preferred — keeps it out of shell history and process listings)
|
|
128
|
+
TWENTYTHREE_TOKEN=<token> twentythree auth credentials --domain company.video23.com --json
|
|
129
|
+
|
|
130
|
+
# Or pass the token as a flag
|
|
131
|
+
twentythree auth credentials --domain company.video23.com --token <token>
|
|
132
|
+
|
|
133
|
+
# Pick a specific workspace when the token unlocks several
|
|
134
|
+
twentythree auth credentials --domain company.video23.com --token <token> --workspace "Marketing"
|
|
135
|
+
|
|
136
|
+
# Anonymous (domain-only) access — omit the token
|
|
137
|
+
twentythree auth credentials --domain company.video23.com
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
With `--json`, the command returns the configured `mode`, `active_workspace`, and the list of discovered `workspaces` for the agent to parse. If multiple workspaces are discovered and `--workspace` is omitted, the starred (then canonical, then first) workspace is set active.
|
|
141
|
+
|
|
142
|
+
## How the agent calls the CLI
|
|
143
|
+
|
|
144
|
+
Every command supports two machine-friendly flags the skills rely on:
|
|
145
|
+
|
|
146
|
+
- `--json` — structured output for the agent to parse.
|
|
147
|
+
- `--agent` — self-describing metadata (`api_endpoint`, `auth_scope`, `output_shape`, `side_effects`) so the agent knows what a command does before running it.
|
|
148
|
+
|
|
149
|
+
Example:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
twentythree video list --json
|
|
153
|
+
twentythree webinar create --agent # describe the command without running it
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Updating
|
|
157
|
+
|
|
158
|
+
Re-run the installer at any time — it's idempotent and overwrites the skill files in place:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
npx twentythree-skills
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Prerequisites
|
|
165
|
+
|
|
166
|
+
- Node.js 22 or newer.
|
|
167
|
+
- A TwentyThree workspace with a bearer token. Run `twentythree auth credentials` to set it up, then `twentythree doctor` to confirm connectivity.
|
|
168
|
+
|
|
169
|
+
See the [Getting Started guide](getting-started.md) for full CLI setup.
|