CtrlK
BlogDocsLog inGet started
Tessl Logo

google-ads

Google Ads integration. Manage Campaigns, Accounts, Users, Budgets, Reports. Use when the user wants to interact with Google Ads data.

58

Quality

67%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

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

Quality

Content

68%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 highly actionable with executable commands and a well-structured connection workflow, but it opens with unnecessary background on what Google Ads is and lacks validation/verification steps for the destructive actions it exposes.

Suggestions

Remove or drastically shorten the opening paragraph explaining what Google Ads is — Claude already knows this.

Add an explicit validation/verification step before destructive operations (e.g., 'Before remove-campaign, confirm the campaign id with the user and verify removal with a subsequent get-customer or search call').

DimensionReasoningScore

Conciseness

Most of the body is efficient CLI commands and tables, but the opening paragraph explains what Google Ads is ('an online advertising platform developed by Google where advertisers bid to display brief advertisements...') — a concept Claude already knows — which is unnecessary padding that keeps it at anchor 3 rather than 4.

3 / 5

Actionability

The body is densely packed with copy-paste-ready, executable commands (npm install, membrane login, connection ensure, action run, request) plus a concrete popular-actions table with keys and a proxy flag reference, matching anchor 5 (fully executable, copy-paste ready, covers common cases).

5 / 5

Workflow Clarity

The connection setup has a clear state-machine sequence with feedback (READY/BUILDING/CLIENT_ACTION_REQUIRED polling), but the skill exposes destructive operations like 'remove-campaign' with no validation or verification checkpoint, so per the destructive-operations cap it cannot exceed anchor 3.

3 / 5

Progressive Disclosure

The content is well-organized into clearly headed sections (Install, Authentication, Connecting, Searching, Popular actions, Running, Proxy, Best practices) with no nested references and everything appropriately inline for a single-file skill; it is just over the 50-line simple-skill threshold, so it lands at anchor 4 rather than 5.

4 / 5

Total

15

/

20

Passed

Description

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

The description clearly identifies a distinct niche and provides an explicit 'Use when' trigger, but it relies on a single generic verb ('Manage') over named resources and offers only one broad trigger phrase rather than rich natural-language variations.

Suggestions

Replace the generic 'Manage' with specific concrete verbs (e.g., 'Create, update, and remove campaigns, ad groups, and budgets; upload offline conversions; run GAQL queries').

Expand the 'Use when' clause with concrete trigger phrases and synonyms users actually say (e.g., 'Use when the user wants to manage Google Ads campaigns, ad groups, budgets, or reports, or mentions AdWords, PPC, or ad spend').

DimensionReasoningScore

Specificity

Names the domain plus several concrete resources ('Campaigns, Accounts, Users, Budgets, Reports'), but the only action verb is the generic 'Manage', so it lists named objects rather than specific concrete actions — fitting anchor 3 better than 4.

3 / 5

Completeness

It has a clear 'what' ('Manage Campaigns, Accounts, Users, Budgets, Reports') and an explicit 'when' ('Use when the user wants to interact with Google Ads data'), but the trigger is a single broad clause rather than multiple concrete trigger phrases, so it sits at anchor 4 rather than 5.

4 / 5

Trigger Term Quality

The natural trigger is essentially just 'Google Ads' / 'Google Ads data'; common variations a user might say ('AdWords', 'ad campaigns', 'PPC', 'ad spend') are absent, matching anchor 3 (some relevant keywords but missing variations/synonyms).

3 / 5

Distinctiveness Conflict Risk

'Google Ads integration' is a clearly named, distinct product niche with minimal overlap risk against other skills, matching anchor 5 (clear niche with distinct triggers; minimal conflict risk).

5 / 5

Total

15

/

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.

Validation15 / 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
membranedev/application-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.