CtrlK
BlogDocsLog inGet started
Tessl Logo

google-search-ads-builder

End-to-end Google Search Ads campaign builder. Performs deep keyword research (competitor SEO, review language mining, Reddit/HN community terminology, site audit), builds keyword architecture with funnel mapping and intent classification, creates ad group structure, generates headline/description variants, builds negative keyword lists, recommends bid strategy, and exports a campaign-ready CSV for Google Ads Editor import.

60

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/composites/google-search-ads-builder/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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.

An impressively actionable, well-sequenced campaign-building workflow with concrete search templates, API calls, and output specs throughout. Its weaknesses are length-driven: duplicated trigger sections and explanatory asides hurt conciseness, and the entire skill is inlined in one long SKILL.md with no reference files for the large templates.

Suggestions

Move the Phase 7A strategy-doc template and the ad copy frameworks into reference files (e.g., references/output-template.md, references/ad-copy.md) and link to them from the body.

Merge the duplicate 'When to Use' and 'Trigger Phrases' sections into a single list.

Add mid-workflow validation checkpoints, e.g., verify scraped keyword data has buying intent before architecture, and validate the generated CSV rows against the required column format before saving.

DimensionReasoningScore

Conciseness

Mostly efficient table-driven instruction, but there is real padding: rationale prose ('The exact language buyers use matters more than what marketers think they search', the 'Core principle' paragraph) and two near-duplicate trigger lists — 'When to Use' and 'Trigger Phrases' repeat largely the same phrases. Fits anchor 3 ('could be tightened') rather than 4, since the duplication and explanatory asides go beyond minor.

3 / 5

Actionability

Guidance is copy-paste ready throughout: exact search query templates ('site:<competitor_domain> [product category keywords]'), exact HN Algolia endpoints, the full Apify request/poll/dataset flow with output field names, character limits (15 headlines max 30 chars, 4 descriptions max 90 chars), a headline slot framework, and concrete output filenames. Minor gaps (CSV header without a sample row, no poll cadence) keep it from being penalized — this matches anchor 5's 'specific examples cover the common cases'.

5 / 5

Workflow Clarity

Phases 0–7 are clearly sequenced (intake → research → architecture → structure → copy → negatives → bids → output) and a launch checklist provides an end-of-process checkpoint. However, validation is end-loaded: no mid-workflow checkpoints or feedback loops (e.g., verifying scraped data quality, handling a failed Apify run, validating the CSV before writing it). Anchor 4 ('most checkpoints present, minor validation gaps'), not 5.

4 / 5

Progressive Disclosure

The body has good header-based navigation (## Phase, ### subsections), but it is a ~460-line monolith with no bundle files at all — content that would fit naturally in references (the ~70-line strategy-doc output template, the ad copy frameworks, research-phase detail) is fully inlined. Anchor 3 ('content that should be separate is inline'), not 4 (no content is split out), not 2 (structure and navigation are present and clear).

3 / 5

Total

15

/

20

Passed

Description

71%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 highly specific, comprehensive 'what' in proper third-person voice, covering the full pipeline from research to CSV export. The main weakness is the complete absence of 'when to use' trigger guidance, which caps completeness and slightly limits trigger-term quality since user-facing synonyms (PPC, paid search) are missing.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when the user asks to set up Google Search Ads, build a PPC campaign, or do keyword research for paid search.'

Include common user synonyms such as 'PPC', 'paid search', and 'ad copy' to improve trigger-term coverage.

Clarify scope boundaries (paid search only, not SEO) to reduce overlap with generic keyword-research skills.

DimensionReasoningScore

Specificity

The description lists many concrete actions — 'Performs deep keyword research (competitor SEO, review language mining, Reddit/HN community terminology, site audit), builds keyword architecture with funnel mapping and intent classification, creates ad group structure, generates headline/description variants, builds negative keyword lists, recommends bid strategy, and exports a campaign-ready CSV' — comprehensive coverage in third-person voice, matching the anchor 5 example's breadth.

5 / 5

Completeness

The 'what' is explicit and detailed, but there is no 'Use when...' clause or any equivalent explicit trigger guidance in the description. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3 — it is not 2 because the 'what' is clearly and comprehensively stated.

3 / 5

Trigger Term Quality

Good natural keyword coverage ('Google Search Ads', 'campaign builder', 'keyword research', 'Google Ads Editor'), but common user phrasings like 'PPC', 'paid search', and 'ad copy' are absent. Fits anchor 4 ('good coverage, a few natural terms missing') rather than 5, which requires synonyms and variations.

4 / 5

Distinctiveness Conflict Risk

The Google Search Ads / Ads Editor niche is distinct, but prominent phrases like 'keyword research' create minor overlap risk with general SEO or content-marketing skills that could trigger on pure keyword-research requests. Mostly distinct with minor overlap — anchor 4, not 5.

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
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.