gooseworks 0.6.0-dev.72.31ed8cb2 → 0.6.0-dev.75.504129db
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/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +139 -63
- package/dist/skills/installer.js.map +1 -1
- package/dist/skills/master-skill.js +8 -8
- package/dist/skills/routes.d.ts +3 -3
- package/dist/skills/routes.d.ts.map +1 -1
- package/dist/skills/routes.js +18 -21
- package/dist/skills/routes.js.map +1 -1
- package/dist/skills/standalone-packages.d.ts +19 -0
- package/dist/skills/standalone-packages.d.ts.map +1 -0
- package/dist/skills/standalone-packages.js +35 -0
- package/dist/skills/standalone-packages.js.map +1 -0
- package/package.json +2 -2
- package/skills/gooseworks/SKILL.md +24 -24
- package/skills/manifest.json +2 -2
- package/skills/routes.json +43 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/skills/installer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/skills/installer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAC9D,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,sEAAgE,CAAC;AACnG,oIAAoI;AACpI,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,iBAAiB,CAoBzF;AAuBD,MAAM,WAAW,6BAA6B;IAC5C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAQ9D;AAmBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAYtG;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAMzD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,EAAE,EACpB,EAAE,KAAa,EAAE,iBAAyB,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,GAClG,uBAAuB,EAAE,CAY3B;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAwFf;AAkDD,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAS7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAQtC"}
|
package/dist/skills/installer.js
CHANGED
|
@@ -44,7 +44,9 @@ exports.installManagedEntrySkills = installManagedEntrySkills;
|
|
|
44
44
|
exports.installStandaloneSkill = installStandaloneSkill;
|
|
45
45
|
exports.getInstalledSkills = getInstalledSkills;
|
|
46
46
|
exports.removeAllSkills = removeAllSkills;
|
|
47
|
+
const standalone_packages_1 = require("./standalone-packages");
|
|
47
48
|
const fs = __importStar(require("fs"));
|
|
49
|
+
const crypto_1 = require("crypto");
|
|
48
50
|
const path = __importStar(require("path"));
|
|
49
51
|
const os = __importStar(require("os"));
|
|
50
52
|
const names_1 = require("./names");
|
|
@@ -175,46 +177,142 @@ async function installStandaloneSkill(slug, options = {}) {
|
|
|
175
177
|
throw new Error(`invalid skill slug '${slug}'. Use a slug like goose-graphics.`);
|
|
176
178
|
}
|
|
177
179
|
const targetDir = path.join(skillsBase(), slug);
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
180
|
+
const existingTarget = fs.lstatSync(targetDir, { throwIfNoEntry: false });
|
|
181
|
+
if (existingTarget && !options.overwriteModified) {
|
|
182
|
+
if (existingTarget.isSymbolicLink?.())
|
|
183
|
+
throw new Error(`Existing ${slug} package preserved. Replace the directory link yourself before installing a different package.`);
|
|
184
|
+
let replacement;
|
|
185
|
+
try {
|
|
186
|
+
const signal = AbortSignal.timeout(5000);
|
|
187
|
+
const source = githubSource();
|
|
188
|
+
const revision = await fetchGooseSkillsRevision(source, signal);
|
|
189
|
+
const index = JSON.parse((await fetchRawSkillFile(source.repo, 'skills-index.json', revision, signal)).toString('utf8'));
|
|
190
|
+
const retired = index.retired_skills?.find(entry => entry.slug === slug);
|
|
191
|
+
if (retired && /^[a-z0-9][a-z0-9-]*$/.test(retired.replacement) && index.skills.some(entry => entry.slug === retired.replacement))
|
|
192
|
+
replacement = retired.replacement;
|
|
193
|
+
}
|
|
194
|
+
catch { /* Offline or invalid metadata must never replace a local package. */ }
|
|
195
|
+
if (replacement)
|
|
196
|
+
throw new Error(`Skill "${slug}" was retired. Use "${replacement}" instead. Existing ${slug} package preserved.`);
|
|
181
197
|
throw new Error(`Existing ${slug} package preserved. Back it up and pass --overwrite-modified to replace it; approved projects keep their pinned package.`);
|
|
182
198
|
}
|
|
183
199
|
const source = githubSource();
|
|
184
200
|
const { tree, revision } = await fetchGooseSkillsTree(source);
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
201
|
+
const indexBytes = await fetchRawSkillFile(source.repo, 'skills-index.json', revision);
|
|
202
|
+
const packages = (0, standalone_packages_1.resolveStandalonePackages)(JSON.parse(indexBytes.toString('utf8')), slug).map(entry => {
|
|
203
|
+
const files = tree.filter(file => file.type === 'blob' && file.path.startsWith(entry.prefix)).map(file => file.path);
|
|
204
|
+
if (!files.includes(`${entry.prefix}SKILL.md`))
|
|
205
|
+
throw new Error(`Incomplete package for ${entry.slug}`);
|
|
206
|
+
const target = path.join(skillsBase(), entry.slug);
|
|
207
|
+
return { ...entry, files, target };
|
|
208
|
+
});
|
|
209
|
+
fs.mkdirSync(skillsBase(), { recursive: true });
|
|
210
|
+
const stagingRoot = fs.mkdtempSync(path.join(skillsBase(), '.packages-installing-'));
|
|
211
|
+
const changed = [];
|
|
212
|
+
const reused = new Set();
|
|
193
213
|
let completed = 0;
|
|
214
|
+
let cleanupSafe = true;
|
|
215
|
+
const total = packages.reduce((sum, entry) => sum + entry.files.length, 0);
|
|
194
216
|
try {
|
|
195
|
-
|
|
196
|
-
const
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
217
|
+
for (const entry of packages) {
|
|
218
|
+
const stagingDir = path.join(stagingRoot, entry.slug);
|
|
219
|
+
const fileHashes = {};
|
|
220
|
+
await withConcurrency(entry.files, DOWNLOAD_CONCURRENCY, async (filePath) => {
|
|
221
|
+
const relativePath = filePath.slice(entry.prefix.length);
|
|
222
|
+
if (relativePath.split('/').some(part => !part || part === '..' || part === '.') || path.isAbsolute(relativePath))
|
|
223
|
+
throw new Error('Unsafe skill file path');
|
|
224
|
+
const targetPath = path.join(stagingDir, relativePath);
|
|
225
|
+
const downloaded = await fetchRawSkillFile(source.repo, filePath, revision);
|
|
226
|
+
const buffer = (0, environment_1.getEnvironment)() === 'staging' && relativePath.endsWith('.md') ? Buffer.from((0, staging_content_1.stagingContent)(downloaded.toString('utf8'))) : downloaded;
|
|
227
|
+
fs.mkdirSync(path.dirname(targetPath), { recursive: true });
|
|
228
|
+
fs.writeFileSync(targetPath, buffer);
|
|
229
|
+
fileHashes[relativePath] = (0, crypto_1.createHash)('sha256').update(buffer).digest('hex');
|
|
230
|
+
options.onProgress?.({ downloaded: ++completed, total });
|
|
231
|
+
});
|
|
232
|
+
fs.writeFileSync(path.join(stagingDir, names_1.STAMP_FILE), `standalone:${entry.slug}`, 'utf-8');
|
|
233
|
+
fs.writeFileSync(path.join(stagingDir, '.gooseworks-source.json'), JSON.stringify({ environment: (0, environment_1.getEnvironment)(), repository: source.repo, branch: source.ref, revision, fileHashes }) + '\n');
|
|
234
|
+
}
|
|
235
|
+
// Compare real files after downloading the required revision. An unchanged
|
|
236
|
+
// shared dependency is reusable; edited, linked or untracked files are preserved.
|
|
237
|
+
for (const entry of packages) {
|
|
238
|
+
if (!fs.lstatSync(entry.target, { throwIfNoEntry: false }))
|
|
239
|
+
continue;
|
|
240
|
+
if (entry.slug !== slug && matchesStandalonePackage(entry.target, path.join(stagingRoot, entry.slug)))
|
|
241
|
+
reused.add(entry.slug);
|
|
242
|
+
else if (!options.overwriteModified)
|
|
243
|
+
throw new Error(`Existing ${entry.slug} package preserved. Back it up and pass --overwrite-modified to replace it.`);
|
|
244
|
+
}
|
|
245
|
+
// Commit only after every download succeeded; roll back if a rename fails.
|
|
246
|
+
for (const entry of packages) {
|
|
247
|
+
if (reused.has(entry.slug))
|
|
248
|
+
continue;
|
|
249
|
+
let backup = null;
|
|
250
|
+
if (fs.lstatSync(entry.target, { throwIfNoEntry: false })) {
|
|
251
|
+
backup = path.join(stagingRoot, `${entry.slug}.previous`);
|
|
252
|
+
fs.renameSync(entry.target, backup);
|
|
253
|
+
}
|
|
254
|
+
changed.push({ target: entry.target, backup });
|
|
255
|
+
fs.renameSync(path.join(stagingRoot, entry.slug), entry.target);
|
|
256
|
+
}
|
|
213
257
|
}
|
|
214
258
|
catch (error) {
|
|
215
|
-
|
|
259
|
+
for (const entry of changed.reverse()) {
|
|
260
|
+
try {
|
|
261
|
+
fs.rmSync(entry.target, { recursive: true, force: true });
|
|
262
|
+
if (entry.backup)
|
|
263
|
+
fs.renameSync(entry.backup, entry.target);
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
cleanupSafe = false;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
if (!cleanupSafe)
|
|
270
|
+
throw new Error(`Install failed. Recovery copies are preserved at ${stagingRoot}.`);
|
|
216
271
|
throw error;
|
|
217
272
|
}
|
|
273
|
+
finally {
|
|
274
|
+
if (cleanupSafe)
|
|
275
|
+
fs.rmSync(stagingRoot, { recursive: true, force: true });
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
function matchesStandalonePackage(target, staged) {
|
|
279
|
+
try {
|
|
280
|
+
if (!fs.lstatSync(target).isDirectory())
|
|
281
|
+
return false;
|
|
282
|
+
const existing = JSON.parse(fs.readFileSync(path.join(target, '.gooseworks-source.json'), 'utf8'));
|
|
283
|
+
const required = JSON.parse(fs.readFileSync(path.join(staged, '.gooseworks-source.json'), 'utf8'));
|
|
284
|
+
if (existing.repository !== required.repository || existing.environment !== required.environment || !existing.fileHashes)
|
|
285
|
+
return false;
|
|
286
|
+
if (fs.readFileSync(path.join(target, names_1.STAMP_FILE), 'utf8') !== fs.readFileSync(path.join(staged, names_1.STAMP_FILE), 'utf8'))
|
|
287
|
+
return false;
|
|
288
|
+
const actual = {};
|
|
289
|
+
const visit = (dir, prefix = '') => {
|
|
290
|
+
for (const name of fs.readdirSync(dir)) {
|
|
291
|
+
const relative = prefix + name;
|
|
292
|
+
const file = path.join(dir, name);
|
|
293
|
+
const stat = fs.lstatSync(file);
|
|
294
|
+
if (stat.isSymbolicLink())
|
|
295
|
+
return false;
|
|
296
|
+
if (stat.isDirectory()) {
|
|
297
|
+
if (!visit(file, relative + '/'))
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
else if (stat.isFile()) {
|
|
301
|
+
if (!prefix && [names_1.STAMP_FILE, '.gooseworks-source.json'].includes(name))
|
|
302
|
+
continue;
|
|
303
|
+
actual[relative] = (0, crypto_1.createHash)('sha256').update(fs.readFileSync(file)).digest('hex');
|
|
304
|
+
}
|
|
305
|
+
else
|
|
306
|
+
return false;
|
|
307
|
+
}
|
|
308
|
+
return true;
|
|
309
|
+
};
|
|
310
|
+
return visit(target) && Object.keys(actual).length === Object.keys(required.fileHashes).length &&
|
|
311
|
+
Object.entries(required.fileHashes).every(([name, hash]) => actual[name] === hash && existing.fileHashes[name] === hash);
|
|
312
|
+
}
|
|
313
|
+
catch {
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
218
316
|
}
|
|
219
317
|
async function withConcurrency(items, concurrency, worker) {
|
|
220
318
|
let cursor = 0;
|
|
@@ -235,20 +333,6 @@ async function withConcurrency(items, concurrency, worker) {
|
|
|
235
333
|
if (failure !== undefined)
|
|
236
334
|
throw failure;
|
|
237
335
|
}
|
|
238
|
-
function findSkillFiles(tree, slug) {
|
|
239
|
-
const skillMarker = `${slug}/SKILL.md`;
|
|
240
|
-
const skillEntry = tree.find((entry) => entry.type === 'blob' && (entry.path === skillMarker || entry.path.endsWith(`/${skillMarker}`)));
|
|
241
|
-
if (skillEntry) {
|
|
242
|
-
const prefix = skillEntry.path.slice(0, -'SKILL.md'.length);
|
|
243
|
-
return {
|
|
244
|
-
prefix,
|
|
245
|
-
files: tree
|
|
246
|
-
.filter((entry) => entry.type === 'blob' && entry.path.startsWith(prefix))
|
|
247
|
-
.map((entry) => entry.path),
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
return { prefix: `${slug}/`, files: [] };
|
|
251
|
-
}
|
|
252
336
|
function getInstalledSkills() {
|
|
253
337
|
if (!fs.existsSync(skillsBase()))
|
|
254
338
|
return [];
|
|
@@ -278,9 +362,10 @@ function removeAllSkills() {
|
|
|
278
362
|
fs.rmSync(path.join(skillsBase(), entry), { recursive: true, force: true });
|
|
279
363
|
}
|
|
280
364
|
}
|
|
281
|
-
async function
|
|
365
|
+
async function fetchGooseSkillsRevision(source, signal) {
|
|
282
366
|
// A tree SHA is not a commit SHA: raw.githubusercontent requires the commit.
|
|
283
|
-
const
|
|
367
|
+
const url = `https://api.github.com/repos/${source.repo}/commits/${source.ref.split('/').map(encodeURIComponent).join('/')}`;
|
|
368
|
+
const commitResponse = await (signal ? fetch(url, { signal }) : fetch(url));
|
|
284
369
|
if (!commitResponse.ok) {
|
|
285
370
|
if (commitResponse.status === 403 && commitResponse.headers.get('x-ratelimit-remaining') === '0')
|
|
286
371
|
throw new Error(`GitHub API rate-limited this IP.${formatRateLimitWait(commitResponse.headers.get('x-ratelimit-reset'))} Set GITHUB_TOKEN to raise the limit.`);
|
|
@@ -289,7 +374,11 @@ async function fetchGooseSkillsTree(source) {
|
|
|
289
374
|
const commit = await commitResponse.json();
|
|
290
375
|
if (!commit.sha || !/^[a-f0-9]{40}$/.test(commit.sha))
|
|
291
376
|
throw new Error('Invalid standalone skill commit');
|
|
292
|
-
|
|
377
|
+
return commit.sha;
|
|
378
|
+
}
|
|
379
|
+
async function fetchGooseSkillsTree(source) {
|
|
380
|
+
const revision = await fetchGooseSkillsRevision(source);
|
|
381
|
+
const response = await fetch(`https://api.github.com/repos/${source.repo}/git/trees/${revision}?recursive=1`);
|
|
293
382
|
if (!response.ok) {
|
|
294
383
|
if (response.status === 403 && response.headers.get('x-ratelimit-remaining') === '0') {
|
|
295
384
|
throw new Error(`GitHub API rate-limited this IP.${formatRateLimitWait(response.headers.get('x-ratelimit-reset'))} Set GITHUB_TOKEN to raise the limit.`);
|
|
@@ -299,7 +388,7 @@ async function fetchGooseSkillsTree(source) {
|
|
|
299
388
|
const data = await response.json();
|
|
300
389
|
if (data.truncated)
|
|
301
390
|
throw new Error('Incomplete standalone skill tree');
|
|
302
|
-
return { tree: data.tree || [], revision
|
|
391
|
+
return { tree: data.tree || [], revision };
|
|
303
392
|
}
|
|
304
393
|
function formatRateLimitWait(resetHeader) {
|
|
305
394
|
if (!resetHeader)
|
|
@@ -310,9 +399,9 @@ function formatRateLimitWait(resetHeader) {
|
|
|
310
399
|
const minutes = Math.max(1, Math.ceil((resetMs - Date.now()) / 60_000));
|
|
311
400
|
return ` Try again in about ${minutes} minute${minutes === 1 ? '' : 's'}.`;
|
|
312
401
|
}
|
|
313
|
-
async function fetchRawSkillFile(repo, filePath, revision) {
|
|
402
|
+
async function fetchRawSkillFile(repo, filePath, revision, signal) {
|
|
314
403
|
const url = `https://raw.githubusercontent.com/${repo}/${revision}/${filePath.split('/').map(encodeURIComponent).join('/')}`;
|
|
315
|
-
const response = await fetch(url);
|
|
404
|
+
const response = await (signal ? fetch(url, { signal }) : fetch(url));
|
|
316
405
|
if (!response.ok) {
|
|
317
406
|
throw new Error(`could not download ${filePath} from goose-skills (${response.status})`);
|
|
318
407
|
}
|
|
@@ -321,17 +410,4 @@ async function fetchRawSkillFile(repo, filePath, revision) {
|
|
|
321
410
|
throw new Error(`Unresolved Git LFS asset in ${filePath}`);
|
|
322
411
|
return buffer;
|
|
323
412
|
}
|
|
324
|
-
function getAvailableSkillSlugs(tree) {
|
|
325
|
-
const slugs = new Set();
|
|
326
|
-
for (const entry of tree) {
|
|
327
|
-
if (entry.type !== 'blob' || !entry.path.endsWith('/SKILL.md'))
|
|
328
|
-
continue;
|
|
329
|
-
const parts = entry.path.split('/');
|
|
330
|
-
const slug = parts[parts.length - 2];
|
|
331
|
-
if (slug) {
|
|
332
|
-
slugs.add(slug);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
return [...slugs].sort();
|
|
336
|
-
}
|
|
337
413
|
//# sourceMappingURL=installer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/skills/installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/skills/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,14 +59,14 @@ function getMasterSkillContent() {
|
|
|
59
59
|
name: gooseworks
|
|
60
60
|
slug: gooseworks
|
|
61
61
|
description: >
|
|
62
|
-
GooseWorks growth coworker and router. Research
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
GooseWorks growth coworker and router. Research markets, competitors, audiences and
|
|
63
|
+
creators; plan campaigns; make ads, product photos, graphics, video and content; run paid
|
|
64
|
+
ads, email, SEO and social; find leads and contacts. The one GooseWorks entry point
|
|
65
65
|
for brand growth, B2B, sales, research and GTM work. Also use it when the user mentions their
|
|
66
66
|
GooseWorks brand's offers, prices, rules, audience or bestsellers, or wants copy for it
|
|
67
67
|
(captions, posts, emails), so those facts reach its Marketing Brain.
|
|
68
68
|
category: general
|
|
69
|
-
version: 2.
|
|
69
|
+
version: 2.2.0
|
|
70
70
|
author: GooseWorks
|
|
71
71
|
tags: [gooseworks, data, scraping, search, research, gtm, leads, prospecting, ads, video]
|
|
72
72
|
---
|
|
@@ -100,15 +100,15 @@ social data. Hand specialist work to its skill; do data work here.
|
|
|
100
100
|
| If the user wants… | Route to | How |
|
|
101
101
|
| --- | --- | --- |
|
|
102
102
|
${(0, routes_1.renderDomainRouteTable)()}
|
|
103
|
-
| Anything else:
|
|
103
|
+
| Anything else: find a skill or a single step | (stay here) | catalog_search, or \`gooseworks search\` in a terminal; see "Data work". |
|
|
104
104
|
|
|
105
|
-
##
|
|
105
|
+
## Marketing playbooks
|
|
106
106
|
|
|
107
|
-
| Job |
|
|
107
|
+
| Job | Playbook |
|
|
108
108
|
| --- | --- |
|
|
109
109
|
${(0, routes_1.renderBrandGrowthTable)()}
|
|
110
110
|
|
|
111
|
-
Fetch a
|
|
111
|
+
Fetch a playbook before following it, and hand it the brand you read.
|
|
112
112
|
|
|
113
113
|
## Data work
|
|
114
114
|
|
package/dist/skills/routes.d.ts
CHANGED
|
@@ -49,9 +49,9 @@ export declare const DOMAIN_ROUTES: DomainRoute[];
|
|
|
49
49
|
*/
|
|
50
50
|
export declare const UNROUTED_ENTRY_SKILLS: Readonly<Record<string, string>>;
|
|
51
51
|
/**
|
|
52
|
-
* Brand Growth routes — the
|
|
53
|
-
* Must stay in sync with
|
|
54
|
-
* which is derived from this list.
|
|
52
|
+
* Brand Growth routes — the marketing playbooks in the `brand-growth` collection,
|
|
53
|
+
* one job and one playbook per row. Must stay in sync with
|
|
54
|
+
* `goose-skills/collections/brand-growth/routes.json`, which is derived from this list.
|
|
55
55
|
*/
|
|
56
56
|
export declare const BRAND_GROWTH_ROUTES: BrandGrowthRoute[];
|
|
57
57
|
/** Every skill slug named by any route, deduped and sorted. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,4CAA4C;AAC5C,MAAM,MAAM,aAAa;AACvB,+DAA+D;AAC7D,OAAO;AACT,+EAA+E;GAC7E,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EA+BtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,4CAA4C;AAC5C,MAAM,MAAM,aAAa;AACvB,+DAA+D;AAC7D,OAAO;AACT,+EAA+E;GAC7E,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EA+BtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAejD,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAK9C;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAInD;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,IAAI;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CASA;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C"}
|
package/dist/skills/routes.js
CHANGED
|
@@ -32,7 +32,7 @@ exports.renderBrandGrowthTable = renderBrandGrowthTable;
|
|
|
32
32
|
exports.DOMAIN_ROUTES = [
|
|
33
33
|
{
|
|
34
34
|
skill: 'goose-ads',
|
|
35
|
-
when: '
|
|
35
|
+
when: 'Change one ad already made in GooseWorks (an edit, a new size, its tags or rating), or save the customer\'s image as a template. New image ads: `make-static-ads`',
|
|
36
36
|
how: 'Open it with catalog_fetch in a chat app, or the installed copy in a terminal.',
|
|
37
37
|
delivery: 'entry',
|
|
38
38
|
},
|
|
@@ -70,28 +70,25 @@ exports.UNROUTED_ENTRY_SKILLS = {
|
|
|
70
70
|
'goose-video-local': 'One line: a next_step that gives the kit command says who starts it.',
|
|
71
71
|
};
|
|
72
72
|
/**
|
|
73
|
-
* Brand Growth routes — the
|
|
74
|
-
* Must stay in sync with
|
|
75
|
-
* which is derived from this list.
|
|
73
|
+
* Brand Growth routes — the marketing playbooks in the `brand-growth` collection,
|
|
74
|
+
* one job and one playbook per row. Must stay in sync with
|
|
75
|
+
* `goose-skills/collections/brand-growth/routes.json`, which is derived from this list.
|
|
76
76
|
*/
|
|
77
77
|
exports.BRAND_GROWTH_ROUTES = [
|
|
78
|
-
{ job: '
|
|
79
|
-
{ job: '
|
|
80
|
-
{ job: '
|
|
81
|
-
{ job: '
|
|
82
|
-
{ job: '
|
|
83
|
-
{ job: '
|
|
84
|
-
{ job: '
|
|
85
|
-
{ job: '
|
|
86
|
-
{ job: '
|
|
87
|
-
{
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
},
|
|
91
|
-
{ job: '
|
|
92
|
-
{ job: 'Product photos', skills: ['goose-product-photos', 'product-photoshoot'] },
|
|
93
|
-
{ job: 'Written content and repurposing', skills: ['content-repurposing'] },
|
|
94
|
-
{ job: 'Graphics and animation', skills: ['goose-graphics', 'animate-image'] },
|
|
78
|
+
{ job: 'Not sure what to do first', skills: ['where-to-start'] },
|
|
79
|
+
{ job: 'Market size, trends, what people say, brand watch', skills: ['research-market'] },
|
|
80
|
+
{ job: 'What rivals run and what works', skills: ['research-competitors'] },
|
|
81
|
+
{ job: 'Who buys and why; lists of companies and people', skills: ['research-audience'] },
|
|
82
|
+
{ job: 'Cold emails and LinkedIn messages', skills: ['write-outreach'] },
|
|
83
|
+
{ job: 'A campaign plan from a budget and a date', skills: ['plan-campaign'] },
|
|
84
|
+
{ job: 'New static image ads', skills: ['make-static-ads'] },
|
|
85
|
+
{ job: 'Launch, scale or pause paid ads', skills: ['run-paid-campaigns'] },
|
|
86
|
+
{ job: 'What worked; performance reports', skills: ['analyze-performance'] },
|
|
87
|
+
{ job: 'Email flows and sends to subscribers', skills: ['email-lifecycle'] },
|
|
88
|
+
{ job: 'SEO and AI-answer visibility', skills: ['improve-search-visibility'] },
|
|
89
|
+
{ job: 'Influencers and UGC creators', skills: ['work-with-creators'] },
|
|
90
|
+
{ job: 'One post, article or newsletter', skills: ['make-content'] },
|
|
91
|
+
{ job: 'Posting calendar and social plan', skills: ['run-organic-social'] },
|
|
95
92
|
];
|
|
96
93
|
/** Every skill slug named by any route, deduped and sorted. */
|
|
97
94
|
function getRoutedSkillSlugs() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface StandaloneIndex {
|
|
2
|
+
skills: Array<{
|
|
3
|
+
slug: string;
|
|
4
|
+
path: string;
|
|
5
|
+
metadata?: {
|
|
6
|
+
requires_skills?: string[];
|
|
7
|
+
};
|
|
8
|
+
}>;
|
|
9
|
+
retired_skills?: Array<{
|
|
10
|
+
slug: string;
|
|
11
|
+
replacement: string;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
/** Resolve the complete package before downloading or replacing any local file. */
|
|
15
|
+
export declare function resolveStandalonePackages(index: StandaloneIndex, slug: string): Array<{
|
|
16
|
+
slug: string;
|
|
17
|
+
prefix: string;
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=standalone-packages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone-packages.d.ts","sourceRoot":"","sources":["../../src/skills/standalone-packages.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACzF,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBvH"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveStandalonePackages = resolveStandalonePackages;
|
|
4
|
+
/** Resolve the complete package before downloading or replacing any local file. */
|
|
5
|
+
function resolveStandalonePackages(index, slug) {
|
|
6
|
+
const retired = index.retired_skills?.find(entry => entry.slug === slug);
|
|
7
|
+
if (retired)
|
|
8
|
+
throw new Error(`Skill "${slug}" was retired. Use "${retired.replacement}" instead.`);
|
|
9
|
+
if (!Array.isArray(index.skills) || index.skills.length === 0)
|
|
10
|
+
throw new Error('Incomplete skill index');
|
|
11
|
+
const skills = new Map(index.skills.map(skill => [skill.slug, skill]));
|
|
12
|
+
const result = [];
|
|
13
|
+
const visiting = new Set();
|
|
14
|
+
const done = new Set();
|
|
15
|
+
function visit(name) {
|
|
16
|
+
if (done.has(name) || visiting.has(name))
|
|
17
|
+
return;
|
|
18
|
+
if (!/^[a-z0-9][a-z0-9-]*$/.test(name))
|
|
19
|
+
throw new Error(`Invalid skill dependency: ${name}`);
|
|
20
|
+
const skill = skills.get(name);
|
|
21
|
+
if (!skill)
|
|
22
|
+
throw new Error(`Required skill "${name}" is missing from the catalog`);
|
|
23
|
+
if (!/^(?:skills|marketing-agent)\//.test(skill.path) || skill.path.split('/').some(part => !part || part === '..' || part === '.') || !skill.path.endsWith(`/${name}`))
|
|
24
|
+
throw new Error(`Invalid package path for ${name}`);
|
|
25
|
+
visiting.add(name);
|
|
26
|
+
for (const dependency of skill.metadata?.requires_skills || [])
|
|
27
|
+
visit(dependency);
|
|
28
|
+
visiting.delete(name);
|
|
29
|
+
done.add(name);
|
|
30
|
+
result.push({ slug: name, prefix: `${skill.path}/` });
|
|
31
|
+
}
|
|
32
|
+
visit(slug);
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=standalone-packages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone-packages.js","sourceRoot":"","sources":["../../src/skills/standalone-packages.ts"],"names":[],"mappings":";;AAMA,8DAsBC;AAvBD,mFAAmF;AACnF,SAAgB,yBAAyB,CAAC,KAAsB,EAAE,IAAY;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACzE,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,uBAAuB,OAAO,CAAC,WAAW,YAAY,CAAC,CAAC;IACnG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACzG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAA4C,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,SAAS,KAAK,CAAC,IAAY;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QACjD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,+BAA+B,CAAC,CAAC;QACpF,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QAC7N,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,eAAe,IAAI,EAAE;YAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAClF,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gooseworks",
|
|
3
|
-
"version": "0.6.0-dev.
|
|
3
|
+
"version": "0.6.0-dev.75.504129db",
|
|
4
4
|
"description": "GooseWorks CLI — give your coding agent real data tools",
|
|
5
5
|
"bin": {
|
|
6
6
|
"gooseworks": "./dist/index.js"
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"homepage": "https://gooseworks.ai",
|
|
78
78
|
"author": "GooseWorks <help@gooseworks.ai>",
|
|
79
79
|
"gooseworksRelease": {
|
|
80
|
-
"commit": "
|
|
80
|
+
"commit": "504129dbcf03731cbe624945e131a718f060b6fb",
|
|
81
81
|
"branch": "dev"
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
name: gooseworks
|
|
3
3
|
slug: gooseworks
|
|
4
4
|
description: >
|
|
5
|
-
GooseWorks growth coworker and router. Research
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
GooseWorks growth coworker and router. Research markets, competitors, audiences and
|
|
6
|
+
creators; plan campaigns; make ads, product photos, graphics, video and content; run paid
|
|
7
|
+
ads, email, SEO and social; find leads and contacts. The one GooseWorks entry point
|
|
8
8
|
for brand growth, B2B, sales, research and GTM work. Also use it when the user mentions their
|
|
9
9
|
GooseWorks brand's offers, prices, rules, audience or bestsellers, or wants copy for it
|
|
10
10
|
(captions, posts, emails), so those facts reach its Marketing Brain.
|
|
11
11
|
category: general
|
|
12
|
-
version: 2.
|
|
12
|
+
version: 2.2.0
|
|
13
13
|
author: GooseWorks
|
|
14
14
|
tags: [gooseworks, data, scraping, search, research, gtm, leads, prospecting, ads, video]
|
|
15
15
|
---
|
|
@@ -42,33 +42,33 @@ social data. Hand specialist work to its skill; do data work here.
|
|
|
42
42
|
|
|
43
43
|
| If the user wants… | Route to | How |
|
|
44
44
|
| --- | --- | --- |
|
|
45
|
-
|
|
|
45
|
+
| Change one ad already made in GooseWorks (an edit, a new size, its tags or rating), or save the customer's image as a template. New image ads: `make-static-ads` | **`goose-ads`** | Open it with catalog_fetch in a chat app, or the installed copy in a terminal. |
|
|
46
46
|
| Charts, infographics, slides, social graphics, branded visual designs from a style or format | **`goose-graphics`** | Fetch it with catalog_fetch, or `gooseworks fetch goose-graphics` in a terminal. |
|
|
47
47
|
| Any **video**: a video ad from a style, an original video from a brief or a reference video, or a video already started | **`goose-video`** | Explicit custom skips the picker; otherwise watch the reference, read the brand and compare style constraints. |
|
|
48
48
|
| Make **product photos**: studio, lifestyle, marketplace, social or on a model | **`goose-product-photos`** | Open it with catalog_fetch in a chat app, or the installed copy in a terminal. |
|
|
49
49
|
| Animate an approved static ad or product image | **`animate-image`** | Fetch it with catalog_fetch, or `gooseworks fetch animate-image` in a terminal. |
|
|
50
|
-
| Anything else:
|
|
50
|
+
| Anything else: find a skill or a single step | (stay here) | catalog_search, or `gooseworks search` in a terminal; see "Data work". |
|
|
51
51
|
|
|
52
|
-
##
|
|
52
|
+
## Marketing playbooks
|
|
53
53
|
|
|
54
|
-
| Job |
|
|
54
|
+
| Job | Playbook |
|
|
55
55
|
| --- | --- |
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
71
|
-
Fetch a
|
|
56
|
+
| Not sure what to do first | `where-to-start` |
|
|
57
|
+
| Market size, trends, what people say, brand watch | `research-market` |
|
|
58
|
+
| What rivals run and what works | `research-competitors` |
|
|
59
|
+
| Who buys and why; lists of companies and people | `research-audience` |
|
|
60
|
+
| Cold emails and LinkedIn messages | `write-outreach` |
|
|
61
|
+
| A campaign plan from a budget and a date | `plan-campaign` |
|
|
62
|
+
| New static image ads | `make-static-ads` |
|
|
63
|
+
| Launch, scale or pause paid ads | `run-paid-campaigns` |
|
|
64
|
+
| What worked; performance reports | `analyze-performance` |
|
|
65
|
+
| Email flows and sends to subscribers | `email-lifecycle` |
|
|
66
|
+
| SEO and AI-answer visibility | `improve-search-visibility` |
|
|
67
|
+
| Influencers and UGC creators | `work-with-creators` |
|
|
68
|
+
| One post, article or newsletter | `make-content` |
|
|
69
|
+
| Posting calendar and social plan | `run-organic-social` |
|
|
70
|
+
|
|
71
|
+
Fetch a playbook before following it, and hand it the brand you read.
|
|
72
72
|
|
|
73
73
|
## Data work
|
|
74
74
|
|
package/skills/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "gooseworks",
|
|
3
|
-
"version": "0.6.0-dev.
|
|
3
|
+
"version": "0.6.0-dev.75.504129db",
|
|
4
4
|
"entries": {
|
|
5
|
-
"gooseworks": "
|
|
5
|
+
"gooseworks": "b282d7a42b794b8061b7b3947f857adadba6587e03bff951528dc912dac1d14b",
|
|
6
6
|
"goose-ads": "cec58f726db71c51173568320550d73afaa49e284f8a770ba8e964176d1af72a",
|
|
7
7
|
"goose-video": "3419174c9e984e974b7486a088df480b44fcc2004ad4dcadc9c50bce36d7fdf2",
|
|
8
8
|
"goose-video-local": "3c8c8aecbfe3d8e58e6393e28dc67dc36f9d4b8dcfb1603f8bc442786ce839ee",
|
package/skills/routes.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"domain_routes": [
|
|
5
5
|
{
|
|
6
6
|
"skill": "goose-ads",
|
|
7
|
-
"when": "
|
|
7
|
+
"when": "Change one ad already made in GooseWorks (an edit, a new size, its tags or rating), or save the customer's image as a template. New image ads: `make-static-ads`",
|
|
8
8
|
"how": "Open it with catalog_fetch in a chat app, or the installed copy in a terminal.",
|
|
9
9
|
"delivery": "entry"
|
|
10
10
|
},
|
|
@@ -35,123 +35,109 @@
|
|
|
35
35
|
],
|
|
36
36
|
"brand_growth_routes": [
|
|
37
37
|
{
|
|
38
|
-
"job": "
|
|
38
|
+
"job": "Not sure what to do first",
|
|
39
39
|
"skills": [
|
|
40
|
-
"
|
|
40
|
+
"where-to-start"
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"job": "
|
|
44
|
+
"job": "Market size, trends, what people say, brand watch",
|
|
45
45
|
"skills": [
|
|
46
|
-
"
|
|
46
|
+
"research-market"
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
"job": "
|
|
50
|
+
"job": "What rivals run and what works",
|
|
51
51
|
"skills": [
|
|
52
|
-
"
|
|
53
|
-
"ad-angle-miner"
|
|
52
|
+
"research-competitors"
|
|
54
53
|
]
|
|
55
54
|
},
|
|
56
55
|
{
|
|
57
|
-
"job": "
|
|
56
|
+
"job": "Who buys and why; lists of companies and people",
|
|
58
57
|
"skills": [
|
|
59
|
-
"
|
|
58
|
+
"research-audience"
|
|
60
59
|
]
|
|
61
60
|
},
|
|
62
61
|
{
|
|
63
|
-
"job": "
|
|
62
|
+
"job": "Cold emails and LinkedIn messages",
|
|
64
63
|
"skills": [
|
|
65
|
-
"
|
|
64
|
+
"write-outreach"
|
|
66
65
|
]
|
|
67
66
|
},
|
|
68
67
|
{
|
|
69
|
-
"job": "
|
|
68
|
+
"job": "A campaign plan from a budget and a date",
|
|
70
69
|
"skills": [
|
|
71
|
-
"
|
|
72
|
-
"creator-profile-teardown"
|
|
70
|
+
"plan-campaign"
|
|
73
71
|
]
|
|
74
72
|
},
|
|
75
73
|
{
|
|
76
|
-
"job": "
|
|
74
|
+
"job": "New static image ads",
|
|
77
75
|
"skills": [
|
|
78
|
-
"
|
|
79
|
-
"outlier-post-finder"
|
|
76
|
+
"make-static-ads"
|
|
80
77
|
]
|
|
81
78
|
},
|
|
82
79
|
{
|
|
83
|
-
"job": "
|
|
80
|
+
"job": "Launch, scale or pause paid ads",
|
|
84
81
|
"skills": [
|
|
85
|
-
"
|
|
86
|
-
"product-demand-research"
|
|
82
|
+
"run-paid-campaigns"
|
|
87
83
|
]
|
|
88
84
|
},
|
|
89
85
|
{
|
|
90
|
-
"job": "
|
|
86
|
+
"job": "What worked; performance reports",
|
|
91
87
|
"skills": [
|
|
92
|
-
"
|
|
88
|
+
"analyze-performance"
|
|
93
89
|
]
|
|
94
90
|
},
|
|
95
91
|
{
|
|
96
|
-
"job": "
|
|
92
|
+
"job": "Email flows and sends to subscribers",
|
|
97
93
|
"skills": [
|
|
98
|
-
"
|
|
99
|
-
"meta-ad-policy-checker",
|
|
100
|
-
"ad-to-landing-page-auditor"
|
|
94
|
+
"email-lifecycle"
|
|
101
95
|
]
|
|
102
96
|
},
|
|
103
97
|
{
|
|
104
|
-
"job": "
|
|
98
|
+
"job": "SEO and AI-answer visibility",
|
|
105
99
|
"skills": [
|
|
106
|
-
"
|
|
107
|
-
"remix-graphic-ad-from-reference"
|
|
100
|
+
"improve-search-visibility"
|
|
108
101
|
]
|
|
109
102
|
},
|
|
110
103
|
{
|
|
111
|
-
"job": "
|
|
104
|
+
"job": "Influencers and UGC creators",
|
|
112
105
|
"skills": [
|
|
113
|
-
"
|
|
114
|
-
"product-photoshoot"
|
|
106
|
+
"work-with-creators"
|
|
115
107
|
]
|
|
116
108
|
},
|
|
117
109
|
{
|
|
118
|
-
"job": "
|
|
110
|
+
"job": "One post, article or newsletter",
|
|
119
111
|
"skills": [
|
|
120
|
-
"content
|
|
112
|
+
"make-content"
|
|
121
113
|
]
|
|
122
114
|
},
|
|
123
115
|
{
|
|
124
|
-
"job": "
|
|
116
|
+
"job": "Posting calendar and social plan",
|
|
125
117
|
"skills": [
|
|
126
|
-
"
|
|
127
|
-
"animate-image"
|
|
118
|
+
"run-organic-social"
|
|
128
119
|
]
|
|
129
120
|
}
|
|
130
121
|
],
|
|
131
122
|
"skills": [
|
|
132
|
-
"
|
|
133
|
-
"ad-to-landing-page-auditor",
|
|
123
|
+
"analyze-performance",
|
|
134
124
|
"animate-image",
|
|
135
|
-
"
|
|
136
|
-
"brand-research",
|
|
137
|
-
"comment-mining",
|
|
138
|
-
"competitor-ad-intelligence",
|
|
139
|
-
"competitor-social-research",
|
|
140
|
-
"content-repurposing",
|
|
141
|
-
"creator-profile-teardown",
|
|
125
|
+
"email-lifecycle",
|
|
142
126
|
"goose-ads",
|
|
143
127
|
"goose-graphics",
|
|
144
128
|
"goose-product-photos",
|
|
145
129
|
"goose-video",
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
"
|
|
130
|
+
"improve-search-visibility",
|
|
131
|
+
"make-content",
|
|
132
|
+
"make-static-ads",
|
|
133
|
+
"plan-campaign",
|
|
134
|
+
"research-audience",
|
|
135
|
+
"research-competitors",
|
|
136
|
+
"research-market",
|
|
137
|
+
"run-organic-social",
|
|
138
|
+
"run-paid-campaigns",
|
|
139
|
+
"where-to-start",
|
|
140
|
+
"work-with-creators",
|
|
141
|
+
"write-outreach"
|
|
156
142
|
]
|
|
157
143
|
}
|