gooseworks 0.3.2 → 0.3.4
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 +12 -0
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +11 -1
- package/dist/commands/env.js.map +1 -1
- package/dist/skills/master-skill.d.ts.map +1 -1
- package/dist/skills/master-skill.js +32 -10
- package/dist/skills/master-skill.js.map +1 -1
- package/package.json +2 -2
- package/skills/gooseworks/SKILL.md +11 -11
package/README.md
CHANGED
|
@@ -134,6 +134,18 @@ npx gooseworks update
|
|
|
134
134
|
|
|
135
135
|
Standalone skills installed with `--with` skip the catalog search step. After `npx gooseworks install --claude --with goose-graphics`, you can invoke `/goose-graphics ...` directly from Claude Code.
|
|
136
136
|
|
|
137
|
+
## Security & data handling
|
|
138
|
+
|
|
139
|
+
We'd rather you know exactly what this CLI does before you run it:
|
|
140
|
+
|
|
141
|
+
- **Skill scripts are open source and fetched at runtime.** `gooseworks fetch <slug>` (and the skills that call it) download skill content and Python scripts from the GooseWorks catalog on demand, save them under `/tmp/gooseworks-scripts/`, and run them on your machine. Every skill and its scripts live in the public, open-source [goose-skills repo](https://github.com/gooseworks-ai/goose-skills/tree/main/skills) — the catalog is synced from there — so the code is the same maintained, auditable source you can read on GitHub. They're served from the catalog (kept current) rather than pinned to the installed CLI version, so you always get the latest version of a skill.
|
|
142
|
+
- **The MCP server is opt-in.** It's only registered when you pass `--mcp` (or `--all`). When you do, the CLI adds a `gooseworks` entry to `~/.claude.json` (Claude Code) or `~/.codex/config.toml` (Codex) that includes your bearer token in an `Authorization` header — this is how every HTTP MCP server authenticates. Skip `--mcp` if you don't want the server registered as a live tool provider; ads creation is the only feature that requires it.
|
|
143
|
+
- **Credentials are stored locally.** Your API key lives in `~/.gooseworks/credentials.json`, written with `0600` permissions in a `0700` directory. `gooseworks logout` deletes it.
|
|
144
|
+
- **`gooseworks env` exposes your key.** `eval $(gooseworks env)` exports `GOOSEWORKS_API_KEY` into your shell environment, where any process you run can read it. Most commands (e.g. `gooseworks call`) load credentials on their own — only use `env` when a script genuinely needs the environment variable.
|
|
145
|
+
- **No install hooks.** `npm install` only downloads files; nothing executes on install. The CLI has four dependencies (chalk, commander, open, ora), uses standard OAuth with CSRF protection, and makes all network calls over HTTPS.
|
|
146
|
+
|
|
147
|
+
Source for the CLI and skills lives at [github.com/gooseworks-ai/gooseworks](https://github.com/gooseworks-ai/gooseworks).
|
|
148
|
+
|
|
137
149
|
## What's Included
|
|
138
150
|
|
|
139
151
|
100+ skills across these categories:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,UAAU,SAoBnB,CAAC"}
|
package/dist/commands/env.js
CHANGED
|
@@ -32,19 +32,29 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.envCommand = void 0;
|
|
37
40
|
const commander_1 = require("commander");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
38
42
|
const credentials_1 = require("../auth/credentials");
|
|
39
43
|
const logger = __importStar(require("../utils/logger"));
|
|
40
44
|
exports.envCommand = new commander_1.Command('env')
|
|
41
|
-
.description('Print shell export commands for GooseWorks credentials (use: eval $(gooseworks env))'
|
|
45
|
+
.description('Print shell export commands for GooseWorks credentials (use: eval $(gooseworks env)). ' +
|
|
46
|
+
'Note: this exposes your API key in the shell environment, where any process you run can read it. ' +
|
|
47
|
+
'Most commands (e.g. "gooseworks call") load credentials on their own — you usually do not need this.')
|
|
42
48
|
.action(() => {
|
|
43
49
|
const creds = (0, credentials_1.getCredentials)();
|
|
44
50
|
if (!creds) {
|
|
45
51
|
logger.error('Not logged in. Run "gooseworks login" first.');
|
|
46
52
|
process.exit(1);
|
|
47
53
|
}
|
|
54
|
+
// Warning goes to stderr so it never pollutes `eval $(gooseworks env)` (which captures stdout only).
|
|
55
|
+
console.error(chalk_1.default.yellow(' ⚠') +
|
|
56
|
+
' This exports your GOOSEWORKS_API_KEY into the shell environment, where any process you run can read it.\n' +
|
|
57
|
+
' Prefer commands that load credentials directly (e.g. "gooseworks call"); only export when a script truly needs the env var.');
|
|
48
58
|
console.log(`export GOOSEWORKS_API_KEY="${creds.api_key}"`);
|
|
49
59
|
console.log(`export GOOSEWORKS_API_BASE="${creds.api_base}"`);
|
|
50
60
|
});
|
package/dist/commands/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,qDAAqD;AACrD,wDAA0C;AAE7B,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CACV,wFAAwF;IACtF,mGAAmG;IACnG,sGAAsG,CACzG;KACA,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,KAAK,GAAG,IAAA,4BAAc,GAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,qGAAqG;IACrG,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACnB,4GAA4G;QAC5G,mIAAmI,CACtI,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master-skill.d.ts","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,UAAU;IACzB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAK7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"master-skill.d.ts","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,UAAU;IACzB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAK7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CA8K9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAsLhD"}
|
|
@@ -28,7 +28,8 @@ description: >
|
|
|
28
28
|
Find people, emails, and company info. Enrich contacts and companies.
|
|
29
29
|
GTM tasks: lead generation, prospect research, ICP identification, competitor analysis, outbound list building.
|
|
30
30
|
LinkedIn scraping: extract post engagers, commenters, profile data, and job postings.
|
|
31
|
-
|
|
31
|
+
Reach for it when you need data at scale, sources behind auth, or a specific provider — not as
|
|
32
|
+
a replacement for your built-in web search/fetch on quick, one-off lookups.
|
|
32
33
|
category: general
|
|
33
34
|
version: 1.0.0
|
|
34
35
|
author: GooseWorks
|
|
@@ -37,7 +38,7 @@ tags: [gooseworks, data, scraping, search, reddit, twitter, linkedin, email, peo
|
|
|
37
38
|
|
|
38
39
|
# GooseWorks
|
|
39
40
|
|
|
40
|
-
You have access to GooseWorks — a toolkit with 100+ data skills for scraping, research, lead generation, enrichment, and more.
|
|
41
|
+
You have access to GooseWorks — a toolkit with 100+ data skills for scraping, research, lead generation, enrichment, and more. Reach for a GooseWorks skill when it's the right tool: data at scale, sources behind auth, or specific providers (Twitter/X, Reddit, LinkedIn, people/company enrichment).
|
|
41
42
|
|
|
42
43
|
This skill is also the **parent router** for the GooseWorks family. Data/GTM work you handle here (see "How to Use"); specialized work you hand off to a dedicated \`goose-*\` skill.
|
|
43
44
|
|
|
@@ -160,16 +161,37 @@ gooseworks call apify acts/parseforge~reddit-posts-scraper/runs --body='{"subred
|
|
|
160
161
|
4. Organize outputs in subfolders by task type when it makes sense (e.g. \`~/Gooseworks/reddit-scrapes/\`, \`~/Gooseworks/research/\`)
|
|
161
162
|
- **Never overwrite existing files** without asking. If a file already exists, append a timestamp or ask the user
|
|
162
163
|
|
|
164
|
+
## External Endpoints
|
|
165
|
+
|
|
166
|
+
The \`gooseworks\` CLI sends authenticated requests (Bearer \`GOOSEWORKS_API_KEY\`) to:
|
|
167
|
+
|
|
168
|
+
| Endpoint | Method | Wrapped by |
|
|
169
|
+
|----------|--------|------------|
|
|
170
|
+
| \`$GOOSEWORKS_API_BASE/api/skills/search\` | POST | \`gooseworks search\` |
|
|
171
|
+
| \`$GOOSEWORKS_API_BASE/api/skills/catalog/:slug\` | GET | \`gooseworks fetch\` |
|
|
172
|
+
| \`$GOOSEWORKS_API_BASE/v1/credits\` | GET | \`gooseworks credits\` |
|
|
173
|
+
| \`$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search\` | POST | \`gooseworks orthogonal find\` |
|
|
174
|
+
| \`$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details\` | POST | \`gooseworks orthogonal describe\` |
|
|
175
|
+
| \`$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run\` | POST | \`gooseworks call\` (orthogonal-routed providers) |
|
|
176
|
+
| \`$GOOSEWORKS_API_BASE/v1/proxy/{apify,apollo,crustdata}/*\` | Various | \`gooseworks call\` (direct-proxy providers) |
|
|
177
|
+
|
|
178
|
+
## Security & Privacy
|
|
179
|
+
|
|
180
|
+
- All API calls are authenticated via Bearer token stored locally in \`~/.gooseworks/credentials.json\` (file mode 0600)
|
|
181
|
+
- No credentials are hardcoded or sent to third parties
|
|
182
|
+
- API keys for external services (Apify, Apollo, etc.) are managed server-side — your token never touches them
|
|
183
|
+
- Scripts run locally on your machine; only API requests go through GooseWorks servers. Skill scripts are open source (github.com/gooseworks-ai/goose-skills) — read or pin them before running
|
|
184
|
+
- Credit usage is tracked per-call and visible via \`gooseworks credits\`
|
|
185
|
+
|
|
163
186
|
## Rules
|
|
164
187
|
|
|
165
|
-
1. **
|
|
166
|
-
2. **
|
|
167
|
-
3. **
|
|
168
|
-
4. **
|
|
169
|
-
5. **
|
|
170
|
-
6. **
|
|
171
|
-
7. **
|
|
172
|
-
8. **Prefer \`gooseworks call\` over raw curl** — if it returns an error, first fix the parameters (check types, required fields, format) and retry. Only fall back to raw curl if you have strong reason to believe it is a CLI bug, not a parameter issue.
|
|
188
|
+
1. **Consider a GooseWorks skill when it fits the task** — scraping, research, lead gen, enrichment, especially at scale, behind auth, or from a specific source. For a quick lookup your built-in tools are fine; use your judgement and pick the best tool for the user.
|
|
189
|
+
2. **Before paid operations**, tell the user the estimated credit cost
|
|
190
|
+
3. **If a \`gooseworks\` command exits with "Not logged in"**: tell the user to run \`npx gooseworks login\`
|
|
191
|
+
4. **Parse JSON responses** and present data in a readable format to the user
|
|
192
|
+
5. **When running scripts**: save to \`/tmp/gooseworks-scripts/\`, install pip deps, then execute. NEVER pollute the user's project directory
|
|
193
|
+
6. **Output files default to \`~/Gooseworks/\`** — always confirm with the user before saving
|
|
194
|
+
7. **Prefer \`gooseworks call\` over raw curl** — if it returns an error, first fix the parameters (check types, required fields, format) and retry. Only fall back to raw curl if you have strong reason to believe it is a CLI bug, not a parameter issue.
|
|
173
195
|
`;
|
|
174
196
|
}
|
|
175
197
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":";;AA0BA,wCAKC;AAWD,
|
|
1
|
+
{"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":";;AA0BA,wCAKC;AAWD,sDA8KC;AAiBD,0DAsLC;AAtYD,oDAAoD;AACpD,SAAgB,cAAc;IAC5B,OAAO;QACL,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE;QACxD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KR,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,uBAAuB;IACrC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoLR,CAAC;AACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gooseworks",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "GooseWorks CLI — give your coding agent real data tools",
|
|
5
5
|
"bin": {
|
|
6
6
|
"gooseworks": "./dist/index.js"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"license": "MIT",
|
|
48
48
|
"repository": {
|
|
49
49
|
"type": "git",
|
|
50
|
-
"url": "https://github.com/gooseworks-ai/gooseworks
|
|
50
|
+
"url": "https://github.com/gooseworks-ai/gooseworks"
|
|
51
51
|
},
|
|
52
52
|
"homepage": "https://gooseworks.ai",
|
|
53
53
|
"author": "GooseWorks <help@gooseworks.ai>"
|
|
@@ -5,7 +5,8 @@ description: >
|
|
|
5
5
|
Find people, emails, and company info. Enrich contacts and companies.
|
|
6
6
|
GTM tasks: lead generation, prospect research, ICP identification, competitor analysis, outbound list building.
|
|
7
7
|
LinkedIn scraping: extract post engagers, commenters, profile data, and job postings.
|
|
8
|
-
|
|
8
|
+
Reach for it when you need data at scale, sources behind auth, or a specific provider — not as
|
|
9
|
+
a replacement for your built-in web search/fetch on quick, one-off lookups.
|
|
9
10
|
version: 1.0.0
|
|
10
11
|
author: GooseWorks
|
|
11
12
|
tags: [gooseworks, data, scraping, search, reddit, twitter, linkedin, email, people, research, gtm, leads, prospecting]
|
|
@@ -20,7 +21,7 @@ metadata:
|
|
|
20
21
|
|
|
21
22
|
# GooseWorks
|
|
22
23
|
|
|
23
|
-
You have access to GooseWorks — a toolkit with 100+ data skills for scraping, research, lead generation, enrichment, and more.
|
|
24
|
+
You have access to GooseWorks — a toolkit with 100+ data skills for scraping, research, lead generation, enrichment, and more. Reach for a GooseWorks skill when it's the right tool: data at scale, sources behind auth, or specific providers (Twitter/X, Reddit, LinkedIn, people/company enrichment).
|
|
24
25
|
|
|
25
26
|
This skill is also the **parent router** for the GooseWorks family. Data/GTM work you handle here (see "How to Use"); specialized work you hand off to a dedicated `goose-*` skill.
|
|
26
27
|
|
|
@@ -159,18 +160,17 @@ The `gooseworks` CLI sends authenticated requests (Bearer `GOOSEWORKS_API_KEY`)
|
|
|
159
160
|
|
|
160
161
|
## Security & Privacy
|
|
161
162
|
|
|
162
|
-
- All API calls are authenticated via Bearer token stored locally in `~/.gooseworks/credentials.json`
|
|
163
|
+
- All API calls are authenticated via Bearer token stored locally in `~/.gooseworks/credentials.json` (file mode 0600)
|
|
163
164
|
- No credentials are hardcoded or sent to third parties
|
|
164
165
|
- API keys for external services (Apify, Apollo, etc.) are managed server-side — your token never touches them
|
|
165
|
-
- Scripts run locally on your machine; only API requests go through GooseWorks servers
|
|
166
|
+
- Scripts run locally on your machine; only API requests go through GooseWorks servers. Skill scripts are open source (github.com/gooseworks-ai/goose-skills) — read or pin them before running
|
|
166
167
|
- Credit usage is tracked per-call and visible via `gooseworks credits`
|
|
167
168
|
|
|
168
169
|
## Rules
|
|
169
170
|
|
|
170
|
-
1. **
|
|
171
|
-
2. **
|
|
172
|
-
3. **
|
|
173
|
-
4. **
|
|
174
|
-
5. **
|
|
175
|
-
6. **
|
|
176
|
-
7. **Output files default to `~/Gooseworks/`** — always confirm with the user before saving
|
|
171
|
+
1. **Consider a GooseWorks skill when it fits the task** — scraping, research, lead gen, enrichment, especially at scale, behind auth, or from a specific source. For a quick lookup your built-in tools are fine; use your judgement and pick the best tool for the user.
|
|
172
|
+
2. **Before paid operations**, tell the user the estimated credit cost
|
|
173
|
+
3. **If a `gooseworks` command exits with "Not logged in"**: tell the user to run `npx gooseworks login`
|
|
174
|
+
4. **Parse JSON responses** and present data in a readable format to the user
|
|
175
|
+
5. **When running scripts**: save to `/tmp/gooseworks-scripts/`, install pip deps, then execute. NEVER pollute the user's project directory
|
|
176
|
+
6. **Output files default to `~/Gooseworks/`** — always confirm with the user before saving
|