gooseworks 0.3.14 → 0.3.16
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 +52 -2
- package/dist/auth/attribution.d.ts +14 -0
- package/dist/auth/attribution.d.ts.map +1 -0
- package/dist/auth/attribution.js +37 -0
- package/dist/auth/attribution.js.map +1 -0
- package/dist/auth/oauth-server.d.ts +4 -4
- package/dist/auth/oauth-server.d.ts.map +1 -1
- package/dist/auth/oauth-server.js +8 -8
- package/dist/auth/oauth-server.js.map +1 -1
- package/dist/commands/call.d.ts.map +1 -1
- package/dist/commands/call.js +6 -5
- package/dist/commands/call.js.map +1 -1
- package/dist/commands/install.js +1 -1
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/log.d.ts +15 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +121 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +10 -4
- package/dist/commands/login.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/skills/master-skill.d.ts.map +1 -1
- package/dist/skills/master-skill.js +228 -143
- package/dist/skills/master-skill.js.map +1 -1
- package/package.json +1 -1
- package/skills/goose-ads/SKILL.md +106 -102
- package/skills/goose-product-photos/SKILL.md +105 -0
- package/skills/goose-video/SKILL.md +24 -1
- package/skills/gooseworks/SKILL.md +98 -40
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
name: gooseworks
|
|
3
3
|
slug: gooseworks
|
|
4
4
|
description: >
|
|
5
|
-
GooseWorks
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Reach for it when you need data at scale, sources behind auth, or a specific provider — not as
|
|
10
|
-
a replacement for your built-in web search/fetch on quick, one-off lookups.
|
|
5
|
+
GooseWorks growth coworker and specialist-skill router. Research brands, customers, competitors,
|
|
6
|
+
creators, markets, and prospects; analyze ads and performance; create ads, product photos,
|
|
7
|
+
graphics, and video; search and scrape public web and social data; find and enrich leads.
|
|
8
|
+
Use it as the single GooseWorks entry point for brand growth, B2B, sales, research, and GTM work.
|
|
11
9
|
category: general
|
|
12
10
|
version: 1.0.0
|
|
13
11
|
author: GooseWorks
|
|
@@ -16,7 +14,7 @@ tags: [gooseworks, data, scraping, search, reddit, twitter, linkedin, email, peo
|
|
|
16
14
|
|
|
17
15
|
# GooseWorks
|
|
18
16
|
|
|
19
|
-
You have access to GooseWorks —
|
|
17
|
+
You have access to GooseWorks — an AI coworker with specialist skills for research, analysis, creative work, lead generation, enrichment, and public web/social data. Use the right specialist when the request needs brand context, a managed creative workflow, data at scale, a source behind authentication, or a specific provider.
|
|
20
18
|
|
|
21
19
|
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.
|
|
22
20
|
|
|
@@ -29,6 +27,8 @@ Before anything else, check whether the request belongs to a specialized domain.
|
|
|
29
27
|
| Remix/make an ad, research a brand for ads, OR analyze ad performance — Meta/Google ad campaigns, creative fatigue, CAC/lead quality, competitor ad intel, ad angles & hooks | **`goose-ads`** | Installed locally as an entry skill. Just use it. If unavailable, run `gooseworks install --claude`. |
|
|
30
28
|
| Charts, infographics, slides, social graphics, branded visual designs from a style/format | **`goose-graphics`** | If installed locally, use it. Otherwise `gooseworks fetch goose-graphics` (or `gooseworks install --claude --with goose-graphics`). |
|
|
31
29
|
| Make a **video** ad — remix a video ad template (e.g. iMessage chat-reveal), or "make the video for project <id>" | **`goose-video`** | Installed locally as an entry skill. Just use it. If unavailable, run `gooseworks install --claude`. |
|
|
30
|
+
| Make **product photos** — studio, lifestyle, marketplace, social, or on-model product photography | **`goose-product-photos`** | Installed locally as an entry skill. Just use it. If unavailable, run `gooseworks install --claude`. |
|
|
31
|
+
| Animate an approved static ad or product image | **`animate-image`** | Fetch with `gooseworks fetch animate-image` and follow its GooseWorks MCP workflow. |
|
|
32
32
|
| Anything else — scraping, research, lead gen, enrichment, any data lookup | (stay here) | Follow "How to Use" below. |
|
|
33
33
|
|
|
34
34
|
Examples — all of these route to `goose-ads`, not the data flow: "remix this ad with project id 123", "make an ad for my product", "research my brand", "why is my Meta campaign underperforming", "which creatives should I cut".
|
|
@@ -37,58 +37,114 @@ Examples — all of these route to `goose-ads`, not the data flow: "remix this a
|
|
|
37
37
|
|
|
38
38
|
All commands below auto-load credentials from `~/.gooseworks/credentials.json`. If a command exits with "Not logged in", tell the user to run: `npx gooseworks login`. To log out: `npx gooseworks logout`.
|
|
39
39
|
|
|
40
|
-
###
|
|
40
|
+
### Choose the available runtime — MCP first, then CLI
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
`
|
|
42
|
+
Skills may describe a managed provider request as an environment-neutral operation with
|
|
43
|
+
`provider`, `method`, `path`, and optional `query` or `body`. Execute the operation through
|
|
44
|
+
the first available runtime:
|
|
45
|
+
|
|
46
|
+
1. If the matching GooseWorks MCP tool is registered, use it. For ScrapeCreators, pass the
|
|
47
|
+
operation directly to `call_data_provider`. This is the preferred path in ChatGPT, Cowork,
|
|
48
|
+
and other terminal-free clients. Do not shell out and do not ask for a separate provider key.
|
|
49
|
+
2. Otherwise, if a local terminal and the `gooseworks` CLI are available, translate the same
|
|
50
|
+
operation into `gooseworks call <provider> <path>` with its method, query, and body options.
|
|
51
|
+
3. Otherwise, follow the provider dependency's direct-key path only when the user has supplied
|
|
52
|
+
their own key. If no runtime is available, explain what connection is missing; never pretend
|
|
53
|
+
the provider call ran.
|
|
54
|
+
|
|
55
|
+
The same selection applies to catalog and account operations. When the CLI is unavailable but the
|
|
56
|
+
`mcp__gooseworks__*` tools are connected, use these equivalents:
|
|
44
57
|
- `gooseworks search <q>` → the **`search_skills`** MCP tool.
|
|
45
58
|
- `gooseworks fetch <slug>` → the **`fetch_skill`** MCP tool (same content/scripts/files/deps).
|
|
46
59
|
- `gooseworks credits` → the **`get_ad_credits`** MCP tool.
|
|
47
60
|
|
|
48
|
-
Discovery
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
Discovery, skill fetching, and ScrapeCreators-backed Brand Growth workflows work fully CLI-free
|
|
62
|
+
this way. Task skills own the endpoint and analysis workflow; this runtime rule owns how the same
|
|
63
|
+
provider operation is executed.
|
|
51
64
|
|
|
52
65
|
To check credit balance:
|
|
53
66
|
```bash
|
|
54
67
|
gooseworks credits
|
|
55
68
|
```
|
|
56
69
|
|
|
57
|
-
##
|
|
70
|
+
## Common company onboarding
|
|
71
|
+
|
|
72
|
+
Onboarding is voluntary and happens inside the current coding agent. Run it when the user explicitly says **`/gooseworks onboard me`**, or ask for one missing answer when it is necessary for the task in front of you. **Never force an existing user through onboarding after an update.**
|
|
73
|
+
|
|
74
|
+
The CLI and GooseWorks Ads share one brand-scoped questionnaire through these MCP tools:
|
|
75
|
+
|
|
76
|
+
- `list_ad_brands` and `create_ad_brand` — select or create the company/brand.
|
|
77
|
+
- `get_brand_onboarding { brand_id }` — load completed answers and `missing_fields` before asking anything.
|
|
78
|
+
- `update_brand_onboarding { brand_id, ...answers }` — save each group of answers and the final first-task choice.
|
|
79
|
+
|
|
80
|
+
If these tools are unavailable, tell the user that onboarding needs the GooseWorks MCP connection. Do not send them to another UI and do not fall back to a separate context record.
|
|
81
|
+
|
|
82
|
+
### Resume rules
|
|
83
|
+
|
|
84
|
+
1. Run `list_ad_brands`. If there are multiple brands, ask which one to use.
|
|
85
|
+
2. If there is no brand, ask for the company or brand website, research it, and use `create_ad_brand { name, website_url }`. If the domain matches an existing brand, reuse it.
|
|
86
|
+
3. Call `get_brand_onboarding` and ask only the returned missing questions.
|
|
87
|
+
4. Save after each small group so an interrupted interview can resume.
|
|
88
|
+
5. If the record is complete, confirm the brand and continue; do not repeat the interview.
|
|
89
|
+
|
|
90
|
+
### Shared questions and answer values
|
|
91
|
+
|
|
92
|
+
Use the host's native question controls. Keep the labels below; the values in backticks are the stable values accepted by `update_brand_onboarding`.
|
|
93
|
+
|
|
94
|
+
1. **What is your role?** Founder / Business Owner · C-Suite · VP / Director · Performance / Growth Marketing · Brand / Content Marketing · Creative / Design · Agency · Consultant / Freelancer · Other.
|
|
95
|
+
2. **How much do you spend on paid ads right now?** `zero` · `under_10k` · `10k_30k` · `30k_100k` · `100k_plus`.
|
|
96
|
+
3. **What are your goals?** Multi-select: create ads `make_creatives` · analyze ads `analyze_ads` · manage/optimize ads `ai_manage` · competitor or customer research `research_competitors` · creators and social trends `creators_trends` · content `content_growth` · lead generation `lead_generation` · data work `data_work` · work with an expert team `expert_team`.
|
|
97
|
+
4. **Who makes your ad creatives right now?** and **Who manages your ads right now?** Use the shared values returned in the tool schema. Skip both when ad spend is `zero` and no advertising goal was selected.
|
|
98
|
+
5. **Which platforms or channels do you use or want help with?** Multi-select: `meta` · `tiktok` · `google` · `chatgpt` · `x` · `linkedin` · `reddit` · `other`.
|
|
99
|
+
6. **Where did you find GooseWorks?** Use the shared discovery-source values returned in the tool schema.
|
|
100
|
+
|
|
101
|
+
Do not add CLI-only questions about business type, products, or audience. Infer them from the website and ask one clarification only when the research is materially uncertain.
|
|
102
|
+
|
|
103
|
+
### Research while onboarding
|
|
104
|
+
|
|
105
|
+
Do useful setup work, not only form collection:
|
|
58
106
|
|
|
59
|
-
|
|
107
|
+
1. Fetch `brand-research` and research the website, products/services, audiences, competitors, offers, and messaging evidence.
|
|
108
|
+
2. Reuse existing Brand Kit/Core data. For an ecommerce store, import the relevant catalog with `import_product` and poll `get_product_import` rather than submitting duplicates.
|
|
109
|
+
3. When ads are relevant, offer to import existing creative. This is optional.
|
|
110
|
+
4. Suggest evidence-backed messaging angles. Approval is optional and never blocks completion.
|
|
111
|
+
5. Show the researched profile for confirmation: products/services, audience, competitors, imported ads, and suggested angles. Clearly label uncertainty.
|
|
60
112
|
|
|
61
|
-
|
|
62
|
-
- `update_user_context` — save it (partial update; only the fields you pass are touched).
|
|
113
|
+
### First task
|
|
63
114
|
|
|
64
|
-
|
|
115
|
+
Finish with **What do you want to do first?**
|
|
65
116
|
|
|
66
|
-
|
|
117
|
+
- Connect my tools and data — `connect_tools`
|
|
118
|
+
- Research customers, competitors, creators, or trends — `research`
|
|
119
|
+
- Analyze ads, content, landing pages, or performance — `analyze`
|
|
120
|
+
- Create ads, product images, or social content — `create`
|
|
67
121
|
|
|
68
|
-
|
|
122
|
+
Save the choice as `first_task`, then start that job. If the user already stated a concrete job, save the matching value and start without showing the menu.
|
|
69
123
|
|
|
70
|
-
|
|
71
|
-
1. **What's your company's website?** → `company_website`
|
|
72
|
-
2. **What's your role?** → `role`
|
|
73
|
-
3. **What are you hoping to use Goose skills for?** (multi-select — pick any): generate ad creatives · research and run ads end-to-end · finding influencers · data scraping (social / ads / reddit) · finding leads & emails · something else → `use_cases` (array)
|
|
74
|
-
4. **What high-priority growth / marketing tasks would you like help with right now?** The more context they share, the better you can help. → `goals`
|
|
124
|
+
## Brand Growth discovery
|
|
75
125
|
|
|
76
|
-
|
|
126
|
+
Brand Growth is a collection inside the normal skill catalog, not a command or installable pack. Use these known routes when relevant, while preserving all existing B2B, sales, research, lead-generation, and data behavior:
|
|
77
127
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
128
|
+
| Job | Skill |
|
|
129
|
+
| --- | --- |
|
|
130
|
+
| Brand foundation | `brand-research` |
|
|
131
|
+
| Competitor ads | `competitor-ad-intelligence` |
|
|
132
|
+
| Customer language and angles | `comment-mining` → `ad-angle-miner` |
|
|
133
|
+
| Competitor social content | `competitor-social-research` |
|
|
134
|
+
| Creator discovery and evaluation | `influencer-prospecting` |
|
|
135
|
+
| Trends and outlier posts | `trend-discovery`, `outlier-post-finder` |
|
|
136
|
+
| Social listening and product demand | `social-listening-brief`, `product-demand-research` |
|
|
137
|
+
| Meta performance, policy, and landing-page match | `meta-ads-analyzer`, `meta-ad-policy-checker`, `ad-to-landing-page-auditor` |
|
|
138
|
+
| Static ads | `goose-ads` / `remix-graphic-ad-from-reference` |
|
|
139
|
+
| Product photos | `goose-product-photos` |
|
|
140
|
+
| Graphics and animation | `goose-graphics`, `animate-image` |
|
|
87
141
|
|
|
88
|
-
|
|
142
|
+
Fetch the named public skill before following it. Provider helpers such as `scrapecreators-api` and `transcript-intelligence` are dependencies, not user-facing results.
|
|
89
143
|
|
|
90
|
-
|
|
91
|
-
|
|
144
|
+
For a multi-part request, repeat this routing check before each new job. Fetch and follow the
|
|
145
|
+
closest outcome skill first (for example, `comment-mining`, `creator-profile-teardown`, or
|
|
146
|
+
`content-repurposing`) before calling provider APIs or improvising a workflow. Provider calls
|
|
147
|
+
collect inputs for the outcome skill; they do not replace it.
|
|
92
148
|
|
|
93
149
|
## How to Use
|
|
94
150
|
|
|
@@ -128,6 +184,7 @@ Follow the instructions in the skill's `content` field. **Save ALL files from bo
|
|
|
128
184
|
> - **Credentials (only needed before running Python scripts, NOT before gooseworks commands):** replace the python one-liner exports with `eval $(gooseworks env)`. Skip entirely if you are only using `gooseworks call` — it loads credentials automatically.
|
|
129
185
|
> - **Orthogonal run:** replace `curl ... /v1/proxy/orthogonal/run ... -d '{"api":"X","path":"/Y","body":{...}}'` with `gooseworks call X /Y --body='{...}'`
|
|
130
186
|
> - **Direct proxy:** replace `curl ... /v1/proxy/<provider>/<path> ... -d '{...}'` with `gooseworks call <provider> <path> --body='{...}'`
|
|
187
|
+
> - **ScrapeCreators:** call its first-party GooseWorks proxy directly with `gooseworks call scrapecreators <path> --query='{...}'`. Use ScrapeCreators' official OpenAPI for endpoint parameters; do not use Orthogonal as its endpoint catalog. GET is the default; add `--method POST --body='{...}'` only for an official POST operation.
|
|
131
188
|
> - **Orthogonal search:** replace `curl ... /v1/proxy/orthogonal/search ... -d '{"prompt":"..."}'` with `gooseworks orthogonal find "..."`
|
|
132
189
|
|
|
133
190
|
1. Save each script from `scripts` to `/tmp/gooseworks-scripts/<slug>/scripts/` — **NEVER save scripts into the user's project directory**
|
|
@@ -166,9 +223,10 @@ gooseworks call hunter /v2/email-finder --query='{"domain":"stripe.com","first_n
|
|
|
166
223
|
- Output: JSON response data, followed by a `Cost: <N> credits` line when applicable
|
|
167
224
|
- **Always tell the user the cost** after each call
|
|
168
225
|
|
|
169
|
-
The same `gooseworks call` command also handles direct-proxy providers (apify, apollo, crustdata):
|
|
226
|
+
The same `gooseworks call` command also handles direct-proxy providers (apify, apollo, crustdata, scrapecreators):
|
|
170
227
|
```bash
|
|
171
228
|
gooseworks call apify acts/parseforge~reddit-posts-scraper/runs --body='{"subreddit":"ClaudeAI"}'
|
|
229
|
+
gooseworks call scrapecreators /v2/instagram/post/comments --query='{"url":"https://www.instagram.com/p/POST_ID/"}'
|
|
172
230
|
```
|
|
173
231
|
|
|
174
232
|
### Workflow
|
|
@@ -199,7 +257,7 @@ The `gooseworks` CLI sends authenticated requests (Bearer `GOOSEWORKS_API_KEY`)
|
|
|
199
257
|
| `$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search` | POST | `gooseworks orthogonal find` |
|
|
200
258
|
| `$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details` | POST | `gooseworks orthogonal describe` |
|
|
201
259
|
| `$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run` | POST | `gooseworks call` (orthogonal-routed providers) |
|
|
202
|
-
| `$GOOSEWORKS_API_BASE/v1/proxy/{apify,apollo,crustdata}/*` | Various | `gooseworks call` (direct-proxy providers) |
|
|
260
|
+
| `$GOOSEWORKS_API_BASE/v1/proxy/{apify,apollo,crustdata,scrapecreators}/*` | Various | `gooseworks call` (direct-proxy providers; ScrapeCreators uses its managed first-party key) |
|
|
203
261
|
|
|
204
262
|
## Security & Privacy
|
|
205
263
|
|