复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Put your AI agent on the growth team.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Put your AI agent on the growth team.
Research customers and competitors, analyze what is working, create the next campaign, and learn from the result. Goose Skills gives Claude Code, Cursor, Codex, and other coding agents ready-to-use workflows for ads, social media, content, competitive intelligence, SEO, lead generation, and GTM.
Browse all skills at https://skills.gooseworks.ai
Works with Claude Code · Cursor · Codex
Paste this into your coding agent (Claude Code, Cursor, or Codex) and it'll set everything up:
Install the Gooseworks skills:
In the terminal, run `npx gooseworks install --all`.
Then run `npx gooseworks login` and it'll open a browser to sign in and set up the tools, then confirm it worked.
The skills can be used with /gooseworks <prompt>
Run this command in a terminal first:
npx gooseworks install --all
Then authenticate:
npx gooseworks login
Then make sure you're working inside a local folder on your machine, and then you can use the skills in Cowork like this:
Use /gooseworks skill to generate some ad creatives
Prefer to run it yourself? Use the command directly:
npx gooseworks install --all # All detected agents
This gives your coding agent access to the full catalog of 200+ skills. After installing, just ask your agent to use any skill by name.
If you want a cloud-based AI coworker that already knows all these skills and more, sign up to Gooseworks
The Brand Growth collection is a curated path through the normal Goose Skills catalog for consumer and ecommerce brand work. It is not a separate package or command: install GooseWorks once, then ask /gooseworks for the outcome you need.
| Stage | What your agent can do | Example skills |
|---|---|---|
| Research | Understand the brand, customers, competitors, audiences, creators, trends, comments, and product demand | brand-research, audience-research, comment-mining, competitor-social-research, influencer-prospecting, trend-discovery, product-demand-research |
| Analyze | Diagnose ads, creator profiles, transcripts, policy risk, landing-page message match, and unusual social performance | competitor-ad-intelligence, creator-profile-teardown, transcript-intelligence, meta-ads-analyzer, meta-ad-policy-checker, ad-to-landing-page-auditor, outlier-post-finder |
| Create | Repurpose research, remix graphic ads, make product photography and social graphics, and animate static images | content-repurposing, remix-graphic-ad-from-reference, product-photoshoot, goose-graphics, animate-image |
| Learn and iterate | Bring results back into research and analysis, then decide the next test | Re-run the relevant analysis skill with current performance and audience evidence |
ScrapeCreators powers structured public social and ad-library research behind several workflows. Signed-in GooseWorks users access it through the managed first-party proxy and do not need a separate ScrapeCreators key. The user-facing skills turn that source data into a brief, shortlist, analysis, or recommendation instead of returning raw API output.
Browse the Brand Growth collection
After installation, start with:
/gooseworks onboard me
The agent will collect the useful company context for future growth work and finish by asking what you want to do first. Existing users can skip onboarding and keep using /gooseworks exactly as they do today.
npx gooseworks search "reddit scraping" # Search the skill catalog
npx gooseworks credits # Check your credit balance
npx gooseworks update # Update to latest skill version
200+ skills across the growth stack, grouped by focus area:
| Category | What's inside |
|---|---|
| Ads | Research, build, and analyze paid campaigns across Meta and Google |
| SEO | Keyword research, content gaps, SERP analysis, technical audits |
| Lead generation | Find, enrich, and qualify prospects for your pipeline |
| Outreach | Draft, personalize, and run outbound across email and social |
| Content | Blog posts, social content, carousels, video scripts, newsletters |
| Research | Company, market, and prospect deep-dives |
| Competitive intel | Track competitor pricing, launches, positioning, and ads |
| Monitoring | Watch for mentions, signals, and changes across the web |
| Social | Scrape and analyze social platforms and audiences |
| Brand | Voice, positioning, and visual brand assets |
Browse and search every skill at skills.gooseworks.ai.
After installing, just ask your coding agent naturally:
"/gooseworks Generate static ad creatives for my brand"
"/gooseworks Use the reddit-post-finder skill to search r/startups"
"/gooseworks Use the apollo-lead-finder skill to find CTOs at AI companies"
"/gooseworks Use the competitor-intel skill to research Acme Corp"
"/gooseworks Use the goose-graphics skill to create a LinkedIn carousel about our launch"
Your agent will search the GooseWorks catalog, download the skill, and run it automatically.
git clone https://github.com/gooseworks-ai/goose-skills.git
cd goose-skills
node scripts/validate-skills.js # Validate SKILL.md + skill.meta.json contract
node scripts/build-index.js # Generate skills-index.json
node bin/goose-skills.js list # Test locally
Each skill directory must include:
SKILL.md — Skill documentation and usage guideskill.meta.json — Machine-readable metadataskill.meta.json fields:
| Field | Required | Description |
|---|---|---|
slug | Yes | Unique kebab-case identifier |
category | Yes | capabilities, composites, or playbooks |
tags | Yes | String array of category tags |
installation.base_command | Yes | Install command |
installation.supports | Yes | Array: claude, codex, cursor |
features | No | Feature flags |
github_url | No | Source repository URL |
author | No | Skill author |
example_prompt | No | Copyable prompt shown in the catalog and docs for trying the skill |
These skills run inside your coding agent, so it's worth knowing exactly what they do:
SKILL.md instructions and all scripts — lives in this repo under the MIT license. The gooseworks CLI fetches skills at runtime so recipes stay current, but the source you'd run is right here to read, diff, or pin before you run it./tmp/gooseworks-scripts/, never into your project directory. Only API requests go through GooseWorks servers; review any script before letting your agent run it.SKILL.md to tune that behavior.~/.gooseworks/credentials.json (file mode 0600). Third-party provider keys (Apify, Apollo, etc.) are held server-side — your token never touches them. All network calls are HTTPS.gooseworks install --mcp.Found something that looks off? Open an issue — we'd rather fix it in public.
MIT — see LICENSE for details.
The skill files and CLI in this repository are MIT-licensed. The GooseWorks API they connect to is a separate paid service governed by its own terms.
Built by GooseWorks
name: goose-graphics
description: Portable visual skill pack for the Agent Skills ecosystem (Claude Code, Claude Desktop, Claude Cowork, Claude Design, Goose, Cursor, Codex). Discovers community-published styles + formats via the gooseworks CLI, runs an extract-style workflow on reference images, and exports rendered PNGs via Playwright.goose-graphics is a portable visual skill pack for the Agent Skills ecosystem. Styles and formats live in the central Gooseworks library — fetched on demand via npx gooseworks instead of bundled into this repo. The skill pairs that catalog with an extract-style workflow for reference images, an Unsplash + ASCII art image-sourcing layer, and a Playwright-based HTML-to-PNG export pipeline.
It loads in any host that reads SKILL.md — Claude Code agents calling it for automated render, Goose pipelines wiring it into content generation, Cursor/Codex projects picking it up via .cursor/rules/ or ~/.codex/skills/. Each style ships a slim DESIGN.md spec via npx gooseworks styles get <slug>, which can also be uploaded directly into Claude Design as a design-system scaffold.
Format templates, image-sourcing helpers, and the screenshot pipeline live in this skill pack. Styles, formats, and example renders are fetched on demand from the central library — no slugs are baked in.
This skill supports three invocation modes — all-args, partial-args, and interactive. Pick the fastest path for the ask.
/goose-graphics --style <slug> --format <format> [--brief "..."] [--ref <image-path>]
--style <slug> — any community-published style slug. Discover with npx gooseworks styles list / search. Required for style-selected generation. Omit to let the user pick interactively.--format <format> — any community-published format slug (e.g., carousel, story, infographic, slides, poster, chart, tweet, plus any community additions). Discover with npx gooseworks formats list. Required for format-selected generation.--brief "..." — the topic / content description. Replaces the Content Discovery phase.--ref <image-path> — if present, extract an ad-hoc style from the reference image for this single render instead of using a preset. When --ref is provided, --style is ignored. For creating a persistent published style that other agents can discover, use the dedicated /goose-graphics-create-style skill instead.Three branches:
--style + --format + --brief OR --ref + --format + --brief) → skip discovery, skip style selection, proceed directly to §7 (Set Output Path) and §8 (Generate HTML).--style is set but --format is not, ask only for format. If --brief is missing, ask only for the topic/content.# Full args — one-shot generate
/goose-graphics --style matt-gray --format carousel --brief "How founders find their first 100 customers in 2026"
# Reference-driven — extract a one-off style from an image and build with it
/goose-graphics --ref ~/Desktop/mood.png --format poster --brief "Summer studio open house, August 14"
# Partial — Claude asks for the missing brief
/goose-graphics --style deep-ocean --format slides
# No args — full interactive flow
/goose-graphics
To create a persistent published style (slim spec + hero render + a few additional examples, pushed to the central library so other agents can discover it), use the dedicated /goose-graphics-create-style skill instead.
--brief is missing but clearly inferable from subsequent user text, don't block — proceed.--format is missing, default to asking (there is no safe default across formats).--style is missing and --ref is missing, ask — style is load-bearing.Styles and formats live in the central Gooseworks library, not in this skill pack. Always list or search before assuming a slug exists — the catalog is community-driven and changes over time.
# List or search styles
npx gooseworks styles list
npx gooseworks styles search "warm editorial"
npx gooseworks styles list --mood "Organic & Warm" --tag warm
# Fetch a specific style's DESIGN.md (the slim spec) — pipe into Claude Design,
# or include in the agent context for HTML generation
npx gooseworks styles get <slug>
# Same shape for formats
npx gooseworks formats list
npx gooseworks formats search "vertical"
npx gooseworks formats get <slug>
When the user names a style or format, run list / search first, then get the spec for the chosen slug. Never assume a slug exists from memory — slugs come and go as the community publishes and retires entries.
When the user creates a new aesthetic via extract-style.md (or via the dedicated /goose-graphics-create-style skill) and is happy with it, publish it to the community library so other agents and users can discover it:
cd <directory-with-rendered-examples>
npx gooseworks styles publish
The CLI expects a gooseworks-style.json manifest in the working directory plus the referenced PNG files. See §13 Manifest format for the exact shape.
The description is what makes the style discoverable by AI agents searching the catalog. Treat it as a search index, not flavor text.
isHero: true. Pick the format that best showcases the style.poster > carousel > infographic > slides > chart > story > tweet.When the existing community-published formats don't fit the user's canvas (e.g., LinkedIn banner 1584×396, story cover 1080×1920, event flyer 8.5×11in), use the sibling /goose-graphics-create-format skill to produce a format spec and at least one rendered example, then publish:
cd <directory-with-format-bundle>
npx gooseworks formats publish
Format publishing requires at least one rendered example — the backend rejects an empty examples array. See §13 Manifest format for the exact shape of gooseworks-format.json.
Description and tag guidelines for formats follow the same rules as styles (§4.1, §4.2), but lead with dimensions + content density instead of mood:
"1080×1920 vertical canvas for Instagram and TikTok stories. Single-panel composition, 5-word title max, large hero image or stat. Use for quick announcements and engagement posts where the viewer scrolls past in 2 seconds."
SKILL.md (this file) auto-loads on most Agent Skills hosts once the pack is installed at the right path. Claude Design is the one host that does not auto-load skill packs — instead, it consumes individual style files (DESIGN.md) one at a time via manual upload, fetched on demand via npx gooseworks styles get <slug>.
| Host | Install | Notes |
|---|---|---|
| Claude Code | npx goose-skills install goose-graphics --claude | Lands at ~/.claude/skills/goose-graphics/ |
| Claude Desktop | (same install as above) | Auto-shared — Desktop reads ~/.claude/skills/ |
| Claude Cowork | (same install as above) | Built on Claude Desktop; same skill dir |
| Goose (Block) | (same install as above) | Auto-discovers ~/.claude/skills/ + ~/.config/goose/skills/ |
| Cursor | npx goose-skills install goose-graphics --cursor --project-dir . | Writes .cursor/rules/goose-goose-graphics.mdc |
| Codex (OpenAI) | npx goose-skills install goose-graphics --codex | Writes ~/.codex/skills/goose-graphics/ |
| Claude Design | npx gooseworks styles get <slug> → upload the resulting DESIGN.md via CD's "Create new design system" | Per-style DESIGN.md upload; no CLI sync |
Before first use, check whether the screenshot tool's dependencies are installed. Look for a node_modules/ directory inside the screenshot/ folder (relative to this skill file).
If node_modules/ does not exist, run:
cd [skill-pack-dir]/screenshot && npm install && npx playwright install chromium
Replace [skill-pack-dir] with the absolute path to the directory containing this SKILL.md file.
1. Discover Intent --> What format? What content?
2. Select Style --> Pick from the catalog or extract from reference image
3. Select Sources --> Unsplash photos? ASCII art? None?
4. Set Output Path --> Where to save exports
5. Generate HTML --> Using format spec + style spec + sources
6. Screenshot --> Playwright PNG export
7. Deliver --> Present results with file listing
Ask the user what they want to create. Run npx gooseworks formats list to see the current catalog. The seven baseline formats are:
| Format | Dimensions | Best For |
|---|---|---|
| Carousel | 1080x1080px per slide | LinkedIn, Instagram multi-slide posts |
| Story | 1080x1920px per slide | Instagram/LinkedIn Stories, TikTok, Snapchat |
| Infographic | 1080px wide, variable height | Social media, blog embeds |
| Slides | 1920x1080px per slide | Presentations, webinars |
| Poster | 1080x1350px | Instagram posts, event flyers |
| Chart | 1080x1080px | Single data chart graphic |
| Tweet | 1080x1080px | Tweet-sized square screenshot |
The community library may publish additional formats (story covers, podcast covers, square testimonials, etc.) — always run list first rather than assuming only the seven baseline slugs exist. Note that every community format must use one of the seven canvas sizes above (the renderer is locked to that allow-list); they differ from the baselines only in name, intent, and content rules. If no published format fits the user's needs, suggest the /goose-graphics-create-format skill.
Once the user chooses a format, fetch its full spec:
npx gooseworks formats get <format-slug>
The returned spec.md (or content rules) describes layout, content density, and per-section content rules. Follow its Content Discovery phase to gather the topic, content, and any other format-specific inputs from the user.
If the user hasn't specified a style, point them at the full catalog so they can browse visually:
Browse the style catalog at https://skills.gooseworks.ai/styles to see every published style with rendered examples.
Then run npx gooseworks styles list (or search "..." / list --mood "..." --tag ...) to surface relevant options inline. Present the candidates in groups by mood with their taglines so the user can pick.
The user may also say: "I have a reference image" — in that case, read extract-style.md (in this skill pack) and follow its workflow to derive a custom style from the provided image. That workflow ends in a publishable bundle (gooseworks-style.json + rendered PNGs) the user can publish via npx gooseworks styles publish. After publishing, continue the workflow from Step 3 onward using the new slug.
After the user picks a slug, fetch its slim spec:
npx gooseworks styles get <slug>
The returned DESIGN.md contains everything you need to generate: palette, typography, layout, do/don'ts, and ready-to-paste CSS snippets.
Ask the user: "Do you want to include images in your graphic?"
Options:
sources/unsplash.md and follow its search workflow to find and embed high-quality stock photography.sources/ascii-art.md and follow its workflow to generate and embed ASCII art elements.Ask the user: "Where should I save the exports?"
Default location: ./goose-graphics-exports/
Within that directory, create a subfolder using this naming convention:
[YYYY-MM-DD]-[slugified-name]/
For example: 2026-04-17-q2-product-roadmap/
Follow the chosen format spec's HTML Generation phase. When generating:
styles get has everything you need.Run the screenshot script to export HTML files to high-resolution PNGs:
node [skill-pack-dir]/screenshot/screenshot.js --format CANVAS --input INPUT_PATH --output OUTPUT_PATH
Where:
[skill-pack-dir] is the absolute path to this skill pack's directory.CANVAS is always one of the seven built-in canvas slugs, never the format's catalog slug. The renderer's allow-list is strict — passing a community format slug like story-cover or linkedin-banner will fail.INPUT_PATH is the directory or file containing the generated HTML.OUTPUT_PATH is the directory where PNG files should be saved.Map the format's width/height (from npx gooseworks formats get <slug>) to a canvas slug using this table:
| width × height | Canvas slug |
|---|---|
| 1080 × 1080 | carousel |
| 1080 × 1350 | poster |
| 1920 × 1080 | slides |
| 1080 × 1920 | story |
| 1080 × ≥1080 (variable) | infographic |
Examples:
poster (1080×1350) → --format poster.story-cover (1080×1920) → --format story (because the format inherits the story canvas).linkedin-quote-card (1080×1080) → --format carousel (any 1080×1080 catalog format renders against the carousel canvas).If the format's width/height doesn't match any row above, the format was published incorrectly — report it to the user and stop. Don't try to render with custom dimensions; the tool can't.
Present the results to the user:
npx gooseworks styles list. Ask the user only for content/topic, then generate everything else automatically.These manifests are CLI inputs the user produces in their own working directory before running publish. They never live in this repo.
gooseworks-style.json){
"name": "Desert Sunset",
"slug": "desert-sunset",
"description": "Warm dusk gradients with rust and amber on cream paper. Editorial serif headlines paired with a single sans-serif accent. Built for DTC beauty product launches, lifestyle long-form, and event posters where you want a confident, sun-soaked, high-end magazine feel.",
"designMd": "# Desert Sunset\n\n…full slim spec markdown — palette table, typography table, layout rules, do/don'ts, optional CSS variables block…",
"moodGroup": "Organic & Warm",
"tags": ["warm", "desert", "editorial", "serif", "dtc"],
"palette": [
{ "hex": "#E06A2C", "role": "primary" },
{ "hex": "#3A1F1A", "role": "ink" },
{ "hex": "#F5EFE7", "role": "paper" }
],
"examples": [
{ "format": "poster", "isHero": true, "file": "./poster.png", "caption": "Hero render" },
{ "format": "carousel", "file": "./carousel.png" },
{ "format": "story", "file": "./story.png" }
]
}
Field constraints:
name: 1–120 charsslug: optional kebab-case [a-z0-9-]+; backend auto-generates if absent. A collision returns 409 with a suggestedSlug — the CLI handles re-submission.description: 20–1000 chars (required)designMd: minimum 50 chars (required)moodGroup: optional; one of "Dark & Moody", "Light & Editorial", "Organic & Warm", "Bold & Energetic", "Retro & Cinematic", "Structural & Technical", "Friendly Corporate"tags: array of strings (default [])palette: array of { hex: "#RRGGBB", role?: string }examples: array, minimum 1 entry, exactly one with isHero: trueexamples[].format: slug of an existing graphics format (any from npx gooseworks formats list)examples[].file: relative path to the PNG in the working directorygooseworks-format.json){
"name": "Story Cover",
"slug": "story-cover",
"description": "1080×1920 vertical cover slide for Instagram and TikTok stories. Single hero panel, 5-word title max, optional brand mark in the lower 10%. Use for product launches and event reminders where the viewer scrolls past in 2 seconds.",
"width": 1080,
"height": 1920,
"contentRulesMd": "## Rules\n\n- Title: 5 words max, large display, centered or top-left\n- One hero element (image, stat, or large icon) in the upper 70% of the canvas\n- Optional brand mark in the lower 10%, ≤8% of canvas height\n…",
"tags": ["story", "vertical", "social", "instagram", "tiktok"],
"examples": [
{ "file": "./example-1.png", "styleSlug": "matt-gray", "caption": "Paired with matt-gray" },
{ "file": "./example-2.png", "styleSlug": "neon-dashboard" }
]
}
Field constraints:
name: 1–120 charsslug: optional kebab-casedescription: 20–1000 chars (required)width / height: must match one of the seven built-in canvases: 1080×1080 (carousel/chart/tweet), 1080×1350 (poster), 1920×1080 (slides), 1080×1920 (story), or 1080×≥1080 (infographic). Custom dimensions are rejected at publish time because the renderer's allow-list is strict.contentRulesMd: minimum 50 chars (required)tags: array of stringsexamples: array, minimum 1 entry (required — the backend rejects empty)examples[].styleSlug: optional reference to which style was used to render the exampleThis skill pack ships only the local helpers needed to render and source images — styles, formats, and example renders all come from the central library via npx gooseworks.
| File | Description |
|---|---|
sources/unsplash.md | Search and embed Unsplash stock photography. |
sources/ascii-art.md | Generate and embed ASCII art decorations. |
| File | Description |
|---|---|
extract-style.md | Derive a custom style from a reference image and produce a publishable bundle (gooseworks-style.json + rendered PNGs). |
| File | Description |
|---|---|
screenshot/screenshot.js | Playwright-based HTML-to-PNG export script. |
screenshot/package.json | Node.js dependencies for the screenshot tool. |
评论 (0)
暂无评论,成为第一个评论者吧!