@clix-so/clix-agent-skills 0.1.4 → 0.1.5

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 CHANGED
@@ -11,8 +11,8 @@ is a self-contained package that can be loaded and executed by AI clients.
11
11
  Agent skills in this repository are built on the
12
12
  [open agent skills standard](https://agentskills.io/home). Please refer to the
13
13
  [official documentation](https://agentskills.io/home#adoption) for up-to-date
14
- information on supported AI clients. Depending on the AI client you are using, you
15
- can install skills in different ways.
14
+ information on supported AI clients. Depending on the AI client you are using,
15
+ you can install skills in different ways.
16
16
 
17
17
  ### Universal CLI (Recommended)
18
18
 
@@ -20,15 +20,40 @@ For **Cursor**, **VS Code**, **Claude Desktop**, **OpenCode**, **Goose**,
20
20
  **GitHub Copilot**, **Amp**, and **Letta**, use our CLI tool to install skills
21
21
  and configure the Clix MCP Server automatically:
22
22
 
23
+ #### Installation Modes
24
+
25
+ The CLI supports two installation modes for skills:
26
+
27
+ 1. **Repo Root (Project-specific)** - Installs skills to the current project
28
+ directory (default)
29
+ - Skills are available only for the current project
30
+ - Best for project-specific configurations
31
+
32
+ 2. **System Root (Global)** - Installs skills to your home directory
33
+ - Skills are available across all projects
34
+ - Best for personal development setup
35
+
36
+ **Note:** MCP (Model Context Protocol) server configuration is always set up
37
+ globally (system root), regardless of the skill installation mode. This ensures
38
+ the MCP server is available across all your projects.
39
+
23
40
  ```bash
24
- # Install a specific skill
41
+ # Install a specific skill (repo root - default)
25
42
  npx @clix-so/clix-agent-skills@latest install <skill-name> --client <your-client>
26
43
  # For example, to install a skill on Cursor:
27
44
  npx @clix-so/clix-agent-skills@latest install integration --client cursor
28
45
 
29
- # Install all available skills at once
46
+ # Install a specific skill globally (system root)
47
+ npx @clix-so/clix-agent-skills@latest install <skill-name> --client <your-client> --global
48
+ # For example:
49
+ npx @clix-so/clix-agent-skills@latest install integration --client cursor --global
50
+
51
+ # Install all available skills at once (repo root)
30
52
  npx @clix-so/clix-agent-skills@latest install --all --client cursor
31
53
  # This will install: integration, event-tracking, user-management
54
+
55
+ # Install all available skills globally (system root)
56
+ npx @clix-so/clix-agent-skills@latest install --all --client cursor --global
32
57
  ```
33
58
 
34
59
  ### Available Skills
package/dist/bin/cli.js CHANGED
@@ -28,6 +28,7 @@ program
28
28
  .option("-c, --client <client>", "Target AI client (cursor, claude, vscode, amp, kiro, amazonq, codex, opencode, manual)")
29
29
  .option("-p, --path <path>", "Custom installation path (default: .clix/skills)")
30
30
  .option("-a, --all", "Install all available skills")
31
+ .option("-g, --global", "Install globally to system root (default: installs to repo root)")
31
32
  .action(async (skill, options) => {
32
33
  try {
33
34
  if (options.all) {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.installSkill = installSkill;
7
7
  exports.installAllSkills = installAllSkills;
8
8
  const path_1 = __importDefault(require("path"));
9
+ const os_1 = __importDefault(require("os"));
9
10
  const fs_extra_1 = __importDefault(require("fs-extra"));
10
11
  const chalk_1 = __importDefault(require("chalk"));
11
12
  const ora_1 = __importDefault(require("ora"));
@@ -100,18 +101,23 @@ async function installSkill(skillName, options) {
100
101
  relativeDest = options.client.startsWith(".") ? `${options.client}/skills` : `.clix/skills`;
101
102
  }
102
103
  }
103
- const destPath = path_1.default.resolve(process.cwd(), relativeDest, skillName);
104
+ // Determine installation root: repo root (cwd) or system root (home directory)
105
+ const installRoot = options.global ? os_1.default.homedir() : process.cwd();
106
+ const destPath = path_1.default.resolve(installRoot, relativeDest, skillName);
104
107
  // 3. Copy Files
105
108
  try {
106
109
  await fs_extra_1.default.ensureDir(destPath);
107
110
  await fs_extra_1.default.copy(skillSourcePath, destPath);
108
- spinner.succeed(`Skill files installed to ${chalk_1.default.green(relativeDest + "/" + skillName)}`);
111
+ const installLocation = options.global
112
+ ? `system root (${path_1.default.join(os_1.default.homedir(), relativeDest, skillName)})`
113
+ : `repo root (${path_1.default.join(process.cwd(), relativeDest, skillName)})`;
114
+ spinner.succeed(`Skill files installed to ${chalk_1.default.green(installLocation)}`);
109
115
  }
110
116
  catch (error) {
111
117
  spinner.fail(`Failed to copy skill files: ${getErrorMessage(error)}`);
112
118
  throw error;
113
119
  }
114
- // 4. MCP Configuration
120
+ // 4. MCP Configuration (always global/system root)
115
121
  try {
116
122
  await (0, mcp_1.configureMCP)(options.client);
117
123
  }
@@ -93,17 +93,13 @@ function createEmptyConfig(configKey) {
93
93
  }
94
94
  /**
95
95
  * Gets config path, key, and format for a specific client
96
+ * MCP configuration is always global (system root)
96
97
  */
97
98
  function getClientConfig(client) {
98
99
  const home = os_1.default.homedir();
99
100
  switch (client.toLowerCase()) {
100
101
  case "cursor": {
101
- // Check for project-level definition first
102
- const projectCursorPath = path_1.default.join(process.cwd(), ".cursor", "mcp.json");
103
- if (fs_extra_1.default.existsSync(projectCursorPath)) {
104
- return { path: projectCursorPath, configKey: "mcpServers", format: "json" };
105
- }
106
- // Fallback to global
102
+ // MCP is always configured globally
107
103
  return {
108
104
  path: path_1.default.join(home, ".cursor", "mcp.json"),
109
105
  configKey: "mcpServers",
@@ -140,8 +136,9 @@ function getClientConfig(client) {
140
136
  return { path: ampConfigPath, configKey: "amp.mcpServers", format: "json" };
141
137
  }
142
138
  case "kiro":
139
+ // MCP is always configured globally
143
140
  return {
144
- path: path_1.default.join(process.cwd(), ".kiro", "settings", "mcp.json"),
141
+ path: path_1.default.join(home, ".kiro", "settings", "mcp.json"),
145
142
  configKey: "mcpServers",
146
143
  format: "json",
147
144
  };
@@ -228,8 +225,9 @@ async function configureCodexTOML(configPath) {
228
225
  }
229
226
  }
230
227
  async function configureOpenCode() {
231
- const configPath = path_1.default.join(process.cwd(), "opencode.json");
232
- const nicePath = "opencode.json";
228
+ // MCP is always configured globally
229
+ const configPath = path_1.default.join(os_1.default.homedir(), "opencode.json");
230
+ const nicePath = path_1.default.join("~", "opencode.json");
233
231
  console.log(chalk_1.default.blue(`Checking MCP config at ${nicePath}...`));
234
232
  let config = {};
235
233
  if (!fs_extra_1.default.existsSync(configPath)) {
@@ -333,7 +331,7 @@ async function configureMCP(client) {
333
331
  await configureOpenCode();
334
332
  return;
335
333
  }
336
- // Get client config
334
+ // Get client config (MCP is always global)
337
335
  const clientConfig = getClientConfig(targetClient);
338
336
  if (!clientConfig) {
339
337
  console.log(chalk_1.default.yellow(`Could not determine config path for ${targetClient}. Skipping.`));
package/llms.txt ADDED
@@ -0,0 +1,77 @@
1
+ <!-- Clix Agent Skills llms.txt -->
2
+
3
+ # Clix Agent Skills
4
+
5
+ This file contains a comprehensive index of all Clix Agent Skills files.
6
+ Each entry includes the file path, type, and description for semantic search.
7
+
8
+ ---
9
+
10
+ ## clix-event-tracking
11
+
12
+ Implements Clix event tracking (Clix.trackEvent) with consistent naming, safe property schemas, and campaign-ready validation. Use when adding, reviewing, or debugging event tracking; when configuring event-triggered campaigns; or when the user mentions events, tracking, funnels, or properties.
13
+
14
+ - [clix-event-tracking](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/SKILL.md): Implements Clix event tracking (Clix.trackEvent) with consistent naming, safe property schemas, and campaign-ready validation. Use when adding, reviewing, or debugging event tracking; when configuring event-triggered campaigns; or when the user mentions events, tracking, funnels, or properties.
15
+
16
+ ### References
17
+
18
+ - [Campaign Mapping (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/references/campaign-mapping.md): Reference documentation for event-tracking skill
19
+ - [Debugging (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/references/debugging.md): Reference documentation for event-tracking skill
20
+ - [Implementation Patterns (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/references/implementation-patterns.md): Reference documentation for event-tracking skill
21
+ - [Naming And Schema (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/references/naming-and-schema.md): Reference documentation for event-tracking skill
22
+ - [Trackevent Contract (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/references/trackevent-contract.md): Reference documentation for event-tracking skill
23
+
24
+ ### Scripts
25
+
26
+ - [Validate Event Plan (Script)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/event-tracking/scripts/validate-event-plan.sh): Utility script for event-tracking skill
27
+
28
+ ---
29
+
30
+ ## clix-integration
31
+
32
+ Integrates Clix Mobile SDK into iOS, Android, Flutter, and React Native projects. Provides step-by-step guidance for installation, initialization, and verification. Use when the user asks to install, setup, or configure Clix analytics.
33
+
34
+ - [clix-integration](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/SKILL.md): Integrates Clix Mobile SDK into iOS, Android, Flutter, and React Native projects. Provides step-by-step guidance for installation, initialization, and verification. Use when the user asks to install, setup, or configure Clix analytics.
35
+
36
+ ### References
37
+
38
+ - [Error Handling (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/references/error-handling.md): Reference documentation for integration skill
39
+ - [Framework Patterns (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/references/framework-patterns.md): Reference documentation for integration skill
40
+ - [Mcp Integration (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/references/mcp-integration.md): Reference documentation for integration skill
41
+ - [Sdk Reference (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/references/sdk-reference.md): Reference documentation for integration skill
42
+
43
+ ### Examples
44
+
45
+ - [Android Integration (Example)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/examples/android-integration.kt): Code example for integration skill
46
+ - [Flutter Integration (Example)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/examples/flutter-integration.dart): Code example for integration skill
47
+ - [Ios Integration (Example)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/examples/ios-integration.swift): Code example for integration skill
48
+ - [React Native Integration (Example)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/examples/react-native-integration.tsx): Code example for integration skill
49
+
50
+ ### Scripts
51
+
52
+ - [Install Mcp (Script)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/scripts/install-mcp.sh): Utility script for integration skill
53
+ - [Validate Sdk (Script)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/integration/scripts/validate-sdk.sh): Utility script for integration skill
54
+
55
+ ---
56
+
57
+ ## clix-user-management
58
+
59
+ Implements Clix user identification and user properties (setUserId, removeUserId, setUserProperty/setUserProperties, removeUserProperty/removeUserProperties) with safe schemas, logout best practices, and campaign-ready personalization/audience usage. Use when the user mentions login/logout, userId, user properties, personalization, or audience targeting.
60
+
61
+ - [clix-user-management](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/SKILL.md): Implements Clix user identification and user properties (setUserId, removeUserId, setUserProperty/setUserProperties, removeUserProperty/removeUserProperties) with safe schemas, logout best practices, and campaign-ready personalization/audience usage. Use when the user mentions login/logout, userId, user properties, personalization, or audience targeting.
62
+
63
+ ### References
64
+
65
+ - [Debugging (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/references/debugging.md): Reference documentation for user-management skill
66
+ - [Implementation Patterns (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/references/implementation-patterns.md): Reference documentation for user-management skill
67
+ - [Logout And Switching (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/references/logout-and-switching.md): Reference documentation for user-management skill
68
+ - [Personalization And Audience (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/references/personalization-and-audience.md): Reference documentation for user-management skill
69
+ - [Property Schema (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/references/property-schema.md): Reference documentation for user-management skill
70
+ - [User Management Contract (Reference)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/references/user-management-contract.md): Reference documentation for user-management skill
71
+
72
+ ### Scripts
73
+
74
+ - [Validate User Plan (Script)](https://raw.githubusercontent.com/clix-so/skills/refs/heads/main/skills/user-management/scripts/validate-user-plan.sh): Utility script for user-management skill
75
+
76
+ ---
77
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clix-so/clix-agent-skills",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "An open collection of agent skills for Clix.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -8,7 +8,8 @@
8
8
  },
9
9
  "files": [
10
10
  "dist",
11
- "skills"
11
+ "skills",
12
+ "llms.txt"
12
13
  ],
13
14
  "scripts": {
14
15
  "build": "tsc",
@@ -18,9 +19,10 @@
18
19
  "lint": "prettier --check .",
19
20
  "lint:fix": "prettier --write .",
20
21
  "sync-version": "ts-node scripts/sync-version.ts",
22
+ "generate-llms": "ts-node scripts/generate-llms.ts",
21
23
  "preversion": "npm run sync-version",
22
24
  "postversion": "npm run sync-version",
23
- "prepublishOnly": "npm run sync-version && npm run build && npm test"
25
+ "prepublishOnly": "npm run sync-version && npm run build && npm test && npm run generate-llms"
24
26
  },
25
27
  "keywords": [
26
28
  "clix",