Ads
Cesarjoquin/Marketing-Skills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
The intake stage of a Meta ad harness. An agent skill from gooseworks-ai/goose-skills.
$ npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills ad-management-intake --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/composites/ad-management-intake .claude/skills/ad-management-intake && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ad-management-intake" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intake into .claude/skills/ad-management-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-management-intake", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intakeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills ad-management-intake --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ads/composites/ad-management-intake .agents/skills/ad-management-intake && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ad-management-intake" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intake into .agents/skills/ad-management-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-management-intake", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills ad-management-intake --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ads/composites/ad-management-intake .cursor/skills/ad-management-intake && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ad-management-intake" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intake into .cursor/skills/ad-management-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-management-intake", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gooseworks-ai/goose-skills.git --path skills/ads/composites/ad-management-intake--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills ad-management-intake --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ads/composites/ad-management-intake .gemini/skills/ad-management-intake && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ad-management-intake" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intake into .gemini/skills/ad-management-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-management-intake", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gooseworks-ai/goose-skills ad-management-intakeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ads/composites/ad-management-intake .github/skills/ad-management-intake && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ad-management-intake" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intake into .github/skills/ad-management-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-management-intake", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills ad-management-intake --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ads/composites/ad-management-intake .opencode/skills/ad-management-intake && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ad-management-intake" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/composites/ad-management-intake into .opencode/skills/ad-management-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ad-management-intake", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ad-management-intakeThe intake stage of a Meta ad harness. An agent skill from gooseworks-ai/goose-skills.
Ad Management Intake is an agent skill from gooseworks-ai/goose-skills. The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `agents/openai.yaml`, `references/business-types.md` and `references/gooseworks-adapter.md`).
It sits in Marketing & SEO, covering Legal risk assessment and Paid advertising. It works with Meta Ads. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ad Management Intake loads about 4.4k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 2,490 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 2,490 words, ~4,405 tokens.
.claude/skills/ad-management-intake/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.What this does. Someone says "I want to run ads on Meta." A good agency would not hand them a twenty-field form. It would read their website first, come back with "here's what I think your business looks like", and ask only the few things it cannot know and cannot afford to get wrong. This skill is that conversation.
The one rule. Ask a question only when both are true:
Everything else is an assumption, said out loud: "I'm assuming X, Y and Z. Tell me if any of these are wrong."
Limits. At most 4 questions in one turn. At most 5 in total for a brand whose research covers the business, up to 20 for a brand with little or none. Plain business language throughout. No ad jargon unless the user used it first.
Paths such as references/business-types.md are relative to this skill's own folder, not to
your working directory (in GooseWorks: agent-config/skills/ad-management-intake/). The harness
docs contract ships with the meta-ad-manager skill, installed beside this one: its
contract/RULES.md and contract/templates/.
"The adapter" below means the file for the mode you chose.
ads/ docs.<!-- shared:ad-management-intake start -->
<!-- This block is maintained in ONE place and copied byte-for-byte into both the
maintainers' source copy and the published goose-skills copy. Edit one, copy
it to the other, and run the parity script before shipping either. -->
Read in the contract's order: ads/README.md, then ads/brand.md, then the campaign folder if a
campaign is in play. Anything already recorded is never asked again. If a fact is there and
nothing suggests it changed, use it.
Read the brand research, the catalog and the existing campaigns. If the brand has no research, run the adapter's research step first and come back — research is what makes most questions unnecessary. Notes or documents the user gives you count as research. Do nothing beyond what the adapter's research step says: no broad market study of your own.
One row per fact the harness needs:
| Fact | Value | Source | Wrong-guess cost |
|---|---|---|---|
| e.g. Average order value | ~$40 | research: product prices | money |
A row becomes a question only if its source is unknown or a weak guess and its cost is not none. Every other row becomes an assumption you will state. Rank the questions by how much a wrong answer would cost; if they exceed the budget, the lowest-ranked become written assumptions or "unknown — ask at strategy".
A question whose parts settle one fact counts as one question: the budget's total, its run time and any daily cap are one budget question.
Covers what is true for every campaign: business type and model, unit economics (deal size or order value, margin, what a customer is worth, target cost to win one), how long people take to buy, other channels, what ads may and may not claim, and hard safety limits (such as a maximum daily spend). Plus one familiarity question (see How to talk).
Ask only what the next stage needs now. A fact only a later stage uses (lifetime value before any sales tracking is connected, say) is written as "unknown — ask at strategy", not asked.
Covers what is true for this one push: what the money should produce, what is offered and at what price, who it is for, where people land after tapping, the total budget and how long, what number would make it a good run, and which catalog products it features.
Budget is always a total plus a run time. If the user gives a daily figure, ask how long.
In progressive mode, Section A runs at the start and Section B when the campaign is being set up; in one conversation they usually follow each other directly. In all at once mode, send every remaining question from both sections as one numbered list in one message — the user asked for it, so the 4-per-turn limit (which exists for the question widget) does not apply. The asking rule still does: assumptions stay assumptions.
One message, grouped by topic, in the user's words:
Here's what I'm working from — I'm assuming:
- You sell a self-serve plan at $49 a month, with a 14-day free trial.
- Most customers are small accounting firms in the US.
- People usually decide within a week or two.
Tell me if any of these are wrong.
Never hide an assumption inside a question ("Since you're B2B, what's your ACV?"). Assumptions and questions go in separate, visible places. It is fine to state assumptions in the same turn as the questions, as long as they are clearly separate.
Write every file in the Output section in one pass, following the contract's rules (whole-file
writes, index in step with state.md, decisions.md append-only). Then say in one or two
sentences what happens next — the strategy stage drafts the plan — and hand over.
When the user says an assumption was wrong — during intake or weeks later:
ads/brand.md, this campaign's facts in
the campaign brief. Attribute it: "(per <name>)".Corrected: <fact> saying what changed from what to what.A few facts per type that usually pass the asking rule, and why they move money. These are
examples, not a checklist. Work out the rest from the rule. More detail, including how to
infer each one first, is in references/business-types.md.
| Type | Usually worth asking (when research doesn't say) | Why it changes money |
|---|---|---|
| Software | How long from first look to paying; self-serve sign-up or a sales call; typical yearly deal size | Decides what a lead is worth and what the ads should ask for (trial vs demo) |
| E-commerce | Typical order value; how many visitors buy; how many carts are abandoned; how often people reorder | Decides the affordable cost per sale and whether to chase first orders or repeat buyers |
| App | How many installs turn into payers; revenue per paying user; trial length | Decides what an install is worth — cheap installs that never pay are wasted money |
| Services / other | Derive from the rule | — |
Business type itself is almost always inferable — a Shopify store, an App Store listing and a pricing page with seat tiers say it for you. State it; don't ask it.
Business words only. Talk about their customers, their money, their pages. Campaign objectives, optimization goals, ad sets, pixels, conversion events, placements, bid strategies and every id are your vocabulary, not theirs — the launch skill's "How to talk to the user" table is the translation guide. Never ask the user to choose any of them. If the user front-runs with jargon ("CBO, LPV-optimised"), you may mirror their terms back; never introduce a new one.
The familiarity question — asked once, stored, never repeated:
How much have you run ads on Facebook or Instagram before?
- Never, or only boosted a post
- A few campaigns myself
- I (or my team) run them regularly
These map to novice, intermediate and expert. If the user's own messages make the answer
obvious (they talk fluently about cost per purchase and frequency), state it as an assumption
instead of asking.
Tone by familiarity.
Numbers as choices. A structured question needs 2–4 options, so offer ranges that fit the brand ("Under $30 / $30–60 / $60–120 / More") and let the user type an exact figure. Record a range as a range.
"I don't know" is an answer. Write "unknown — ask at strategy" and move on. Never guess a number the user could not give you.
brand.md already records the
answer. Default until they say otherwise: no named customers, no results, no numbers.All files follow the harness docs contract, which ships with the meta-ad-manager skill
(contract/RULES.md and contract/templates/ in that skill's folder). Drop the templates'
guidance comments when writing. The adapter says where the files and the campaign brief live.
| Where | What this skill writes |
|---|---|
ads/brand.md | Frontmatter brand_id, business_type, familiarity, updated_at. Every section of the template. Label every fact with where it came from (see Labelling facts below). Claims rules default to "No named customers, no results claims, no numbers unless the user approves one here." |
| The campaign brief (where the adapter keeps it) | The goal (derived objective), what the campaign is about, the audience, the offer including its price point, featured catalog product ids and constraints. Money and dates go in the brief's own budget and date fields (the adapter says which), never only in prose. The brief text gets a ## Destination section (the landing page) and a ## Success number section. Products referenced by id, never re-described. |
ads/campaigns/<slug>/state.md | Created if missing: stage: intake, ids none/[], updated_by: ad-management-intake, each section "None." |
ads/campaigns/<slug>/strategy.md | Created if missing, as a version 1 stub: product_ids from the brief, based_on: intake <date>, Goal and Audience filled from intake, every other section "Not decided yet — the strategy stage sets this." If it already exists, leave it alone. |
ads/campaigns/<slug>/decisions.md | One entry per intake run (below), plus one per correction. Append only. |
ads/README.md | Created if missing. The campaign's row: stage intake, last action "Intake: N asked, M assumed", next action "Strategy drafts the plan". |
Labelling facts. Every fact in brand.md and the brief says where it came from, so the next
stage knows what it can lean on:
| The fact is… | Write it as |
|---|---|
| Said by the user | "$1,500 over 3 weeks (per Dana)". Use the user's name if you know it, else "per the owner" |
| Written by the user in notes or a document they gave you | "(per Dana, brand notes)" |
| From research, and the user saw it stated and did not object | "(from research: pricing page, confirmed by Dana)" |
| Your own inference the user has not seen or confirmed | "(assumed from <source> — not confirmed)" |
| Chosen by you because the user said "you decide" | "(our call — confirm at strategy)" |
| Not known | "unknown — ask at strategy" |
Once a fact is confirmed, drop the word "assumed". A confirmed fact labelled as an assumption makes the next stage re-ask it.
The campaign slug is a short kebab-case name from the campaign's own name ("fall trial push"
→ fall-trial-push). If the harness orchestrator already created the folder, use it.
The intake entry — one line per field, so the contract's validator can read it:
### 2026-09-24 — Intake
- Recommended: Proceed on 8 stated assumptions and 4 answers
- Evidence: intake 2026-09-24; asked: total budget and run time, deal size, claims, familiarity; assumed: business type software (research), buyers are small accounting firms (research), decision in 1-2 weeks (research), …
- Decided: Dana answered 4 questions and confirmed the assumptions
- Outcome: brand.md and the campaign brief writtenA correction entry:
### 2026-09-30 — Corrected: main paid plan
- Recommended: Update the main paid plan from assumed monthly ($9.99) to annual ($39.99)
- Evidence: user request
- Decided: Dana corrected it
- Outcome: brand.md Business model and Unit economics updated<!-- shared:ad-management-intake end -->
ads/ passes the contract validator; decisions.md only grew.brand.md or the brief.| Symptom | Cause | Fix |
|---|---|---|
| The user gets a form of 12 questions | Every missing fact was treated as a question | Apply both halves of the rule; rank by cost; turn the rest into stated assumptions |
| "Is this B2B or B2C?" to a brand with a Shopify store | Asked what research answers | Read research first (Step 1); business type is almost always inferable |
| The user is asked to pick "conversions vs traffic" | Leaked a Meta setting into intake | Ask what the money should produce; derive the objective |
| An assumed price ends up in the ad plan unconfirmed | The assumption was written but never stated | Step 5 before Step 6, every time |
| "What's your LTV?" to someone who has no idea | Asked a later-stage fact too early | Write "unknown — ask at strategy" |
| A correction re-runs the whole intake | Treated a correction as a restart | Update the one fact, log it, confirm in a sentence |
validate.py fails on a new campaign folder | Only state.md and decisions.md were written | The contract needs all three files; write the strategy.md stub |
| The same question is asked on a second visit | Skipped Step 0 | Read the index, brand.md and the campaign folder before anything else |
© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in skills/ads/composites/ad-management-intake of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
Ad Management Intake next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ad Management Intake this skillgooseworks-ai/goose-skills | 1.2k | — | ~4.4k | Automated safety check: Pass | MIT | |
| AdsCesarjoquin/Marketing-Skills | 202 | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Adscoreyhaines31/marketingskills | 54k | 1 repos | ~7k | Automated safety check: Pass | MIT | |
| Money Adsiamzifei/show-me-the-money | 1k | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Meta Ad Builderkrusemediallc/arcads-claude-code | 1.6k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Meta Pixel and Conversions API Referencebighadj22/codflow | 354 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 |
Cesarjoquin/Marketing-Skills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
coreyhaines31/marketingskills
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
iamzifei/show-me-the-money
Paid advertising automation for Google Ads, Meta Ads, and other ad platforms.
krusemediallc/arcads-claude-code
Publish finished creatives as live Meta (Facebook/Instagram) ads via the Meta Marketing API, plus research and ad-copy support.
bighadj22/codflow
Bundles Meta's official Pixel and Conversions API documentation so tracking changes, event deduplication and conversion events are checked against the real spec.
DV0x/creative-ad-agent
Generates conversion-focused ad copy through research-first extraction.
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.
gooseworks-ai/goose-skills
Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
gooseworks-ai/goose-skills
Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…
Works with
Categories
The intake stage of a Meta ad harness. An agent skill from gooseworks-ai/goose-skills. Ad Management Intake is an agent skill from gooseworks-ai/goose-skills. The intake stage of a Meta ad harness.
Ad Management Intake fits situations like: someone wants to run Meta ads and the brands ad facts are not yet recorded; tasks that involve Legal risk assessment; tasks that involve Paid advertising.
Run `npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a claude-code`. Or copy the skill folder (skills/ads/composites/ad-management-intake in gooseworks-ai/goose-skills) into .claude/skills/ad-management-intake in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a codex`. Or copy the skill folder (skills/ads/composites/ad-management-intake in gooseworks-ai/goose-skills) into .agents/skills/ad-management-intake in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill ad-management-intake -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ad-management-intake, .gemini/skills/ad-management-intake, .github/skills/ad-management-intake and .opencode/skills/ad-management-intake in your project.
SKILL.md names no scripts, command-line tools or credentials: Ad Management Intake is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Ad Management Intake is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ad Management Intake: Ads (Cesarjoquin/Marketing-Skills, 202 stars), Ads (coreyhaines31/marketingskills, 54k stars), Money Ads (iamzifei/show-me-the-money, 1k stars) and Meta Ad Builder (krusemediallc/arcads-claude-code, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.
Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.