skillfish 1.0.36 → 1.0.37
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/add.js +4 -1
- package/dist/commands/install.js +1 -1
- package/dist/telemetry.d.ts +4 -1
- package/dist/telemetry.js +16 -6
- package/package.json +1 -1
package/dist/commands/add.js
CHANGED
|
@@ -265,7 +265,10 @@ Examples:
|
|
|
265
265
|
totalSkipped += result.skipped.length;
|
|
266
266
|
// Track successful installs (fire and forget — dispatched to detached worker)
|
|
267
267
|
if (result.installed.length > 0) {
|
|
268
|
-
|
|
268
|
+
// skillPath is 'SKILL.md' for root skills, or a directory like
|
|
269
|
+
// 'skills/foo' for sub-skills in a monorepo.
|
|
270
|
+
const skillRepoPath = skillPath === SKILL_FILENAME ? undefined : skillPath;
|
|
271
|
+
trackInstall('add', owner, repo, skillName, result.installed.map((i) => i.agent), skillRepoPath);
|
|
269
272
|
}
|
|
270
273
|
}
|
|
271
274
|
// Summary
|
package/dist/commands/install.js
CHANGED
|
@@ -538,7 +538,7 @@ Examples:
|
|
|
538
538
|
if (result.success) {
|
|
539
539
|
successCount++;
|
|
540
540
|
// Track successful installs (fire and forget — dispatched to detached worker)
|
|
541
|
-
trackInstall('install', action.entry.owner, action.entry.repo, result.skillName, result.platform);
|
|
541
|
+
trackInstall('install', action.entry.owner, action.entry.repo, result.skillName, result.platform, action.entry.path);
|
|
542
542
|
if (!jsonMode) {
|
|
543
543
|
// Show which agents it was installed to if it's a partial install
|
|
544
544
|
const agentCount = action.targetAgents.length;
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -25,5 +25,8 @@ export declare function trackCommand(command: string): void;
|
|
|
25
25
|
* @param repo GitHub repository name
|
|
26
26
|
* @param skillName Name of the skill being installed
|
|
27
27
|
* @param platform Names of the agents the skill was installed to (e.g. ['Claude Code', 'Cursor'])
|
|
28
|
+
* @param path Path to the skill within the repo. Undefined for root-level
|
|
29
|
+
* skills (whole repo is one skill). For monorepos, this disambiguates
|
|
30
|
+
* sibling skills (e.g. 'skills/council' vs 'skills/marketing').
|
|
28
31
|
*/
|
|
29
|
-
export declare function trackInstall(command: string, owner: string, repo: string, skillName: string, platform?: readonly string[]): void;
|
|
32
|
+
export declare function trackInstall(command: string, owner: string, repo: string, skillName: string, platform?: readonly string[], path?: string): void;
|
package/dist/telemetry.js
CHANGED
|
@@ -72,20 +72,30 @@ export function trackCommand(command) {
|
|
|
72
72
|
* @param repo GitHub repository name
|
|
73
73
|
* @param skillName Name of the skill being installed
|
|
74
74
|
* @param platform Names of the agents the skill was installed to (e.g. ['Claude Code', 'Cursor'])
|
|
75
|
+
* @param path Path to the skill within the repo. Undefined for root-level
|
|
76
|
+
* skills (whole repo is one skill). For monorepos, this disambiguates
|
|
77
|
+
* sibling skills (e.g. 'skills/council' vs 'skills/marketing').
|
|
75
78
|
*/
|
|
76
|
-
export function trackInstall(command, owner, repo, skillName, platform = []) {
|
|
79
|
+
export function trackInstall(command, owner, repo, skillName, platform = [], path) {
|
|
77
80
|
if (!command || !owner || !repo || !skillName)
|
|
78
81
|
return;
|
|
82
|
+
// Canonical skill key: 'owner/repo' for root skills, 'owner/repo/path'
|
|
83
|
+
// for skills nested in a monorepo. Without the path component, every
|
|
84
|
+
// skill in a monorepo collapses to the same key.
|
|
85
|
+
const normalizedPath = path?.trim().replace(/^\/+|\/+$/g, '') || undefined;
|
|
86
|
+
const skillKey = normalizedPath ? `${owner}/${repo}/${normalizedPath}` : `${owner}/${repo}`;
|
|
87
|
+
// platform is a single text column on telemetry_events. We send a
|
|
88
|
+
// comma-separated, de-duplicated list so one install stays one row
|
|
89
|
+
// (preserving download-count semantics). Agent names contain no commas.
|
|
90
|
+
const platformText = Array.from(new Set(platform)).join(', ');
|
|
79
91
|
dispatch({
|
|
80
92
|
event_type: 'install',
|
|
81
93
|
command,
|
|
82
|
-
skill_key:
|
|
94
|
+
skill_key: skillKey,
|
|
83
95
|
// Fields for skill count increment
|
|
84
96
|
owner,
|
|
85
97
|
repo,
|
|
86
|
-
skillName,
|
|
87
|
-
|
|
88
|
-
// column on the telemetry_events table. Empty array if unknown.
|
|
89
|
-
platform: Array.from(new Set(platform)),
|
|
98
|
+
skill_name: skillName,
|
|
99
|
+
platform: platformText,
|
|
90
100
|
});
|
|
91
101
|
}
|
package/package.json
CHANGED