@clix-so/clix-agent-skills 0.2.0 → 0.2.1
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 +15 -13
- package/dist/bin/cli.js +1 -1
- package/dist/bin/commands/install.js +21 -17
- package/dist/bin/utils/mcp.js +16 -8
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ configure the Clix MCP Server.
|
|
|
25
25
|
The CLI supports two installation modes for skills:
|
|
26
26
|
|
|
27
27
|
1. **Repo Root (Project-specific)** - Installs skills to the current project
|
|
28
|
-
|
|
28
|
+
directory (default)
|
|
29
29
|
|
|
30
30
|
- Skills are available only for the current project
|
|
31
31
|
- Best for project-specific configurations
|
|
@@ -61,32 +61,32 @@ npx @clix-so/clix-agent-skills@latest install --all --client cursor --global
|
|
|
61
61
|
### Available Skills
|
|
62
62
|
|
|
63
63
|
- **clix-integration**: Seamlessly integrate Clix Mobile SDK to your mobile
|
|
64
|
-
application with Clix MCP Server
|
|
64
|
+
application with Clix MCP Server
|
|
65
65
|
- **clix-event-tracking**: Implement `Clix.trackEvent` with naming/schema best
|
|
66
|
-
practices and campaign-ready validation
|
|
66
|
+
practices and campaign-ready validation
|
|
67
67
|
- **clix-user-management**: Implement `Clix.setUserId` + user properties with
|
|
68
|
-
logout best practices, personalization (`user.*`), and audience targeting
|
|
68
|
+
logout best practices, personalization (`user.*`), and audience targeting
|
|
69
69
|
- **clix-personalization**: Author and debug personalization templates for
|
|
70
|
-
message content, deep links/URLs, and audience targeting rules (`user.*`,
|
|
71
|
-
`event.*`, `trigger.*`, `device.*`)
|
|
70
|
+
message content, deep links/URLs, and audience targeting rules (`user.*`,
|
|
71
|
+
`event.*`, `trigger.*`, `device.*`)
|
|
72
72
|
- **clix-api-triggered-campaigns**: Configure API-triggered campaigns in the
|
|
73
|
-
console and trigger them from your backend with safe auth, dynamic filters
|
|
74
|
-
(`trigger.*`), and personalization patterns
|
|
73
|
+
console and trigger them from your backend with safe auth, dynamic filters
|
|
74
|
+
(`trigger.*`), and personalization patterns
|
|
75
75
|
|
|
76
76
|
**Supported Clients:**
|
|
77
77
|
|
|
78
|
-
|
|
79
78
|
| Client | Flag | Default Path |
|
|
80
79
|
| -------------- | ------------------------------------ | ------------------ |
|
|
81
80
|
| Amp | `--client amp` | `.amp/skills/` |
|
|
82
81
|
| Claude Code | `--client claude` (or `claude-code`) | `.claude/skills/` |
|
|
83
82
|
| Codex | `--client codex` | `.codex/skills/` |
|
|
84
83
|
| Cursor | `--client cursor` | `.cursor/skills/` |
|
|
84
|
+
| Gemini CLI | `--client gemini` | `.gemini/skills/` |
|
|
85
85
|
| GitHub Copilot | `--client github` | `.github/skills/` |
|
|
86
86
|
| Goose | `--client goose` | `.goose/skills/` |
|
|
87
87
|
| Letta | `--client letta` | `.skills/` |
|
|
88
88
|
| OpenCode | `--client opencode` | `.opencode/skill/` |
|
|
89
|
-
|
|
89
|
+
| VS Code | `--client vscode` | `.vscode/skills/` |
|
|
90
90
|
|
|
91
91
|
### Claude Code
|
|
92
92
|
|
|
@@ -117,7 +117,10 @@ Alternatively, you can install a single skill directly by running:
|
|
|
117
117
|
/plugin install clix-api-triggered-campaigns@clix-agent-skills
|
|
118
118
|
```
|
|
119
119
|
|
|
120
|
-
**Note for Claude Code users**: Skills now support automatic hot-reload! Skills
|
|
120
|
+
**Note for Claude Code users**: Skills now support automatic hot-reload! Skills
|
|
121
|
+
created or modified in `~/.claude/skills` or `.claude/skills` are immediately
|
|
122
|
+
available without restarting the session. Skills also show real-time progress
|
|
123
|
+
while executing, displaying tool uses as they happen.
|
|
121
124
|
|
|
122
125
|
### Codex
|
|
123
126
|
|
|
@@ -135,7 +138,6 @@ $skill-installer install https://github.com/clix-so/skills/tree/main/skills/inte
|
|
|
135
138
|
|
|
136
139
|
Ensure you restart Codex after installation to detect the new skills.
|
|
137
140
|
|
|
138
|
-
|
|
139
141
|
## Disclaimer
|
|
140
142
|
|
|
141
143
|
Please be aware that these skills may occasionally fail or execute incorrectly
|
|
@@ -148,4 +150,4 @@ Please use them with caution and supervision.
|
|
|
148
150
|
|
|
149
151
|
Each skill in this repository is governed by its own license. For specific terms
|
|
150
152
|
and conditions, please consult the `LICENSE.txt` file located within each
|
|
151
|
-
skill's individual directory.
|
|
153
|
+
skill's individual directory.
|
package/dist/bin/cli.js
CHANGED
|
@@ -25,7 +25,7 @@ program
|
|
|
25
25
|
program
|
|
26
26
|
.command("install [skill]")
|
|
27
27
|
.description("Install agent skill(s)")
|
|
28
|
-
.option("-c, --client <client>", "Target AI client (
|
|
28
|
+
.option("-c, --client <client>", "Target AI client (amazonq, amp, claude|claude-code, codex, copilot|github, cursor, gemini, goose, kiro, letta, opencode, vscode, manual)")
|
|
29
29
|
.option("-p, --path <path>", "Custom installation path (default: .clix/skills)")
|
|
30
30
|
.option("-a, --all", "Install all available skills")
|
|
31
31
|
.option("-g, --global", "Install globally to system root (default: installs to repo root)")
|
|
@@ -63,22 +63,30 @@ async function installSkill(skillName, options) {
|
|
|
63
63
|
}
|
|
64
64
|
else if (options.client) {
|
|
65
65
|
switch (options.client.toLowerCase()) {
|
|
66
|
+
case "amazonq":
|
|
67
|
+
relativeDest = ".amazonq/skills";
|
|
68
|
+
break;
|
|
69
|
+
case "amp":
|
|
70
|
+
relativeDest = ".amp/skills";
|
|
71
|
+
break;
|
|
66
72
|
case "claude":
|
|
67
73
|
case "claude-code":
|
|
68
74
|
// Claude Code uses the .claude/ folder convention, but MCP is configured via `claude mcp ...`
|
|
69
75
|
relativeDest = ".claude/skills";
|
|
70
76
|
break;
|
|
71
|
-
case "cursor":
|
|
72
|
-
relativeDest = ".cursor/skills";
|
|
73
|
-
break;
|
|
74
|
-
case "vscode":
|
|
75
|
-
relativeDest = ".vscode/skills";
|
|
76
|
-
break;
|
|
77
77
|
case "codex":
|
|
78
78
|
relativeDest = ".codex/skills";
|
|
79
79
|
break;
|
|
80
|
-
case "
|
|
81
|
-
|
|
80
|
+
case "copilot":
|
|
81
|
+
case "github":
|
|
82
|
+
relativeDest = ".github/skills";
|
|
83
|
+
break;
|
|
84
|
+
case "cursor":
|
|
85
|
+
relativeDest = ".cursor/skills";
|
|
86
|
+
break;
|
|
87
|
+
case "gemini":
|
|
88
|
+
// Gemini CLI discovers project skills in `.gemini/skills/` and user skills in `~/.gemini/skills/`
|
|
89
|
+
relativeDest = ".gemini/skills";
|
|
82
90
|
break;
|
|
83
91
|
case "letta":
|
|
84
92
|
relativeDest = ".skills";
|
|
@@ -86,18 +94,14 @@ async function installSkill(skillName, options) {
|
|
|
86
94
|
case "goose":
|
|
87
95
|
relativeDest = ".goose/skills";
|
|
88
96
|
break;
|
|
89
|
-
case "github":
|
|
90
|
-
case "copilot":
|
|
91
|
-
relativeDest = ".github/skills";
|
|
92
|
-
break;
|
|
93
|
-
case "amp":
|
|
94
|
-
relativeDest = ".amp/skills";
|
|
95
|
-
break;
|
|
96
97
|
case "kiro":
|
|
97
98
|
relativeDest = ".kiro/skills";
|
|
98
99
|
break;
|
|
99
|
-
case "
|
|
100
|
-
relativeDest = ".
|
|
100
|
+
case "opencode":
|
|
101
|
+
relativeDest = ".opencode/skill";
|
|
102
|
+
break;
|
|
103
|
+
case "vscode":
|
|
104
|
+
relativeDest = ".vscode/skills";
|
|
101
105
|
break;
|
|
102
106
|
default:
|
|
103
107
|
relativeDest = options.client.startsWith(".") ? `${options.client}/skills` : `.clix/skills`;
|
package/dist/bin/utils/mcp.js
CHANGED
|
@@ -151,6 +151,13 @@ function createEmptyConfig(configKey) {
|
|
|
151
151
|
function getClientConfig(client) {
|
|
152
152
|
const home = os_1.default.homedir();
|
|
153
153
|
switch (client.toLowerCase()) {
|
|
154
|
+
case "gemini":
|
|
155
|
+
// Gemini CLI stores MCP server configuration in `~/.gemini/settings.json` (user scope)
|
|
156
|
+
return {
|
|
157
|
+
path: path_1.default.join(home, ".gemini", "settings.json"),
|
|
158
|
+
configKey: "mcpServers",
|
|
159
|
+
format: "json",
|
|
160
|
+
};
|
|
154
161
|
case "cursor": {
|
|
155
162
|
// MCP is always configured globally
|
|
156
163
|
return {
|
|
@@ -351,17 +358,18 @@ async function configureMCP(client) {
|
|
|
351
358
|
name: "client",
|
|
352
359
|
message: "Which AI client are you using?",
|
|
353
360
|
choices: [
|
|
354
|
-
{ name: "Cursor", value: "cursor" },
|
|
355
|
-
{ name: "Claude Code", value: "claude" },
|
|
356
|
-
{ name: "VS Code", value: "vscode" },
|
|
357
|
-
{ name: "Amp", value: "amp" },
|
|
358
|
-
{ name: "Kiro", value: "kiro" },
|
|
359
361
|
{ name: "Amazon Q", value: "amazonq" },
|
|
362
|
+
{ name: "Amp", value: "amp" },
|
|
363
|
+
{ name: "Claude Code", value: "claude" },
|
|
360
364
|
{ name: "Codex", value: "codex" },
|
|
361
|
-
{ name: "
|
|
362
|
-
{ name: "
|
|
363
|
-
{ name: "Goose", value: "goose" },
|
|
365
|
+
{ name: "Cursor", value: "cursor" },
|
|
366
|
+
{ name: "Gemini CLI", value: "gemini" },
|
|
364
367
|
{ name: "GitHub", value: "github" },
|
|
368
|
+
{ name: "Goose", value: "goose" },
|
|
369
|
+
{ name: "Kiro", value: "kiro" },
|
|
370
|
+
{ name: "Letta", value: "letta" },
|
|
371
|
+
{ name: "OpenCode", value: "opencode" },
|
|
372
|
+
{ name: "VS Code", value: "vscode" },
|
|
365
373
|
{ name: "None / Manual", value: "manual" },
|
|
366
374
|
],
|
|
367
375
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clix-so/clix-agent-skills",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "An open collection of agent skills for Clix.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"generate-llms": "ts-node scripts/generate-llms.ts",
|
|
24
24
|
"preversion": "npm run sync-version",
|
|
25
25
|
"postversion": "npm run sync-version",
|
|
26
|
-
"prepublishOnly": "npm run sync-version && npm run build && npm test && npm run generate-llms"
|
|
26
|
+
"prepublishOnly": "npm run sync-version && npm run build && npm test && npm run generate-llms && npm run lint:fix"
|
|
27
27
|
},
|
|
28
28
|
"keywords": [
|
|
29
29
|
"clix",
|