twentythree-skills 1.3.7 → 1.4.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 +29 -8
- package/bin/add.js +18 -0
- package/package.json +1 -1
- package/skills/SKILL.md +8 -0
package/README.md
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
# twentythree-skills
|
|
2
2
|
|
|
3
|
-
AI agent skills for the [TwentyThree CLI](https://github.com/23/twentythree-cli) — installable markdown skill definitions for Claude Code, OpenAI Codex, GitHub Copilot, and
|
|
3
|
+
AI agent skills for the [TwentyThree CLI](https://github.com/23/twentythree-cli) — installable markdown skill definitions for Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Windsurf, Cline, and Gemini CLI.
|
|
4
4
|
|
|
5
|
-
## Install
|
|
5
|
+
## Install from your AI assistant (no terminal)
|
|
6
|
+
|
|
7
|
+
Paste this into Claude Code, Codex, Cursor, Windsurf, Cline, Gemini CLI, or any agent that can run shell commands, and it will install everything for you:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Install the TwentyThree CLI and its AI skills on this machine, then verify:
|
|
11
|
+
1. Run: npm install -g twentythree-cli
|
|
12
|
+
2. Run: npx -y twentythree-skills
|
|
13
|
+
3. Ask me for my TwentyThree workspace domain and bearer token, then run:
|
|
14
|
+
twentythree auth credentials --domain <domain> --token <token>
|
|
15
|
+
4. Verify with: twentythree doctor
|
|
16
|
+
If Node 22+ / npm isn't installed, stop and tell me how to install it first.
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The assistant runs the install, detects its own runtime, and drops the skill files in the right place — then you can ask it to upload videos, run webinars, or query analytics in plain language.
|
|
20
|
+
|
|
21
|
+
## Install from the terminal
|
|
6
22
|
|
|
7
23
|
```bash
|
|
8
24
|
npx twentythree-skills
|
|
@@ -26,12 +42,17 @@ Installs into `.claude/skills/`, `.agents/skills/`, `.github/skills/`, or `.curs
|
|
|
26
42
|
|
|
27
43
|
## Supported runtimes
|
|
28
44
|
|
|
29
|
-
| Runtime | Detection | Global install path |
|
|
30
|
-
|
|
31
|
-
| Claude Code | `~/.claude/` | `~/.claude/skills/twentythree/` |
|
|
32
|
-
| OpenAI Codex | `~/.codex/` | `~/.codex/skills/twentythree/` |
|
|
33
|
-
| GitHub Copilot | `~/.github/copilot/` | `~/.github/skills/twentythree/` |
|
|
34
|
-
| Cursor | `~/.cursor/` | `~/.cursor/skills/twentythree/` |
|
|
45
|
+
| Runtime | Detection | Global install path | Project install path (`--project`) |
|
|
46
|
+
|---------|-----------|---------------------|------------------------------------|
|
|
47
|
+
| Claude Code | `~/.claude/` | `~/.claude/skills/twentythree/` | `.claude/skills/twentythree/` |
|
|
48
|
+
| OpenAI Codex | `~/.codex/` | `~/.codex/skills/twentythree/` | `.agents/skills/twentythree/` |
|
|
49
|
+
| GitHub Copilot | `~/.github/copilot/` | `~/.github/skills/twentythree/` | `.github/skills/twentythree/` |
|
|
50
|
+
| Cursor | `~/.cursor/` | `~/.cursor/skills/twentythree/` | `.cursor/skills/twentythree/` |
|
|
51
|
+
| Windsurf | `~/.codeium/` | `~/.codeium/windsurf/skills/twentythree/` | `.windsurf/skills/twentythree/` |
|
|
52
|
+
| Cline | `~/.clinerules/` | `~/.clinerules/twentythree/` | `.clinerules/twentythree/` |
|
|
53
|
+
| Gemini CLI | `~/.gemini/` | `~/.gemini/skills/twentythree/` | `.gemini/skills/twentythree/` |
|
|
54
|
+
|
|
55
|
+
The installer copies the same Markdown skill tree into every detected runtime's directory — each agent ingests it as project/skill context. See the [AI agents guide](https://github.com/23/twentythree-cli/blob/master/packages/twentythree-cli/docs/guides/ai-agents.md) for per-runtime quick starts.
|
|
35
56
|
|
|
36
57
|
## Prerequisites
|
|
37
58
|
|
package/bin/add.js
CHANGED
|
@@ -38,6 +38,24 @@ const RUNTIMES = [
|
|
|
38
38
|
globalDest: join(home, '.cursor', 'skills', 'twentythree'),
|
|
39
39
|
projectDest: join(cwd, '.cursor', 'skills', 'twentythree'),
|
|
40
40
|
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Windsurf',
|
|
43
|
+
detect: join(home, '.codeium'),
|
|
44
|
+
globalDest: join(home, '.codeium', 'windsurf', 'skills', 'twentythree'),
|
|
45
|
+
projectDest: join(cwd, '.windsurf', 'skills', 'twentythree'),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Cline',
|
|
49
|
+
detect: join(home, '.clinerules'),
|
|
50
|
+
globalDest: join(home, '.clinerules', 'twentythree'),
|
|
51
|
+
projectDest: join(cwd, '.clinerules', 'twentythree'),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Gemini CLI',
|
|
55
|
+
detect: join(home, '.gemini'),
|
|
56
|
+
globalDest: join(home, '.gemini', 'skills', 'twentythree'),
|
|
57
|
+
projectDest: join(cwd, '.gemini', 'skills', 'twentythree'),
|
|
58
|
+
},
|
|
41
59
|
]
|
|
42
60
|
|
|
43
61
|
function walkDir(dir) {
|
package/package.json
CHANGED
package/skills/SKILL.md
CHANGED
|
@@ -44,6 +44,14 @@ Prompts interactively for:
|
|
|
44
44
|
- **Domain** — your workspace domain (e.g. `company.video.twentythree.com`)
|
|
45
45
|
- **Bearer token** — copy from `Settings → API` inside your TwentyThree workspace admin
|
|
46
46
|
|
|
47
|
+
**Agentic / non-interactive setup:** the interactive prompt cannot be driven without a TTY. Pass `--domain` to configure credentials without prompts — ask the user for their domain and token first, then run:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
twentythree auth credentials --domain <domain> --token <token> --json
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
The token can also be supplied via the `TWENTYTHREE_TOKEN` env var instead of `--token` (keeps it out of shell history). Add `--workspace "<name or domain>"` to pick the active workspace when the token unlocks several; omit the token entirely for anonymous (domain-only) access.
|
|
54
|
+
|
|
47
55
|
Credentials are stored in the OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) — never in plaintext files.
|
|
48
56
|
|
|
49
57
|
Verify auth is working:
|