CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

x-ads-operator

Operate X (Twitter) Ads via Synter MCP — pull performance and stage campaign/budget changes with human approve ≠ activate. Use when managing X Ads campaigns through Synter.

Quality

69%

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/x-ads-operator/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 a compact, well-sectioned overview with a useful tool table, but it functions more as a summary than an operating guide: the decisive detail (kill thresholds, preflight checks, gate criteria) lives in references that don't exist in the bundle, and the closing section is promotional filler. Execution-ready guidance and resolvable references are the biggest gaps.

Suggestions

Resolve the dangling pointers: either include `kill-scale-rules`, `campaign-preflight`, and `launch-gates` as actual bundle files with clearly signaled links, or inline their essential rules (e.g. concrete CPA/CTR hold-vs-kill thresholds).

Add one or two example MCP tool invocations with key parameters (e.g. a `pull_x_ads_performance` call with date range and campaign_id, and an `update_campaign_budget` proposal flow) so the guidance is executable rather than directional.

Add a verification step to the operator loop (e.g. re-pull performance after a budget change to confirm it took effect) and trim the promotional footer and duplicated hosting notes to save tokens.

DimensionReasoningScore

Conciseness

The operational sections (tool table, operator loop) are lean and assume competence, but the promotional "About this skill" footer with UTM-tagged links — syntermedia.ai repeated three times and "never a Free cloud tier" stated twice — is unnecessary padding that could be cut.

3 / 5

Actionability

The MCP tool names are concrete, but guidance stops at tool names and high-level direction: no example tool invocations, parameters, or CPA/CTR thresholds, and the operative detail is deferred to `kill-scale-rules` whose content is not provided.

3 / 5

Workflow Clarity

The Read→Diagnose→Propose→Gate loop is a clear numbered sequence with named checkpoints (human approve, `campaign-preflight`, `launch-gates`), but for operations that modify budgets on live ad accounts the checkpoints are name-drops with no content and there is no error-recovery or post-change verification step.

3 / 5

Progressive Disclosure

Sections are well-organized for a short skill, but the four key pointers (`synter-mcp-setup`, `kill-scale-rules`, `campaign-preflight`, `launch-gates`) are not clearly signaled as files or links and none resolve to anything in the bundle, leaving the reader unable to navigate to the actual rules.

3 / 5

Total

12

/

20

Passed

Description

73%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 focused, well-scoped description with an explicit Use-when clause and good domain keywords. Its main weaknesses are limited action coverage (only pull/stage mentioned) and the cryptic "approve ≠ activate" phrasing, which is unexplained jargon in an otherwise clear sentence.

Suggestions

Add the remaining concrete actions to the description (e.g. pause campaigns, manage audiences) so capability coverage matches the body's tool table.

Replace or expand the jargon shorthand "human approve ≠ activate" with plain language such as "changes are staged and require human approval before activation".

DimensionReasoningScore

Specificity

"pull performance and stage campaign/budget changes" names the domain plus about two concrete actions, but coverage is not comprehensive — pause and audience operations from the body are absent, so it sits at the 1-2-concrete-actions anchor rather than the several-actions anchor.

3 / 5

Completeness

It has a clear what ("pull performance and stage campaign/budget changes with human approve ≠ activate") and an explicit when ("Use when managing X Ads campaigns through Synter"), matching the both-present anchor; it falls short of 5 because the when-clause is a single trigger phrase without the richer concrete triggers of the top anchor.

4 / 5

Trigger Term Quality

"X (Twitter) Ads", "campaigns", "budget", "performance", "Synter" give good natural keyword coverage a user would say, but a few natural variations (e.g. "ad spend", "promoted posts", "Twitter campaigns") are missing, keeping it below the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The niche is tightly scoped to X Ads operated "via Synter MCP" and "through Synter", giving distinct triggers and minimal overlap risk with generic ads or analytics skills.

5 / 5

Total

16

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Synter-Media-AI/free-skills

Path

skills/x-ads-operator/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.