CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

keyword-research

Finds low-competition, high-intent keywords using Google Keyword Planner and adds them to campaigns. Use when asked to find keywords, expand campaigns, or improve PPC targeting.

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/keyword-research/SKILL.md
SKILL.md
Quality
Evals
Security

Keyword Research Skill

Discovers low-competition, high-intent keywords for your campaigns using Google Ads Keyword Planner, then adds them to the appropriate ad groups.

Capabilities

  1. Find keyword opportunities - Query Google Keyword Planner with seed keywords
  2. Score & filter keywords - Identify low-competition, high-value opportunities
  3. Add to campaigns - Automatically add keywords to relevant ad groups
  4. Competitive analysis - Analyze competitor domains for keyword gaps

Workflow

Step 1: Research Keywords

Run scripts/research-keywords.py with seed keywords:

python3 scripts/research-keywords.py \
  --seeds "ppc management,google ads automation,facebook ads management" \
  --max-competition 50 \
  --min-volume 100 \
  --max-cpc 25

This outputs a ranked list of keyword opportunities.

Step 2: Add Keywords to Campaigns

Run scripts/add-keywords.py to add keywords:

python3 scripts/add-keywords.py \
  --keywords "ppc management tools,marketing automation for agencies" \
  --ad-group "Your Campaign - Ad Group 1" \
  --match-type PHRASE

Step 3: Create Keyword Report

Run scripts/keyword-report.py to see all keywords across campaigns:

python3 scripts/keyword-report.py

Filtering Criteria

Default filters for finding opportunities:

CriteriaDefaultDescription
Competition Index< 50%Low competition keywords
Search Volume> 100Enough traffic to be worthwhile
CPC Range$1-25Valuable but not prohibitively expensive

Keyword Categories

When adding keywords, map them to appropriate ad groups:

CategoryTarget Ad Groups
PPC ToolsJTBD - PPC Audit, JTBD - Budget Optimizer
AutomationJTBD - Creative Generator, ProductHunt
AgencyJTBD - Website Analysis, Trial Campaign
Cross-ChannelProductHunt, Trial Campaign
CompetitorsJTBD - Optmyzr Alternative

Match Types

  • PHRASE (default): Best for new keywords, balances reach and relevance
  • EXACT: Use for high-volume, proven keywords
  • BROAD: Use sparingly, only for discovery with Smart Bidding

Best Practices

  1. Research first - Always run keyword research before adding
  2. Group by intent - Add keywords to ad groups with matching intent
  3. Start with PHRASE - Upgrade to EXACT after seeing performance
  4. Monitor quality score - New keywords should get 6+ quality score
  5. Check for conflicts - Don't add keywords that match negative keyword lists

Environment Requirements

Requires environment variables:

  • DATABASE_URL
  • GOOGLE_ADS_DEVELOPER_TOKEN

Account IDs

  • MCC Login Customer ID: 7431593382

About this skill

Part of the Synter free skills collection — open-source agent skills for advertising, PPC, and marketing automation.

Want this skill (and 40+ more) running on autopilot against your live ad accounts? Try Synter — AI Agent Media Buyers that connect to Google, Meta, LinkedIn, TikTok, Reddit, Amazon, and 7+ more platforms.

Repository

Synter-Media-AI/free-skills

Path

skills/keyword-research/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.