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

Quality

Content

50%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well structured with concrete, fully-flagged commands and useful reference tables, but it is undermined by referencing scripts that do not exist in the bundle, a batch-modification workflow with no validation checkpoints, and a promotional footer that wastes tokens. These issues leave it at the midpoint across all content dimensions.

Suggestions

Ship the referenced scripts (scripts/research-keywords.py, scripts/add-keywords.py, scripts/keyword-report.py) in the bundle, or remove the references and describe the underlying API calls directly in SKILL.md.

Add validation checkpoints to the workflow: before adding, check candidates against negative keyword lists; after running add-keywords.py, verify the additions landed in the intended ad groups before proceeding to the report step.

Remove the promotional 'About this skill' footer (Synter links, UTM tags, social links) — it spends ~10 lines of context on marketing content that contributes nothing to task execution.

DimensionReasoningScore

Conciseness

Core instructional sections are tight (command blocks, filter table, category table), but the promotional "About this skill" footer — "Want this skill (and 40+ more) running on autopilot against your live ad accounts? Try Synter" with UTM-tagged marketing links — spends roughly ten lines on non-instructional content. This is more than the minor trimming an anchor-4 score allows, though the rest is too efficient to fall to 2.

3 / 5

Actionability

Commands are concrete and fully parameterized ("python3 scripts/research-keywords.py --seeds ... --max-competition 50 --min-volume 100 --max-cpc 25") with realistic example values, but all three referenced scripts (research-keywords.py, add-keywords.py, keyword-report.py) are absent from the bundle, so nothing is actually executable. Missing the entire scripts directory is a key detail rather than a minor gap, which rules out 4.

3 / 5

Workflow Clarity

The three steps (research → add → report) are clearly sequenced with headers and commands, but adding keywords to live ad groups is a batch operation and the workflow has no validation checkpoint — the negative-keyword conflict check appears only as a best-practices bullet, not as a step, and there is no post-add verification. The batch-operation cap of 3 applies, so the clear sequence cannot lift it to 4.

3 / 5

Progressive Disclosure

Sections are well organized and script references are clearly signaled within the workflow steps, but every referenced bundle path (scripts/*.py) is a dangling reference — no scripts/ directory exists. The claimed bundle structure is broken, which blocks the anchor-4 'references mostly clear' placement despite good in-file organization.

3 / 5

Total

12

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person, names the tool and two concrete actions, and provides an explicit 'Use when' clause with natural trigger phrases. The only notable gap is modest coverage of the skill's full capability set and a few missing keyword synonyms.

DimensionReasoningScore

Specificity

Names two concrete actions — "Finds low-competition, high-intent keywords using Google Keyword Planner" and "adds them to campaigns" — which matches the 1-2 concrete actions anchor exactly. It is not 4 because coverage gaps are more than minor: capabilities the skill actually has (competitive analysis, keyword reporting, filtering criteria) are omitted.

3 / 5

Completeness

Explicitly answers both: what — "Finds low-competition, high-intent keywords using Google Keyword Planner and adds them to campaigns" — and when — "Use when asked to find keywords, expand campaigns, or improve PPC targeting" with concrete trigger phrases. This mirrors the anchor-5 example pattern and uses third-person voice as required.

5 / 5

Trigger Term Quality

Includes natural user phrases "find keywords", "expand campaigns", and "improve PPC targeting" alongside domain terms "Google Keyword Planner" and "PPC". It is not 5 because common variations like "keyword research", "Google Ads keywords", "search terms", or "ad groups" are missing.

4 / 5

Distinctiveness Conflict Risk

The PPC/Google Ads keyword niche with distinct triggers ("PPC targeting", "Google Keyword Planner") is mostly distinct from unrelated skills. It is not 5 because "expand campaigns" and "campaigns" could overlap with general campaign-management or bidding-optimization skills.

4 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 6 missing

Warning

Total

15

/

16

Passed

Repository

Synter-Media-AI/free-skills

Path

skills/keyword-research/SKILL.md

Reviewed

Table of Contents

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.