gooseworks 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.
@@ -0,0 +1,4 @@
1
+ export declare function getCodexSkillsDir(): string;
2
+ export declare function configureCodex(): number;
3
+ export declare function removeCodex(): void;
4
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"AAOA,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,cAAc,IAAI,MAAM,CA+CvC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAgBlC"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getCodexSkillsDir = getCodexSkillsDir;
37
+ exports.configureCodex = configureCodex;
38
+ exports.removeCodex = removeCodex;
39
+ const fs = __importStar(require("fs"));
40
+ const path = __importStar(require("path"));
41
+ const os = __importStar(require("os"));
42
+ const installer_1 = require("../skills/installer");
43
+ const CODEX_SKILLS_DIR = path.join(os.homedir(), '.codex', 'skills');
44
+ function getCodexSkillsDir() {
45
+ return CODEX_SKILLS_DIR;
46
+ }
47
+ function configureCodex() {
48
+ const skillsBase = (0, installer_1.getSkillsBasePath)();
49
+ if (!fs.existsSync(skillsBase)) {
50
+ return 0;
51
+ }
52
+ fs.mkdirSync(CODEX_SKILLS_DIR, { recursive: true });
53
+ // Clean up ALL old gooseworks-* symlinks first
54
+ try {
55
+ const existing = fs.readdirSync(CODEX_SKILLS_DIR);
56
+ for (const entry of existing) {
57
+ if (!entry.startsWith('gooseworks-'))
58
+ continue;
59
+ const target = path.join(CODEX_SKILLS_DIR, entry);
60
+ try {
61
+ const stat = fs.lstatSync(target);
62
+ if (stat.isSymbolicLink()) {
63
+ fs.unlinkSync(target);
64
+ }
65
+ }
66
+ catch {
67
+ // Ignore
68
+ }
69
+ }
70
+ }
71
+ catch {
72
+ // Directory might not exist yet
73
+ }
74
+ // Symlink only what's currently in ~/.agents/skills/
75
+ const skillDirs = fs.readdirSync(skillsBase)
76
+ .filter((entry) => entry.startsWith('gooseworks-'));
77
+ let linked = 0;
78
+ for (const skillDir of skillDirs) {
79
+ const source = path.join(skillsBase, skillDir);
80
+ const target = path.join(CODEX_SKILLS_DIR, skillDir);
81
+ try {
82
+ fs.symlinkSync(source, target, 'dir');
83
+ }
84
+ catch {
85
+ // If it somehow still exists, remove and retry
86
+ fs.rmSync(target, { recursive: true, force: true });
87
+ fs.symlinkSync(source, target, 'dir');
88
+ }
89
+ linked++;
90
+ }
91
+ return linked;
92
+ }
93
+ function removeCodex() {
94
+ if (!fs.existsSync(CODEX_SKILLS_DIR))
95
+ return;
96
+ const entries = fs.readdirSync(CODEX_SKILLS_DIR);
97
+ for (const entry of entries) {
98
+ if (!entry.startsWith('gooseworks-'))
99
+ continue;
100
+ const target = path.join(CODEX_SKILLS_DIR, entry);
101
+ try {
102
+ const stat = fs.lstatSync(target);
103
+ if (stat.isSymbolicLink()) {
104
+ fs.unlinkSync(target);
105
+ }
106
+ }
107
+ catch {
108
+ // Ignore
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type AgentType = 'claude' | 'cursor';
1
+ export type AgentType = 'claude' | 'cursor' | 'codex';
2
2
  export interface DetectedAgent {
3
3
  type: AgentType;
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/agents/detect.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAmC9C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzD"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/agents/detect.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CA6C9C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzD"}
@@ -68,6 +68,15 @@ function detectAgents() {
68
68
  break;
69
69
  }
70
70
  }
71
+ // Codex: ~/.codex/
72
+ const codexDir = path.join(home, '.codex');
73
+ if (fs.existsSync(codexDir)) {
74
+ agents.push({
75
+ type: 'codex',
76
+ name: 'Codex',
77
+ configDir: codexDir,
78
+ });
79
+ }
71
80
  return agents;
72
81
  }
73
82
  function isAgentInstalled(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/agents/detect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,oCAmCC;AAED,4CAEC;AAnDD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAUzB,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAE1B,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1B,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC;QAC3D,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;KACrC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAe;IAC9C,OAAO,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/agents/detect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,oCA6CC;AAED,4CAEC;AA7DD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAUzB,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAE1B,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1B,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC;QAC3D,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;KACrC,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAe;IAC9C,OAAO,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,cAAc,SAkDvB,CAAC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,cAAc,SAwDvB,CAAC"}
@@ -38,6 +38,7 @@ const commander_1 = require("commander");
38
38
  const login_1 = require("./login");
39
39
  const installer_1 = require("../skills/installer");
40
40
  const claude_1 = require("../agents/claude");
41
+ const codex_1 = require("../agents/codex");
41
42
  const cursor_1 = require("../agents/cursor");
42
43
  const detect_1 = require("../agents/detect");
43
44
  const logger = __importStar(require("../utils/logger"));
@@ -46,6 +47,7 @@ const config_1 = require("../config");
46
47
  exports.installCommand = new commander_1.Command('install')
47
48
  .description('Install GooseWorks data tools into your coding agent')
48
49
  .option('--claude', 'Configure for Claude Code')
50
+ .option('--codex', 'Configure for Codex')
49
51
  .option('--cursor', 'Configure for Cursor')
50
52
  .option('--all', 'Configure for all detected agents')
51
53
  .option('--api-base <url>', 'API base URL', config_1.API_BASE)
@@ -54,7 +56,7 @@ exports.installCommand = new commander_1.Command('install')
54
56
  // Determine which agents to configure
55
57
  const targetAgents = resolveTargetAgents(opts);
56
58
  if (targetAgents.length === 0) {
57
- logger.error('No agent specified. Use --claude, --cursor, or --all');
59
+ logger.error('No agent specified. Use --claude, --codex, --cursor, or --all');
58
60
  process.exit(1);
59
61
  }
60
62
  // Step 1: Authenticate
@@ -75,6 +77,11 @@ exports.installCommand = new commander_1.Command('install')
75
77
  (0, claude_1.configureClaude)();
76
78
  logger.success('Claude Code configured');
77
79
  }
80
+ if (agent === 'codex') {
81
+ logger.info('Creating symlinks in ~/.codex/skills/');
82
+ (0, codex_1.configureCodex)();
83
+ logger.success('Codex configured');
84
+ }
78
85
  if (agent === 'cursor') {
79
86
  logger.info('Writing MCP config for Cursor');
80
87
  (0, cursor_1.configureCursor)();
@@ -82,7 +89,7 @@ exports.installCommand = new commander_1.Command('install')
82
89
  }
83
90
  }
84
91
  // Done
85
- const agentNames = targetAgents.map((a) => a === 'claude' ? 'Claude Code' : 'Cursor').join(' and ');
92
+ const agentNames = targetAgents.map((a) => a === 'claude' ? 'Claude Code' : a === 'codex' ? 'Codex' : 'Cursor').join(' and ');
86
93
  logger.done(`Setup complete! Open ${agentNames} and say "/gooseworks find me leads" to get started.`);
87
94
  });
88
95
  function resolveTargetAgents(opts) {
@@ -97,6 +104,8 @@ function resolveTargetAgents(opts) {
97
104
  const targets = [];
98
105
  if (opts.claude)
99
106
  targets.push('claude');
107
+ if (opts.codex)
108
+ targets.push('codex');
100
109
  if (opts.cursor)
101
110
  targets.push('cursor');
102
111
  return targets;
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,mCAAyC;AACzC,mDAA0E;AAC1E,6CAAmD;AACnD,6CAAmD;AACnD,6CAAgE;AAChE,wDAA0C;AAC1C,yDAA+D;AAC/D,sCAAqC;AAExB,QAAA,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,UAAU,EAAE,2BAA2B,CAAC;KAC/C,MAAM,CAAC,UAAU,EAAE,sBAAsB,CAAC;KAC1C,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC;KACpD,MAAM,CAAC,kBAAkB,EAAE,cAAc,EAAE,iBAAQ,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,sCAAsC;IACtC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,IAAA,sBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAE9C,wDAAwD;IACxD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;IACpD,IAAA,2BAAe,GAAE,CAAC;IAClB,MAAM,aAAa,GAAG,IAAA,oCAAqB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,IAAA,8BAAkB,EAAC,aAAa,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;IAEpF,2BAA2B;IAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,IAAA,wBAAe,GAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7C,IAAA,wBAAe,GAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO;IACP,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAC1C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CACT,wBAAwB,UAAU,sDAAsD,CACzF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,SAAS,mBAAmB,CAAC,IAI5B;IACC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,qBAAY,GAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC;QACrD,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"master-skill.d.ts","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAuG/D"}
1
+ {"version":3,"file":"master-skill.d.ts","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA0G/D"}
@@ -41,8 +41,11 @@ All endpoints use Bearer auth: \`-H "Authorization: Bearer $GOOSEWORKS_API_KEY"\
41
41
 
42
42
  ## How to Use
43
43
 
44
+ ### If a specific skill is requested (e.g. --skill <slug> or "use the <name> skill")
45
+ Skip search and go directly to **Step 2** with the given slug.
46
+
44
47
  ### Step 1: Search for a skill
45
- When the user asks you to do ANY data task (scrape reddit, find emails, research competitors, etc.), **always search the skill catalog first**:
48
+ When the user asks you to do ANY data task (scrape reddit, find emails, research competitors, etc.) **without specifying a skill name**, search the skill catalog first:
46
49
  \`\`\`bash
47
50
  curl -s -X POST $GOOSEWORKS_API_BASE/api/skills/search \\
48
51
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \\
@@ -51,7 +54,7 @@ curl -s -X POST $GOOSEWORKS_API_BASE/api/skills/search \\
51
54
  \`\`\`
52
55
 
53
56
  ### Step 2: Get the skill details
54
- Once you find a matching skill, fetch its full content and scripts:
57
+ Once you have a skill slug (from search results or directly specified), fetch its full content and scripts:
55
58
  \`\`\`bash
56
59
  curl -s $GOOSEWORKS_API_BASE/api/skills/catalog/<slug> \\
57
60
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
@@ -1 +1 @@
1
- {"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":";;AAKA,sDAuGC;AA5GD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,QAAiB;IACrD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqGR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":";;AAKA,sDA0GC;AA/GD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,QAAiB;IACrD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gooseworks",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "GooseWorks CLI — give your coding agent real data tools",
5
5
  "bin": {
6
6
  "gooseworks": "./dist/index.js"