search-term-miner is a skill in aaron-he-zhu/aaron-marketing-skills, last changed 28 Oct 2026. It can name web addresses.
Use when the user asks to "mine my search terms", "find new keywords from converting queries", "build a negative-keyword list", or "cut wasted paid spend"; harvests converting queries into new keywords/ad-groups, builds a standing negative-keyword list and an n-gram waste report from the search-terms export, and delivers a maintenance diff (add / negate / move). Not for account structure — use campaign-architect; not for budget split — use budget-optimizer; not for computing the final RQS — use ad-account-auditor. 付费广告搜索词挖掘/否定关键词/浪费词清单
At a glance
Pattern check
Nothing flagged
That isn't proof the skill is harmless.
Commit a59327c · 3 Nov 2026
How the check worksPattern check: nothing flagged
That isn't proof the skill is harmless.
Install
Each tab says whether it installs commit a59327c, the one we checked, or the latest version.
OpenCode also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Goose also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Windsurf (Devin Desktop) also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Zed also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Roo Code also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Factory Droid also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Junie also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
Amp also looks in .agents/skills/ and ~/.agents/skills/, so use the Any agent steps.
No install command here reaches Kiro. Copy the skill's folder into .kiro/skills/ in your project, or ~/.kiro/skills/ for all your projects. aaron-he-zhu/aaron-marketing-skills/ad/research/search-term-miner (opens in a new tab)
Antigravity also looks in .agents/skills/, so the Any agent steps reach it with This project. For All projects, see where Antigravity looks.
Cline also looks in .claude/skills/, so the Claude Code steps reach it with This project. For All projects, see where Cline looks.
Claude Code
Pinned to commit a59327c, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&mkdir -p .claude/skills &&mkdir .claude/skills/search-term-miner &&cp -R "$tmp"/ad/research/search-term-miner/. .claude/skills/search-term-miner/ &&rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Claude apps
Pinned to commit a59327c, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make search-term-miner.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&out="$(mktemp -d)" &&cp -R "$tmp"/ad/research/search-term-miner "$out"/search-term-miner &&(cd "$out" && zip -qr - search-term-miner) > search-term-miner.zip &&rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose search-term-miner.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Codex
Pinned to commit a59327c, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&mkdir -p .agents/skills &&mkdir .agents/skills/search-term-miner &&cp -R "$tmp"/ad/research/search-term-miner/. .agents/skills/search-term-miner/ &&rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Cursor
Pinned to commit a59327c, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&mkdir -p .cursor/skills &&mkdir .cursor/skills/search-term-miner &&cp -R "$tmp"/ad/research/search-term-miner/. .cursor/skills/search-term-miner/ &&rm -rf "$tmp"Copilot & VS Code
Pinned to commit a59327c, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&mkdir -p .github/skills &&mkdir .github/skills/search-term-miner &&cp -R "$tmp"/ad/research/search-term-miner/. .github/skills/search-term-miner/ &&rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install aaron-he-zhu/aaron-marketing-skills ad/research/search-term-miner/SKILL.md@a59327cccb3b0925545bd9a6ab066ca3e9da675c --agent github-copilot --scope projectGemini CLI
Pinned to commit a59327c, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&mkdir -p .gemini/skills &&mkdir .gemini/skills/search-term-miner &&cp -R "$tmp"/ad/research/search-term-miner/. .gemini/skills/search-term-miner/ &&rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/aaron-he-zhu/aaron-marketing-skills.git --path ad/research/search-term-miner --scope workspaceAny agent
Pinned to commit a59327c, the one we checked.
OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity read .agents/skills in a project.
From your project's root folder:
tmp="$(mktemp -d)" &&git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/aaron-he-zhu/aaron-marketing-skills.git "$tmp" &&git -C "$tmp" fetch -q --depth 1 origin a59327cccb3b0925545bd9a6ab066ca3e9da675c &&git -C "$tmp" sparse-checkout set -- ad/research/search-term-miner &&git -C "$tmp" checkout -q a59327cccb3b0925545bd9a6ab066ca3e9da675c &&mkdir -p .agents/skills &&mkdir .agents/skills/search-term-miner &&cp -R "$tmp"/ad/research/search-term-miner/. .agents/skills/search-term-miner/ &&rm -rf "$tmp"Or use the skills CLI from skills.sh. Installs the latest version, not the one we checked. The skills CLI reports installs to skills.sh unless you set DISABLE_TELEMETRY=1.
npx skills@1.7.4 add aaron-he-zhu/aaron-marketing-skills --skill search-term-minerWhat it can touch
From the files and frontmatter at commit a59327c. This is how much a skill can do, not whether it is risky.
Pattern check
Pattern check: nothing flagged · commit a59327c · 3 Nov 2026
We checked every text file in this skill, at commit a59327c on 3 Nov 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
How the check worksReport an incorrect finding
Outside links we did not follow
- https://github.com/aaron-he-zhu/aaron-marketing-skills
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specPasses with warnings
The open format from agentskills.io, held to the strictest version of each rule among the agents we check.
- Warning
The frontmatter uses [ ] or { } values. Most agents accept them, but the spec's validator (skills-ref) rejects the file. F4
Fix: Write lists as "- item" lines and maps as indented key: value lines, without anchors or tags.
- Warning
Fields outside the spec: slug, displayName, summary, version, homepage, when_to_use (read by Claude Code) and argument-hint (read by Claude Code and VS Code). Uploads to the Claude apps and API, and the spec's validator, reject the file; most agents ignore these fields. O1
Fix: Delete them for a portable skill, or keep them if you only target the agents that read them.
- Warning
metadata values should be text; hermes (a map) and openclaw (a map) are not. The spec's validator turns them into text; other readers may not. O4
Fix: Quote each value, for example version: "1.0".
- Warning
Paths that may not work once the skill is installed: line 38: ../campaign-architect/SKILL.md (outside the skill folder), line 42: ../../activate/ad-account-auditor/SKILL.md (outside the skill folder), line 46: ../../../references/skill-contract.md (outside the skill folder), line 50: ../../../CONNECTORS.md (outside the skill folder), line 54: ../../../SECURITY.md (outside the skill folder) and 14 more. B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The first sentence of the description is 364 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Warning
Claude CodePasses with warnings
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Warning
Paths that may not work once the skill is installed: line 38: ../campaign-architect/SKILL.md (outside the skill folder), line 42: ../../activate/ad-account-auditor/SKILL.md (outside the skill folder), line 46: ../../../references/skill-contract.md (outside the skill folder), line 50: ../../../CONNECTORS.md (outside the skill folder), line 54: ../../../SECURITY.md (outside the skill folder) and 14 more. B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The first sentence of the description is 364 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Note
Claude Code ignores fields it doesn't know: slug, displayName, summary, version and homepage. O1
Fix: Check the spelling against Claude Code's field list, or delete them.
- Warning
Claude apps & API uploadFails
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Error
Upload and packaging fail on fields outside the spec: slug, displayName, summary, version, homepage, when_to_use and argument-hint. O1
Fix: Delete them, and keep your own data under metadata as text values.
- Warning
Paths that may not work once the skill is installed: line 38: ../campaign-architect/SKILL.md (outside the skill folder), line 42: ../../activate/ad-account-auditor/SKILL.md (outside the skill folder), line 46: ../../../references/skill-contract.md (outside the skill folder), line 50: ../../../CONNECTORS.md (outside the skill folder), line 54: ../../../SECURITY.md (outside the skill folder) and 14 more. B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The description is 541 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4
Fix: If the claude.ai upload refuses it, trim the description to 200 characters.
- Note
metadata values should be text; hermes (a map) and openclaw (a map) are not. The spec defines metadata as text to text. O4
Fix: Quote each value, for example version: "1.0".
- Error
OpenAI (Codex & API)Passes with warnings
Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.
- Warning
Fields outside the spec: slug, displayName, summary, version, homepage, when_to_use and argument-hint. Codex ignores them; OpenAI doesn't say whether its upload accepts them. O1
Fix: Delete them, or move your own data under metadata as text values.
- Warning
metadata values should be text; hermes (a map) and openclaw (a map) are not. OpenAI's upload follows the spec's text-to-text rule. O4
Fix: Quote each value, for example version: "1.0".
- Warning
Paths that may not work once the skill is installed: line 38: ../campaign-architect/SKILL.md (outside the skill folder), line 42: ../../activate/ad-account-auditor/SKILL.md (outside the skill folder), line 46: ../../../references/skill-contract.md (outside the skill folder), line 50: ../../../CONNECTORS.md (outside the skill folder), line 54: ../../../SECURITY.md (outside the skill folder) and 14 more. B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
The first sentence of the description is 364 characters. Agents shorten long descriptions, so lead with the main job. D8
Fix: Start with one short sentence that names the job.
- Warning
VS Code & CopilotPasses with warnings
VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.
- Warning
Paths that may not work once the skill is installed: line 38: ../campaign-architect/SKILL.md (outside the skill folder), line 42: ../../activate/ad-account-auditor/SKILL.md (outside the skill folder), line 46: ../../../references/skill-contract.md (outside the skill folder), line 50: ../../../CONNECTORS.md (outside the skill folder), line 54: ../../../SECURITY.md (outside the skill folder) and 14 more. B6
Fix: Use forward-slash paths relative to SKILL.md, and copy shared files into the skill.
- Note
VS Code ignores fields it doesn't support: slug, displayName, summary, version, homepage and when_to_use. O1
Fix: Delete them unless another agent you target reads them.
- Warning
SKILL.md
Files
1 file
| Path | Size |
|---|---|
| SKILL.md (opens in a new tab) | 8.5 KB |
More from aaron-he-zhu/aaron-marketing-skills
Other Writing & content skills
Same category, most repo stars first.
| Skill | What it can touch | Pattern check | Licence | Updated |
|---|---|---|---|---|
architecture-decision-recordsCapture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README. Use when the user says 'record this decision' or 'ADR this', chooses between frameworks or databases, discusses trade-offs, or asks why the codebase is shaped this way. affaan-m/ECC
Pattern check: Nothing flaggedMITUpdated 27 Sept 2026 |
| Pattern check: Nothing flagged | MIT | 27 Sept 2026 |
article-writingWrite articles, guides, blog posts, tutorials, newsletter issues, and other long-form content in a distinctive voice derived from supplied examples or brand guidance. Use when the user wants polished written content longer than a paragraph, especially when voice consistency, structure, and credibility matter. affaan-m/ECC
Pattern check: Nothing flaggedMITUpdated 11 Jun 2026 |
| Pattern check: Nothing flagged | MIT | 11 Jun 2026 |
| Pattern check: Nothing flagged | Apache 2.0 | 18 Aug 2026 | |
| Pattern check: Nothing flagged | Apache 2.0 | 17 Aug 2026 | |
document-generateGenerate missing documentation from scratch for a feature, module, or entire project. (gstack) garrytan/gstack
Pattern check: 1 item to reviewMITUpdated 2 Nov 2026 |
| Pattern check: 1 item to review | MIT | 2 Nov 2026 |
document-releaseRelease documentation audit. (gstack) garrytan/gstack
Pattern check: 1 item to reviewMITUpdated 2 Nov 2026 |
| Pattern check: 1 item to review | MIT | 2 Nov 2026 |